我正在处理一个页面, 但遇到一个我无法解决的问题, 所以我希望有人可以帮助我。
让我用一个随机的例子来说明我的问题, 因为我很难解释它。
因此, 我创建了一个自定义的”电影”帖子类型。我在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 );
}
评论前必须登录!
注册