这可以找到所有这些:
$args = array(
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'value' => '?',
'compare' => 'NOT EXISTS'
)
),
);
$new_query = new WP_Query( $args );
如何制作迷你插件,当我激活它时,它会删除所有帖子而不分配特色图片?
我在尝试:
add_action( 'init', 'process_posts' );
function process_posts() {
$args = array(
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'value' => '?',
'compare' => 'NOT EXISTS'
)
),
);
$new_query = new WP_Query( $args );
if (empty($_thumbnail_id)) {
wp_delete_post($_POST['post_id'], true);
}
}
有人可以给我看这个吗?感谢
答案 0 :(得分:1)
以下是您可以使用的钩子的一些示例代码,您需要编写自己的循环代码来删除帖子。
add_action( 'init', 'process_posts' );
function process_posts() {
$args = array(
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'value' => '?',
'compare' => 'NOT EXISTS'
)
),
);
$new_query = new WP_Query( $args );
// Delete your posts here with a loop
}
答案 1 :(得分:1)
您可以使用Wordpress功能wp_delete_post()
删除帖子。为每个循环创建一个获取帖子ID并将其传递给wp_delete_post()
的循环。我将此代码添加到我的functions.php文件中,并按预期工作。因为你有很多帖子,所以可能需要一些时间来执行。您需要在setTimeout
文件中调整php.ini
,这需要很长时间。希望有所帮助!
$args = array(
'meta_query' => array(
array(
'key' => '_thumbnail_id',
'value' => '?',
'compare' => 'NOT EXISTS'
)
),
);
$the_query = new WP_Query( $args );
if ( $the_query->have_posts() ) {
while ( $the_query->have_posts() ) {
$the_query->the_post();
$post_id = get_the_ID();
wp_delete_post($post_id);
}
wp_reset_postdata();
}