一次自动刷新所有帖子

时间:2011-02-22 作者:Sergio Soares

我创建了一个函数来保存发布帖子时的自定义字段。像这样的。

function create_fields() {  
    global $post;     
    $casa_id = $post->ID;  
    update_post_meta($post->ID, \'casa_id\', $casa_id);  
}  
add_action(\'publish_post\', \'create_fields\');  
此函数用于在自定义字段中保存一些字符串。

Now the question:

如何在旧帖子上使用此操作?我有1000篇帖子,我不想手动刷新所有帖子,is this possible?

3 个回复
SO网友:Bainternet

您可以这样做:

$args = array(
    \'posts_per_page\' => 1000,
    \'post_type\' => \'post\'
    );
$the_query = new WP_Query( $args );

if ( $the_query->have_posts() ) { 
    while ( $the_query->have_posts() ) {
        $the_query->the_post();
        $casa_id = $post->ID;
        update_post_meta($post->ID, \'casa_id\', $casa_id);
    }
}

SO网友:Sergio Soares

它成功了。我试过这样做:

function actualiza() {  
global $post;  
$args = array(  
    \'numberposts\' => -1,  
    \'post_type\' => \'post\',  
    );  
$the_query = get_posts( $args );  
if ($the_query) {  
    foreach ($the_query as $post) {  
        $name = $post->post_title;
            update_post_meta($post->ID, \'name_post\', $name);
    } 
}
}   
wp_reset_query();  
add_action(\'wp_head\', \'actualiza\');

SO网友:Joel Newcomer

对于任何遇到此问题的人,我找到的最佳解决方案是此工具:https://github.com/mcguffin/acf-quick-edit-fields

这节省了我一两个小时手动更新181篇帖子。安装该插件后,我编辑了ACF字段并选中了“允许在批量编辑模式下编辑此字段”选项,然后我可以批量编辑帖子并更新字段。

结束

相关推荐