发布自定义发布类型时,在分类中动态创建术语。快到了!

时间:2011-06-15 作者:Duane

我试图在发布某个自定义帖子类型时,在某个分类法中自动创建术语。新创建的术语必须是发布的帖子的名称。

示例:我有一个自定义帖子类型“country”和一个自定义分类法“country\\u taxo”。当我发布一个国家时,我想在“country\\u taxo”分类法下自动创建一个术语“肯尼亚”。

我已经使用“publish\\u(custom\\u post\\u type)操作挂钩”完成了这一点,但我只能让它静态工作。示例:

// This snippet adds the term "Kenya" to "country_taxo" taxonomy whenever 
// a country custom post type is published.

add_action(\'publish_country\', \'add_country_term\');
function add_country_term() {
    wp_insert_term( \'Keyna\', \'country_taxo\');
}
就像我上面提到的,我需要动态添加帖子标题作为术语。我试过这个,但不起作用:

add_action(\'publish_country\', \'add_country_term\');
function add_country_term($post_ID) {
    global $wpdb;
    $country_post_name = $post->post_name;
    wp_insert_term( $country_post_name, \'country_taxo\');
}
有人知道我会怎么做吗?非常感谢您的帮助。

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

您几乎就在那里-问题是您试图访问$post <当函数仅接收post ID时,对象。

add_action( \'publish_country\', \'add_country_term\' );
function add_country_term( $post_ID ) {
    $post = get_post( $post_ID ); // get post object
    wp_insert_term( $post->post_title, \'country_taxo\' );
}

结束

相关推荐

Custom Post Row Actions

我偶然发现this question 在写这个问题的时候。我有一个问题是关于这个问题的。我发现你用的是get_delete_post_link 筛选为我的操作创建一个新的url(或一个类似的函数——在任何情况下,我都会将该函数与布尔值一起使用)。唯一的问题是,I don\'t know how to capture the event now. 考虑到我在谷歌上找不到很多关于行后操作的例子,我将不胜感激-/public function _wp_filter_get_delete_post_link( $