Мне нужно перемещать в корзину товары которых нет в наличии и эти товары были изменены последний раз более 60 дней назад.
Поиск дал результат - есть код и он работает.
Код взят отсюда
https://stackoverflow.com/questions/72749347/remov...
add_action('init', 'automatically_trash_sold_items_in_woocommerce_callback');
function automatically_trash_sold_items_in_woocommerce_callback() {
// Get any existing copy of our transient data
if ( false === ( $automatically_trash_sold_items_in_woocommerce = get_transient( 'automatically_trash_sold_items_in_woocommerce' ) ) ) {
// It wasn't there, so regenerate the data and save the transient
global $wpdb;
$wpdb->query( "UPDATE {$wpdb->posts} P JOIN {$wpdb->postmeta} PM ON P.ID = PM.post_id SET P.post_status='trash' WHERE P.post_type='product' and PM.meta_key='_stock_status' AND PM.meta_value='outofstock' AND DATE_SUB( now(), INTERVAL 10 DAY ) > p.post_modified");
set_transient( 'automatically_trash_sold_items_in_woocommerce', true, 12 * HOUR_IN_SECONDS );
}
В моей версии на сайте код поправлен на "INTERVAL 60 DAY"
Насколько я понимаю, что мне нужно настроить каждому урл товара, который будет попадать "в корзину" 301 редирект.
Вопрос 1: Будет ли ошибка если для каждого товара который будет перемещен в корзину будет настроен редирект например на страницу каталога? Не навредит ли это?
Я использую для перенаправлении плагин Yoast Premium и перенаправления работают только если я вручную удаляю продукт (тогда появляется предложение - сделать перенаправление). Этим кодом все товары перемещаются в корзину без уведомлений и предложений от Yoast Premium, страница отдает 404 после перемещения "в корзину".
Вопрос 2: Какие изменения нужно внести в этот код, чтобы после перемещения товара "в корзину" создавался 301 редирект в Yoast Premium?
Подойдет ли для моих целей этот фрагмент кода
wp_redirect(home_url());
?