Wordpress 如何删除所有没有指定特色图片的帖子?

Wordpress 如何删除所有没有指定特色图片的帖子?,wordpress,jquery-plugins,Wordpress,Jquery Plugins,这将发现所有这些: $args = array( 'meta_query' => array( array( 'key' => '_thumbnail_id', 'value' => '?', 'compare' => 'NOT EXISTS' ) ), ); $new_query = new WP_Query( $args ); 如何制作一个小插件,当我激活它时,它会删除所有的帖子,而没有为它们指定

这将发现所有这些:

$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);
}
}

谁能给我看看这个吗?。谢谢

这里是一些可以使用的钩子示例代码,您需要编写自己的循环代码来删除帖子

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

}

下面是一些可以使用的钩子示例代码,您需要编写自己的循环代码来删除帖子

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

}

您可以使用Wordpress函数
wp\u delete\u post()
删除帖子。为获取帖子id并将其传递给
wp\u delete\u post()
的每个循环创建一个循环。我将这段代码添加到functions.php文件中,并按预期工作。因为你有很多帖子,执行起来可能需要一些时间。您可能需要在
php.ini
文件中调整
setTimeout
的时间太长。希望有帮助

$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();
}

您可以使用Wordpress函数
wp\u delete\u post()
删除帖子。为获取帖子id并将其传递给
wp\u delete\u post()
的每个循环创建一个循环。我将这段代码添加到functions.php文件中,并按预期工作。因为你有很多帖子,执行起来可能需要一些时间。您可能需要在
php.ini
文件中调整
setTimeout
的时间太长。希望有帮助

$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();
}

如果你想执行的是一段一次性代码,那么只需将函数附加到“init”操作,这样当你刷新任何WordPress页面时它就会运行。谢谢你的评论…我不明白,请写一段代码。如果你想执行一段一次性的代码,那么只需将函数附加到“init”操作,这样当你刷新任何WordPress页面时它就会运行。谢谢你的评论…我不明白,请写一段代码。你好@Derek Nolan我试了很多次,但我没有得到它,我有很多没有缩略图的帖子要删除,你可以在这里做一些更完整的事情。请。@ArianeMartinsGomesDoRego我将更新答案,以包含我已经测试过并正在为我工作的代码。这对我帮助很大,如果没有这个,我将有详尽的工作,谢谢,作为插件和模板名格式都很好,我在主题中创建了一个文件夹/index.php,并在仪表板中创建了一个页面,选择此页面的模板名称,每次访问此页面时都会进行清理。多谢各位much@ArianeMartinsGomesDoRego很高兴为您服务!我通常使用sql来做这类事情,但它是一个很好的小函数,我相信我会在将来找到它的用途。索引文件夹的小技巧也不错!也可以将其保留在functions.php中,并将函数包装在if语句中。如果是页面($post\u id)。。。或者类似的。是的。。。它当然更像是一个保存在特殊目录中的函数。。。它是非常有用的,是的,在函数中使用是的,另一种方式:-)我有成千上万的帖子要管理,并且在可用的插件中缺少过滤器。我非常需要这个。再次感谢:-)你好@Derek Nolan我试了很多,但我不明白,我有成千上万的帖子没有缩略图要删除,你可以在这里做一些更完整的事情。请。@ArianeMartinsGomesDoRego我将更新答案,以包含我已经测试过并正在为我工作的代码。这对我帮助很大,如果没有这个,我将有详尽的工作,谢谢,作为插件和模板名格式都很好,我在主题中创建了一个文件夹/index.php,并在仪表板中创建了一个页面,选择此页面的模板名称,每次访问此页面时都会进行清理。多谢各位much@ArianeMartinsGomesDoRego很高兴为您服务!我通常使用sql来做这类事情,但它是一个很好的小函数,我相信我会在将来找到它的用途。索引文件夹的小技巧也不错!也可以将其保留在functions.php中,并将函数包装在if语句中。如果是页面($post\u id)。。。或者类似的。是的。。。它当然更像是一个保存在特殊目录中的函数。。。它是非常有用的,是的,在函数中使用是的,另一种方式:-)我有成千上万的帖子要管理,并且在可用的插件中缺少过滤器。我非常需要这个。再次感谢:-)