自动将自定义帖子类型标题另存为类别

时间:2013-10-08 作者:Net Shapira

我想知道是否有一种方法可以从我的自定义帖子类型标题中自动创建类别。例如,如果我创建了名为“sport”的帖子,该函数将自动创建一个类别-“sport”。

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

钩住save\\u post,检查类别是否已经存在(以避免在post编辑时重复创建)。如果类别不存在,请使用wp_insert_term 并使用wp_set_object_terms

add_action(\'save_post\', \'add_title_as_category\');

function add_title_as_category( $postid ) {
  if ( defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE ) return;
  $post = get_post($postid);
  if ( $post->post_type == \'post\') { // change \'post\' to any cpt you want to target
    $term = get_term_by(\'slug\', $post->post_name, \'category\');
    if ( empty($term) ) {
      $add = wp_insert_term( $post->post_title, \'category\', array(\'slug\'=> $post->post_name) );
      if ( is_array($add) && isset($add[\'term_id\']) ) {
        wp_set_object_terms($postid, $add[\'term_id\'], \'category\', true );
      }
    }
  }
}
如果要设置自定义分类法而不是标准类别,请替换\'category\' 在上面代码中出现的每个地方都使用自定义分类名称。

结束

相关推荐

Grouping categories by genre

我的wordpress视频博客有几个类别。假设该类别可以分为几个类别,例如动作、恐怖、神秘,另一个类别属于动作、恐怖、浪漫如何将类别分为不同的类型?因为在最基本的结构中,我们将帖子分类。现在我想把类别分成不同的类别然后可以通过url(例如)在流派中显示类别http://www.domain.com/genre/actions 它将列出其中的所有类别。下面是一个具有此功能的示例站点http://www.anime44.com/anime-genre/Fantasy