7

我正在尝试使用 wordpress 的 add_rewrite_rule 函数添加自定义规则,但它们不起作用。奇怪的是,每当我使用Monkeyman Rewrite Analyzer插件检查它们时,都会添加规则并匹配我的 URL。

当我尝试访问该页面时,它会重定向到错误的位置。

这是我的代码:

add_rewrite_tag('%cc%','([a-zA-Z]+)');
add_rewrite_tag('%id%','([0-9]+)');

add_rewrite_rule('job-details/([0-9]+)$', 'index.php?pagename=jobs&cc=show&id=$matches[1]', 'top');

global $wp_rewrite;
$wp_rewrite->flush_rules();

至于我的 URL,如果我尝试访问 URL site.com/job-details/1 ,它会将我重定向到 /jobs/ ,这是与我的插件关联的页面。

这是我的 .htaccess 文件

RewriteEngine On
RewriteBase /

RewriteRule ^index\.php$ - [L]

# uploaded files
RewriteRule ^files/(.+) wp-includes/ms-files.php?file=$1 [L]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule . index.php [L]
4

1 回答 1

3

原来,我的脚本使用自定义函数通过 $_REQUEST 对象获取 GET 参数,该对象已被 wordpress 取消。

我使用以下代码来获取它。

global $wp_query;
$wp_query->query_vars['cc'];
于 2012-10-22T08:32:33.437 回答