Assign postmeta in bulk

时间:2015-03-28 作者:Damir

我有我的页面的元参数,我想批量更改(大约300页)。我知道元名称是“header settings”,值可以是“no data”、“site data”和“page data”

我还有一个函数。theme developer的php脚本专门用于解决此任务,但它不起作用。那么,有没有正确的方法来大规模分配这个元?我想header-settings 未来page-data

$posts = get_posts( array(
        \'post-type\' => \'page\',
    )
);

foreach( $posts as $post ) {
    $value = array( 
        \'header-settings\' => \'page-data\',
    );
    update_post_meta( $post->ID, \'_skoty-page-header-settings\', $value);
}
?>

1 个回复
SO网友:Patrick S

我总是这样做的。。。

add_action( \'save_post\', \'header_setting_generate\', 99 );

function header_setting_generate($post_id) {
    global $post;
    if(isset($_POST[\'post_type\']) && ($_POST[\'post_type\'] == "page")){
        $value = array( 
            \'header-settings\' => \'page-data\',
        );

        update_post_meta( $post_id, \'_skoty-page-header-settings\', $value);
    }
}
插入此代码后,转到“页面”,选择全部,单击批量编辑,将状态更改为“已发布”,只需在所有页面上触发save\\u帖子。这应该会生成它。

结束

相关推荐

列出分类法:如果分类法没有POST,就不要列出分类法--取决于定制的POST-META?

这可能很难解释,我不知道是否有解决办法!?我有一个名为“wr\\u event”的自定义帖子类型和一个名为“event\\u type”的分层自定义分类法。自定义帖子类型有一个元框,用于event_date 并且与此帖子类型关联的所有帖子都按以下方式排序event_date. 我在循环中有一个特殊的条件来查询event_date 已经发生了-在这种情况下,它没有显示,但只列在我的档案中。就像你可以使用wp_list_categories() 我编写了一个自定义函数,它以完全相同的方式列出所有分类术语。现在