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

私のスクリプトはカスタム関数を使用して、wordpressによって無効にされていた$_REQUESTオブジェクトを介してGETパラメーターを取得していることが判明しました。

代わりに、次のコードを使用して取得しました。

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