Обновите пост WordPress с помощью cron

Я пытаюсь удалить пост WordPress после X дней.
И я использую этот код.

$daystogo = 30;
$sql =
"UPDATE {$wpdb->posts}
SET post_status = 'trash'
WHERE (post_type = 'post' AND post_status = 'publish')
AND DATEDIFF(NOW(), post_date) > %d";
$wpdb->query($wpdb->prepare( $sql, $daystogo ));

Но я хочу исключить какой-нибудь пост по мета-ключу.
Как я не хочу, чтобы удалить этот пост, который имеет FEATURD POST VALUE IS 1

  'meta_query' => array(
array(
'key' => 'featured_post',
'value' => '1',
'compare' => '=='
)
),

Любой способ добавить это условие в запросе?
Спасибо

1

Решение

Вот код mysql для вас, вы можете использовать функцию «IN ()» MySQL для этого:

$sql =
"UPDATE {$wpdb->posts}
SET post_status = 'trash'
WHERE (post_type = 'post' AND post_status = 'publish')
AND ID not in (select post_id from {$wpdb->postmeta} where
meta_key='featured_post' and meta_value='1' )
AND DATEDIFF(NOW(), post_date) > %d";
1

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector