CPTの "XX Year in the Industry"テキストを表示しようとしています。アイデアは、顧客がカスタムフィールドで開始した職員の年を入力し、自動計算で現在の年の#を減算して表示することです。PHPの日付計算を短いコードで表示する
基本的な数学は次のとおりです。現在の年 - 入社開始年=表示年
これはほとんど働いている...しかし、計算は発生しません。ショートコードは機能しますが、計算は行いません。フィルターがないのですか?私はたぶん2つの関数を必要とするのでしょうか?ショートコードとcalcの2つの関数ですか?
function YearsIndustry_shortcode($metadata, $object_id, $meta_key, $single) {
$start_year = get_post_meta($post_id, 'ptb_start_year');
$current_year = new DateTime("now");
$displayed_year = date_diff($current_year, $start_year)->y;
$Years = $displayed_year. 'Years in Industry';
return $Years;
}
add_shortcode('YII', 'YearsIndustry_shortcode');
なぜ単純なマイナスを推奨しませんか?残念ながらそれは動作します;) – jzvestor
@jzvestor、それは正確な違いを計算しないので、お勧めしません。たとえば、開始日は2015-12-12、現在の日付は2017-05-04です。つまり、同社は** 1年間だけ**働いています。 1番目のソリューションは1年を返しますが、2番目のソリューションは2年を返します。 正確な違いが必要ない場合は、2番目のソリューションを自由に使用できます。 –
ああ、ありがとう! – jzvestor