更新所有帖子 - wordpress

时间:2014-06-26 16:42:31

标签: wordpress

我查看了this线程,并尝试在那里实现给定的代码示例;

//code snippet to mass update all posts
add_action('init','mass_update_posts');

function mass_update_posts(){

    $all_posts = get_posts('numberposts=');

    $my_posts = get_posts( array('post_type' => 'post', 'numberposts' => $all_posts ) );

    foreach ( $my_posts as $my_post ):

        wp_update_post( $my_post );

    endforeach;  
}

我把代码放在我的footer.php中,但它似乎没有做任何事情?我错过了什么?最初我用过;

$my_posts = get_posts( array('post_type' => 'post', 'numberposts' => -1 ) );

但这对......都没有帮助......

1 个答案:

答案 0 :(得分:1)

让我看看我是否理解您尝试使用此代码...

首先,每当有人加载页面时,footer.php都会触发,所以你想通过帖子本身的循环大量更新你的所有帖子?

对于您尝试使用此代码执行的操作,大约有一百万个错误。

  1. 切勿在主题的function.php文件中添加属于它们的页脚文件中的操作。
  2. 您的$ all_posts变量可能为空,因为您发送的函数需要一个参数数组(please read the get_post() function documentation
  3. $ all_posts不是整数,因为你在下一行使用它(get_post()函数返回一个WP_Post对象列表。
  4. 你的循环遍历你的所有帖子,并使用相同的帖子更新它们,不做任何改变,并有效地完成任何事情。
  5. 所以我想真正的问题是你究竟想要完成什么?