我正在创建一个网站,在这里,用户可以团队合作创作电影。目前,我正在为团队经理在前端设置一个编辑页面。我刚刚对一个查询变量进行了一个简单的isset()检查,没有将视图发送到新模板页面的值。因此,无论查询变量的值是什么,如果在URL中调用它,它都会转到新模板。
那部分工作正常。模板在团队/(teamname)加载得很好?管理。我所要做的就是重写它,让它看起来像是团队/(teamname)/管理。
但我的问题是它不起作用,前端的每个页面现在都被重定向到索引。php。除索引之外的所有。php?团队=废话(&A);管理调用的其他自定义帖子?团队=。
这是我的自定义重写规则文件:
function generate_manage_rewrite_rules() {
global $wp_rewrite;
$new_rules = array(
"(team|film)/([^/]+)/manage/?$" => "index.php?".$wp_rewrite->preg_index(1)."=".$wp_rewrite->preg_index(2)."&manage"
);
$wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}
add_filter(\'rewrite_rules_array\', \'generate_manage_rewrite_rules\');
我的。htaccess文件,我没有接触过:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /sitename/
RewriteRule ^index\\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /sitename/index.php [L]
</IfModule>
# END WordPress
以及用于设置模板重定向和查询变量的文件(尽管我认为这不是问题):
function templateInclude( $template )
{
if (is_single()) {
global $wp_query;
if( isset ( $wp_query->query_vars[\'manage\'] ) ) {
if ( is_manager() ) {
$new_template = locate_template( array( \'/template-team-manage.php\' ) );
if ( \'\' != $new_template ) {
return $new_template ;
}
}
}
}
return $template;
}
add_action( \'template_include\', \'templateInclude\' );
我还尝试安装
Rewrite Analyzer plugin 尝试解决问题,但安装后我根本无法加载。