我试图在发布某个自定义帖子类型时,在某个分类法中自动创建术语。新创建的术语必须是发布的帖子的名称。
示例:我有一个自定义帖子类型“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\');
}
有人知道我会怎么做吗?非常感谢您的帮助。
最合适的回答,由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\' );
}