Я хочу проверить, был ли продукт Woocommerce создан менее 60 дней назад.- Если это правда, сделайте что-нибудь.
Я получаю дату, когда продукт был создан в бэкэнде / администраторе, используя официальную функцию Woocmmerce $product->get_date_created
.
Мой код частично работает, но, кажется, он проверяет, содержит ли $product->get_date_created
буквально значение 60 вместо выполнения вычисления и минус 60 дней с текущего DateTime .
Я пришел к такому выводу, потому что мой оператор IF выполняется верно и применяется ко всем продуктам с "60" в фактической строке DateTime.(например, 31.12.2060) ... это не то, что я хочу.
Любая помощь приветствуется.
Мой код:
add_action( 'woocommerce_before_shop_loop_item_title', 'display_new_loop_woocommerce' );
function display_new_loop_woocommerce() {
global $product;
// Get the date for the product published and current date
$start = date( 'n/j/Y', strtotime( $product->get_date_created() ));
$today = date( 'n/j/Y' );
// Get the date for the start of the event and today's date.
$start = new \DateTime( $start );
$end = new \DateTime( $today );
// Now find the difference in days.
$difference = $start->diff( $end );
$days = $difference->d;
// If the difference is less than 60, apply "NEW" label to product archive.
if ( $days = (60 < $days) ) {
echo '<span class="limited">' . __( 'NEW', 'woocommerce' ) . '</span>';
}
}