Logic
<我有一个页面模板/blog
其中包含一个“公共”博客/members 这是会员区如果用户输入URL/members/blog
我想在template_redirect
连接并加载显示“私人”博客的自定义模板Problem
之前template_redirect
被称为/members/blog
被重新写入/blog
所以我无法加载私人博客页面。重写规则中没有规定要这样做。
Logic
<我有一个页面模板/blog
其中包含一个“公共”博客/members 这是会员区如果用户输入URL/members/blog
我想在template_redirect
连接并加载显示“私人”博客的自定义模板Problem
之前template_redirect
被称为/members/blog
被重新写入/blog
所以我无法加载私人博客页面。重写规则中没有规定要这样做。
所以问题是redirect_guess_404_permalink
正在检测404错误并“猜测”/members/blog
未来/blog
我的黑客解决方案是挂接状态错误检查(Stop Wordpress from "guessing" redirects for nonexistent URLs) 如果URL部分匹配,则取消设置猜测的解决方案
function blog_no_redirect_guess_404_permalink( $header ){
global $wp_query;
if( is_404() ) {
// Get Request URL Parts
$url = parse_url($_SERVER[\'REQUEST_URI\']);
$path = explode(\'/\', $url[\'path\']);
$path = array_filter($path);
$path = array_merge($path, array());
// If matches /members/blog then unset \'guess\'
if (strtolower($path[0]) == \'members\' && strtolower($path[1]) == \'blog\') {
unset( $wp_query->query_vars[\'name\'] );
}
}
return $header;
}
add_filter( \'status_header\', \'blog_no_redirect_guess_404_permalink\' );
The Issue: 我正在寻找定制的单篇文章模板,以添加或删除单个元素作为普通单篇文章的功能。有很多方法可以在WordPress中为单个帖子创建自定义帖子模板。尤其是post格式是使用默认模板处理默认情况的绝佳机会;然而,我需要真正的自定义模板。The Idea: 我的第一种方法是根据post ID添加if/else语句:// check if custom post if ( is_single(\'999\') ) // check if there is a custom