个性化阅读
专注于IT技术分析

WordPress中自定义帖子类型的”嵌套”

我正在处理一个页面, 但遇到一个我无法解决的问题, 所以我希望有人可以帮助我。

让我用一个随机的例子来说明我的问题, 因为我很难解释它。

因此, 我创建了一个自定义的”电影”帖子类型。我在WP管理员中创建了一堆电影, 可以通过访问domain.com/movies/moviename来访问它们。

现在, 如果我想按类型将电影分开。所以我有喜剧, 动作, 惊悚片。我想要一个页面来展示一种流派的所有电影, 以及希望通过domain.com/movies/genre/moviename访问的每部电影。

我如何获得这种结构?是否可以为每个体裁创建子职位类型?

任何帮助表示赞赏!


#1


你可能正在寻找的是在你的自定义帖子类型中添加分类法:https://codex.wordpress.org/Function_Reference/register_taxonomy

这是一个示例用法。假设你的流派是分层的, 即可以嵌套。这些等同于帖子中的类别(例如, 惊悚片>动作, 惊悚片>恐怖片)

第二部分是针对非分层分类法的, 这意味着它不能嵌套。这些等同于帖子中的标签。 (例如#Steven Spielberg)

// hook into the init action and call create_movie_taxonomies when it fires
add_action( 'init', 'create_movie_taxonomies', 0 );

// create two taxonomies, genres and directors for the post type "movie"
function create_movie_taxonomies() {
    // Add new taxonomy, make it hierarchical (like categories)
    $labels = array(
        'name'              => _x( 'Genres', 'taxonomy general name', 'textdomain' ), 'singular_name'     => _x( 'Genre', 'taxonomy singular name', 'textdomain' ), 'search_items'      => __( 'Search Genres', 'textdomain' ), 'all_items'         => __( 'All Genres', 'textdomain' ), 'parent_item'       => __( 'Parent Genre', 'textdomain' ), 'parent_item_colon' => __( 'Parent Genre:', 'textdomain' ), 'edit_item'         => __( 'Edit Genre', 'textdomain' ), 'update_item'       => __( 'Update Genre', 'textdomain' ), 'add_new_item'      => __( 'Add New Genre', 'textdomain' ), 'new_item_name'     => __( 'New Genre Name', 'textdomain' ), 'menu_name'         => __( 'Genre', 'textdomain' ), );

    $args = array(
        'hierarchical'      => true, 'labels'            => $labels, 'show_ui'           => true, 'show_admin_column' => true, 'query_var'         => true, 'rewrite'           => array( 'slug' => 'genre' ), );

    register_taxonomy( 'genre', array( 'movie' ), $args );

    // Add new taxonomy, NOT hierarchical (like tags)
    $labels = array(
        'name'                       => _x( 'Directors', 'taxonomy general name', 'textdomain' ), 'singular_name'              => _x( 'Director', 'taxonomy singular name', 'textdomain' ), 'search_items'               => __( 'Search Directors', 'textdomain' ), 'popular_items'              => __( 'Popular Directors', 'textdomain' ), 'all_items'                  => __( 'All Directors', 'textdomain' ), 'parent_item'                => null, 'parent_item_colon'          => null, 'edit_item'                  => __( 'Edit Director', 'textdomain' ), 'update_item'                => __( 'Update Director', 'textdomain' ), 'add_new_item'               => __( 'Add New Director', 'textdomain' ), 'new_item_name'              => __( 'New Director Name', 'textdomain' ), 'separate_items_with_commas' => __( 'Separate directors with commas', 'textdomain' ), 'add_or_remove_items'        => __( 'Add or remove directors', 'textdomain' ), 'choose_from_most_used'      => __( 'Choose from the most used directors', 'textdomain' ), 'not_found'                  => __( 'No directors found.', 'textdomain' ), 'menu_name'                  => __( 'Directors', 'textdomain' ), );

    $args = array(
        'hierarchical'          => false, 'labels'                => $labels, 'show_ui'               => true, 'show_admin_column'     => true, 'update_count_callback' => '_update_post_term_count', 'query_var'             => true, 'rewrite'               => array( 'slug' => 'director' ), );

    register_taxonomy( 'director', 'movie', $args );
}
赞(0)
未经允许不得转载:srcmini » WordPress中自定义帖子类型的”嵌套”

评论 抢沙发

评论前必须登录!