投稿掲載日からx日後に投稿期限切れ用のコードスニペットを作成したいのですが、このコードで試してみましたが、常に本当の状態を表示しています、何が間違っているのですか。
$pfx_date = get_the_date('d/m/Y');
$datacorrente = date('d/m/Y', strtotime("-5 days"));
if ( $pfx_date <= $datacorrente ) {
echo 'post expired';
} else {
echo 'post open';
}
"-5 days"は、投稿が期限切れになった後のx日の変数です。
あなたは文字列を比較しています。日付の場合、これはyyyymmdd形式などを使用している場合にのみ有効です。
賛成投票のAndyの答えは、整数を比較してこれを機能させることです。 strtotime()
は任意の文字列をtime整数に変換できます。これは後で比較して差と今までに経過した秒数を示します(time()
)。次のようなものがあります。
$expired = ( ( time() - strtotime(get_the_date('Y-m-d H:i:s')) ) / DAY_IN_SECONDS ) >= 5;
if ( $expired ) {
echo 'post expired';
} else {
echo 'post open';
}
それが役立つことを願っています。