我使用WordPress。
当它们有相同的slug时,我需要显示页面而不是类别。
我有一个类别叫做;痤疮“;带着鼻涕虫“;痤疮“;
页面和类别具有相同的slug。
当我写作时www.example.com/acne
, 类别页面正在打开,
我需要让WordPress显示页面,而不是类别,当它们有相同的slug时。
有没有办法做到这一点。
我使用WordPress。
当它们有相同的slug时,我需要显示页面而不是类别。
我有一个类别叫做;痤疮“;带着鼻涕虫“;痤疮“;
页面和类别具有相同的slug。
当我写作时www.example.com/acne
, 类别页面正在打开,
我需要让WordPress显示页面,而不是类别,当它们有相同的slug时。
有没有办法做到这一点。
你可以钩住parse_request
并欺骗WordPress,使其认为它与一个页面永久链接相匹配,如果存在一个类别术语具有相同的slug:
/**
* Override query for pages that match a category slug.
*
* @param WP $wp
*/
function wpse_177014_category_to_page ( $wp ) {
if ( ! empty( $wp->query_vars[\'category_name\'] ) && get_page_by_path( $slug = $wp->query_vars[\'category_name\'] ) ) {
if ( ! empty( $wp->query_vars[\'paged\'] ) )
$page = $wp->query_vars[\'paged\'];
else
$page = \'\';
$wp->matched_query = "pagename=$slug&page=$page";
$wp->query_vars = array(
\'pagename\' => $slug,
\'page\' => $page,
);
}
}
add_action( \'parse_request\', \'wpse_177014_category_to_page\' );
我正在为我的一个帖子类型创建一个自定义提要,并允许用户设置该提要的名称。http://www.mysite.com/feed/userdefinedname现在,我还想让用户不仅可以显示该CPT中的所有帖子,还可以按类别过滤它们。目前情况是这样的:http://www.mysite.com/feed/testcategory然而,如果我能将其结构如下,我会非常喜欢它:http://www.mysite.com/feed/userdefinedname/testcategory这可能吗?下面是生成这些基于类