自动创建与帖子标题同名的分类

时间:2011-08-19 作者:user716816

我有一个自定义的帖子类型,叫做“乡村故事”。其标题将是国家名称。我希望Wordpress自动创建一个名为“country”的同名新分类法,即创建一个名为Thailand的国家故事,因此我希望WP也创建一个名为Thailand的国家分类法。已设置国家分类法。到目前为止,我有下面的代码。它实现了我想要的功能,只是我不知道如何在发布文章以传递给$cat变量的操作挂钩期间获取标题。有人能帮忙吗?

function add_country_category_automatically($post_ID) {
global $wpdb;
if(!has_term(\'\',\'country\',$post_ID)){
    $cat = "get title of Country Story published to pass on to Country category";
    wp_set_object_terms($post_ID, $cat, \'country\');
}
}
add_action(\'publish_country-story\', \'add_country_category_automatically\');

2 个回复
SO网友:Devin Humbert

你能不能调用get\\u the\\u title()来获取乡村故事的标题?

$cat = get_the_title($post_ID);

SO网友:drivebass

非常聪明的解决方案,我已经为此搜索了大约2天。user716816您可能已经知道了这一点,但在创建帖子时,代码为给定的分类法创建了一个新术语,同时也为新帖子分配了新的分类法术语。如果您添加了另一个wp\\u set\\u object\\u terms,但这次为NULL,则会从帖子中删除新创建的terms,但保留最初预期的术语。无论如何,我看到这篇文章是从2011年开始的,但我认为分享给其他可能关注这篇文章的人会很有帮助:

function add_country_category_automatically($post_ID) {
global $wpdb;
if(!has_term(\'\',\'country\',$post_ID)){
    $cat = "get title of Country Story published to pass on to Country category";
    wp_set_object_terms($post_ID, $cat, \'country\');
    wp_set_object_terms($post_ID, NULL, \'country\');
}
}
add_action(\'publish_country-story\', \'add_country_category_automatically\');

结束