要在WordPress中为自定义文章类型添加分类法,你需要按照以下步骤进行操作:

  1. 创建自定义文章类型(如果还没有):
    如果你已经有一个自定义文章类型,可以跳过这一步。如果没有,请使用函数 register_post_type()

    WordPress如何实现给自定类型分类法投稿

    来创建一个自定义文章类型。例如,你可以创建一个名为 "books" 的自定义文章类型:

    function custom_post_type() {
       register_post_type('books',
           array(
               'labels' => array(
                   'name' => 'Books',
                   'singular_name' => 'Book'
               ),
               'public' => true,
               'has_archive' => true,
               'supports' => array('title', 'editor', 'thumbnail', 'customfields'),
           )
       );
    }
    add_action('init', 'custom_post_type');
  2. 创建自定义分类法:
    使用函数 register_taxonomy() 来创建自定义分类法。例如,你可以创建一个名为 "genre" 的分类法:

    function custom_taxonomy() {
       register_taxonomy(
           'genre',
           'books', // 这里使用你的自定义文章类型的名称
           array(
               'label' => 'Genre',
               'rewrite' => array('slug' => 'genre'),
               'hierarchical' => true,
           )
       );
    }
    add_action('init', 'custom_taxonomy');
  3. 编辑自定义文章类型:
    现在,你可以在WordPress后台编辑你的自定义文章类型 "books",并为每篇文章选择一个或多个 "Genre"。

  4. 显示分类法在文章编辑页面(可选):
    如果你想在文章编辑页面显示分类法,可以使用以下代码:

    function add_custom_taxonomy() {
       add_meta_box(
           'custom_taxonomy',
           'Genre',
           'custom_taxonomy_meta_box',
           'books', // 这里使用你的自定义文章类型的名称
           'side',
           'default'
       );
    }
    
    function custom_taxonomy_meta_box($post) {
       $taxonomy = 'genre';
       $terms = get_terms($taxonomy);
       $post_terms = wp_get_post_terms($post>ID, $taxonomy);
    
       if ($terms) {
           foreach ($terms as $term) {
               echo '
    '; } } } function save_custom_taxonomy($post_id) { if (defined('DOING_AUTOSAVE') && DOING_AUTOSAVE) return; if ($parent_id = wp_is_post_revision($post_id)) { $post_id = $parent_id; } $post_terms = isset($_POST['post_terms']) ? $_POST['post_terms'] : array(); wp_set_post_terms($post_id, $post_terms, 'genre'); } add_action('add_meta_boxes', 'add_custom_taxonomy'); add_action('save_post', 'save_custom_taxonomy');

这些步骤将帮助你为自定义文章类型添加分类法,并在文章编辑页面中进行分类选择。确保将代码添加到你的主题的 functions.php 文件中,或者使用自定义插件来实现这些功能。