Създавам плъгин за 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?