Я создаю плагин для Wordpress, где я извлекаю данные из XML-канала и публикую все эти данные с помощью функции wp_insert_post(). Плагин запускается каждый час, поэтому я должен предотвратить двойные сообщения.
Я попытался добавить фильтр и сравнить post_date из фида XML с тем, что в Wordpress (поскольку я даю сообщению тот же post_date, что и XML), но это не работает, и я не могу понять, почему.
Вот мой код:
add_filter('posts_where', 'checkPosts'); //I add a filter
$query = new WP_Query('post_type=event'); // Make a query for the custom post_type 'event'
if(!$query->have_posts()) { //If it doesn't have any posts with the same post_date post it
$post_id = wp_insert_post($post);
wp_set_object_terms($post_id, $genres, 'genre');
}
remove_filter('posts_where', 'checkPosts');
function checkPosts($where = '') {
$where .= " AND post_date = ".$post_date;
return $where;
}
Может ли кто-нибудь показать мне мои ошибки или дать мне другую технику для предотвращения одинаковых сообщений в Wordpress?