我需要一些代码,如果存储在产品ACF字段中的日期不存在,它将更改woocommerce中的产品类别。每个产品都有一个称为“ start_date”的ACF字段。
我试图在function.php文件中创建函数。
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<button class="buy-s-product">TEST</button>
我尝试了这段代码,但没有任何反应。我认为函数<?php
register_activation_hook(__FILE__, 'your_activation');
add_action('your_daily_event', 'rub_change_categories');
function your_activation() {
$first_time = time();
$recurrence = 'daily';
wp_schedule_event($first_time, $recurrence, 'your_daily_event');
}
function rub_change_categories(){
$myproducts = get_posts( array(
'post_type' => 'product',
'product_cat' => 'New'
));
foreach ($myproducts as $product) {
$key = 'start_date'; //name of ACF field
$start = get_post_meta($product->ID, $key, true); // start date
$todays_date = date('Ymd'); // get current date
if ($start < $todays_date) {
wp_set_object_terms($product->ID, 'Old', product_cat');
//change category to "Old"
}
}
}
?>
中存在一些问题,因为如果我使用此函数更改简单文章的类别,则此代码有效。但是,如果我将其用于产品和“ product_cat”,则不会发生任何事情。