【问题标题】:How can I automatically assign categories for my custom posts in wordpress?如何在 wordpress 中为我的自定义帖子自动分配类别?
【发布时间】:2012-04-03 03:48:48
【问题描述】:

我想这样做,因此我可以简单地将类别用作菜单中的链接,以查看该类别的所有帖子。

我在这个主题上找到了this 论坛帖子,但我不明白。

有如下解决方案:

function add_category_automatically($post_ID) {
    global $wpdb;
    if(!wp_is_post_revision($post_ID)) {
    $category = array (4);
    wp_set_object_terms( $post_ID, $category, 'category');
    }
}
add_action('publish_houses', 'add_category_automatically');

但我不确定在 add_action 函数中放置什么而不是 publish_houses 以及应该在 $post_id 中放置什么。我希望在我创建自定义帖子类型的 functions.php 文件中分配它。

好的,我已将代码更改为:

function add_category_automatically($post_ID) {
global $wpdb;
if(!wp_is_post_revision($post_ID) && get_post_type($post_ID) == "offered") {
    $category = array (7);
    wp_set_object_terms( $post_ID, $category, 'category');
    }
}
add_action('publish_post', 'add_category_automatically');

更新功能:

global $wpdb;
if(!wp_is_post_revision($post_ID)) {
    $category = array (7);
    wp_set_object_terms( $post_ID, $category, 'category');
}
}
add_action('publish_offered', 'add_category_automatically');

【问题讨论】:

标签: wordpress


【解决方案1】:

(用更好的答案替换了我之前的答案。)

如果您的自定义帖子类型称为offered,您只需将publish_houses 替换为publish_offered,并将原始publish_category_automatically 函数和add_action 行放在您的functions.php 文件中。

【讨论】:

  • 谢谢,这个函数应该在哪里?我已经在我的自定义函数文件中找到了它,所以我不确定它是否会得到一个 $post_ID 变量
  • add_category_automatically() 函数和add_action 行放在主题的functions.php 文件中。 add_action 行告诉 WordPress,“每次发布帖子时调用 add_category_automatically 函数,并将该帖子传递给函数。”
  • 谢谢,但它不起作用。我现在正在添加新帖子,但它们没有显示在该类别下
  • 刚刚用更好的答案替换了我的答案...试试看。
  • 函数中,将wp_set_object_terms行替换为:wp_set_object_terms( $post_ID, 'the-slug-of-your-category', 'category');
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-24
  • 2020-05-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-03
相关资源
最近更新 更多