Woocommerce изменяет статус публикации продукта sh в зависимости от даты создания - PullRequest
0 голосов
/ 26 мая 2020

У меня есть настройка woocommerce, которая импортирует продукты каждую ночь, обновляет текущие и создает новые, если их нет в установке. Новые продукты, созданные в результате импорта, не должны отображаться во внешнем интерфейсе. Я настроил его так, чтобы продукты без изображений не показывались в запросе продукта, однако они все еще отображаются в поиске продуктов, что является проблемой.

Моя идея для лучшего решения - изменить publi sh статус продуктов на основе даты создания, а затем установите статус publi sh как «черновик», чтобы они не были видны.

Вот что у меня есть:

add_action( 'woocommerce_before_shop_loop_item_title', 'display_new_loop_woocommerce' );
function display_new_loop_woocommerce() {
    global $product;
    $id = $product->get_id();
    $status = 'publish';

    // Get the date for the product published and current date
    $datetime_created  = $product->get_date_created(); // Get product created datetime
    $timestamp_created = $datetime_created->getTimestamp(); // product created timestamp

    $datetime_now      = new WC_DateTime(); // Get now datetime (from Woocommerce datetime object)
    $timestamp_now     = $datetime_now->getTimestamp(); // Get now timestamp

    $time_delta        = $timestamp_now - $timestamp_created; // Difference in seconds
    $time              = 60 * 24 * 60 * 2; // X AMOUNT OF SECONDS TIMES DAYS

    // If the difference is less than TIME, apply draft status
    if ( $time_delta < $time ) {
        $status = 'draft';
    }
    $my_post = array(
      'ID'           => $id,
      'post_status'   => $status
     );
    // Update the post into the database
 wp_update_post( $my_post );
}

Это не работает полностью - статус изменится на «publi sh», но не на «черновик», так что что-то есть в условное это неверно. Если я попытаюсь повторить что-то в условном выражении и удаляю части, касающиеся обновления статуса публикации, все работает нормально.

Любая помощь будет принята с благодарностью - даже идея для лучшего подхода к проблеме.

...