我正在尝试为自定义帖子类型创建特定的 URL 结构,但不确定这是否可行,或者可能与主博客的永久链接结构相冲突。
我正在使用 2 个插件:
我创建了一个自定义帖子类型(资源),并附加了自定义分类法(主题)。我的目标是让网址看起来像这样:
(从 url 中删除分类标头)
该博客遵循相同的结构并且正在运行:
以下是 CPT 和税收设置供参考:
/**
* Post Type: Resources.
*/
$labels = [
"name" => __( "Resources", "custom-post-type-ui" ),
"singular_name" => __( "Resource", "custom-post-type-ui" ),
];
$args = [
"label" => __( "Resources", "custom-post-type-ui" ),
"labels" => $labels,
"description" => "",
"public" => true,
"publicly_queryable" => true,
"show_ui" => true,
"show_in_rest" => true,
"rest_base" => "",
"rest_controller_class" => "WP_REST_Posts_Controller",
"has_archive" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"delete_with_user" => false,
"exclude_from_search" => false,
"capability_type" => "post",
"map_meta_cap" => true,
"hierarchical" => false,
"rewrite" => [ "slug" => "resources", "with_front" => false ],
"query_var" => true,
"supports" => [ "title", "editor", "thumbnail" ],
"taxonomies" => [ "topic" ],
"show_in_graphql" => false,
];
register_post_type( "resources", $args );
/**
* Taxonomy: Topics.
*/
$labels = [
"name" => __( "Topics", "custom-post-type-ui" ),
"singular_name" => __( "Topic", "custom-post-type-ui" ),
];
$args = [
"label" => __( "Topics", "custom-post-type-ui" ),
"labels" => $labels,
"public" => true,
"publicly_queryable" => true,
"hierarchical" => false,
"show_ui" => true,
"show_in_menu" => true,
"show_in_nav_menus" => true,
"query_var" => true,
"rewrite" => [ 'slug' => '.', 'with_front' => true, ],
"show_admin_column" => true,
"show_in_rest" => true,
"rest_base" => "topic",
"rest_controller_class" => "WP_REST_Terms_Controller",
"show_in_quick_edit" => true,
"show_in_graphql" => false,
];
register_taxonomy( "topic", [ "resources" ], $args );