Wp set post terms not work

时间:2013-09-17 作者:Raank

我的代码不起作用,它没有添加分类法

add_action(\'init\', \'post_test\', 10);
function post_test() {
    $empty = get_page_by_title(\'Produto teste\', OBJECT, \'produtos\');
    if(empty($empty)) {
        $insert_post = array(
            \'post_status\' => \'publish\',
            \'post_type\' => \'produtos\',
            \'post_title\' => \'Produto teste\',
        );
        $post_id = wp_insert_post($insert_post);
        if ($post_id) {
            wp_set_post_terms($post_id, array(\'metais\'), \'categoria-produtos\'); // tag metais id is 108
        }
        add_post_meta($post_id, \'fornecedores\', \'5948\'); // id do fornecedor
        add_post_meta($post_id, \'_fornecedores\', \'field_52377232eb265\');
    }
}
为什么不工作?

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

wp_set_post_terms Comment:

此函数仅适用于本机post类型。对于自定义帖子类型的分类,请使用wp\\u set\\u object\\u terms()

wp_set_object_terms

结束

相关推荐

仅从wp_GET_POST_TERMS获取父术语

我有一个自定义的帖子类型,它设置了层次分类法。例如,我的帖子类型“project”的类别为 A A.1 B C 我正在尝试将分类显示为上的类<li> 每个帖子的项目,但我只想显示顶级家长。对于我正在查看的帖子,它被分类为A.1和C,但我想返回A和C。我正在使用\'parent\' => 0 然而,在args中,它给了我A.1和C。我也尝试使用\'hide_empty\' => 0 但这似乎没有帮助。这是我的代码: function pro