分类术语的自定义字段值

时间:2012-01-23 作者:adam

我有一个带有作者姓名的“author”自定义字段。我想给网站添加一些新功能,所以我决定自定义分类法将是最好的解决方案。因此,我需要做的是获取自定义字段的值,并将其传递给名为artist的自定义分类法。当然,我可以手动完成这项工作,但这是1000多个帖子,所以这将是地狱。

我猜解决方案将与wp\\u set\\u object\\u terms()连接;功能,但我尝试的都不起作用。

谢谢你的回答。

1 个回复
最合适的回答,由SO网友:Michal Mau 整理而成

现在没有时间进行测试,但类似的方法应该可以工作:

// Change or add your own arguments as needed 
$args = array(
    \'post_type\'   => \'post\', 
    \'numberposts\' => -1,
    \'offset\'      => 0
);
$my_posts = get_posts( $args );
if ( $my_posts ) {
    foreach ( $my_posts as $my_post ) {
        $meta = get_post_meta( $my_post->ID, \'_name_of_your_custom_field\', true );
        if ( ! empty( $meta ) )
            wp_set_post_terms( $my_post->ID, $meta, \'_name_of_your_taxonomy\');
    }
}
您可以将其包装在函数中,并将其放入functions.php 或者让它成为一个插件。只需确保只运行一次,而不是在每次加载页面时运行。。。

使用get_posts() 更改哪些帖子将受到影响的参数。例如,您可以利用numberpostsoffset 如果您的服务器不想一次处理1000多篇帖子,请将查询拆分为几个较小的查询。

祝你好运,如果你需要更多的帮助,请告诉我。

结束