ホームページ  >  記事  >  バックエンド開発  >  ルーティング機能を実装するためのWordPressカスタムURLパラメータのコード例_PHPチュートリアル

ルーティング機能を実装するためのWordPressカスタムURLパラメータのコード例_PHPチュートリアル

WBOY
WBOYオリジナル
2016-07-13 17:17:491027ブラウズ

2日間正規表現を学び、WordPressのルーティング機能を勉強した結果、WordPressのカスタムルーティング機能を実装することができました。 以下はルーティングルールの実装です。
ルーティングを介して渡されるカスタム URL パラメータがある場合、パラメータは wordpress 関数を介して追加する必要があります:

コードをコピー コードは次のとおりです:

//add query_args
function add_query_vars($aVars) {
$aVars[] = 'score';
$aVars[] = 'type' / / は URL に示されている商品カテゴリの名前を表します
return $aVars;
}
add_filter('query_vars', 'add_query_vars');//wordpress filter

同時に、WordPress 関数を使用してページのパラメータを取得する必要もあります:

コードをコピーします コードは次のとおりです:

$type=isset($wp_query->query_vars['type'])?urldecode($wp_query->query_vars['type']) :'';

コードをコピーします

コードは次のとおりです: //ルーティング ルール - 時間と各カテゴリの最新エントリで並べ替えます
function add_rewrite_rules($aRules) {
$aNewRules = array(
][ ^/]+)/?(/page/([0-9]+)?)?/?$' => 'index.php?cat=2&score=$matches[1]&paged=$matches[ 3] ',
'image/([^最新][^/]+)/?(/page/([0-9]+)?)?/?$'=>'index.php?cat= 3&score= $matches[1]&paged=$matches[3]',
'video/([^latest][^/]+)/?(/page/([0-9]+)?)?/? =>'index.php?cat=4&score=$matches[1]&paged=$matches[3]',
'resource/([^latest][^/]+)/?(/page/( [0 -9]+)?)?/?$'=>'index.php?cat=5&score=$matches[1]&paged=$matches[3]',
'text/(最新)/?( /page /([0-9]+)?)?/?$'=>'index.php?cat=2&type=$matches[1]&paged=$matches[3]',
'image/(最新)/ ?(/page/([0-9]+)?)?/?$'=>'index.php?cat=3&type=$matches[1]&paged=$matches[3]',
video/(最新)/?(/page/([0-9]+)?)?/?$'=>'index.php?cat=4&type=$matches[1]&paged=$matches[3] ',
'resource/(最新)/?$'=>'index.php?cat=5&type=$matches[1]',
'(月)/?(/page/([0-9]+ )?) ?/?$'=>'index.php?score=$matches[1]&paged=$matches[3]',
'(24時間)/?(/page/([0-9]+ )?) ?/?$'=>'index.php?score=$matches[1]&paged=$matches[3]',
);
$aRules = $aNewRules + $aRules;
return $aRules; add_filter('rewrite_rules_array', 'add_rewrite_rules');





コードをコピーします

コードは次のとおりです:

//ルーティングルール-カテゴリーadd_rewrite_rule('^text/?(/page/([0-9]+)?)?/?$ ','index .php?cat=2&paged=$matches[2]','top'); //対応するカテゴリIDadd_rewrite_rule('^image/?(/page/([0-9]+)?) ?/? $','index.php?cat=3&paged=$matches[2]','top');
add_rewrite_rule('^video/?(/page/([0-9]+)?)? /?$ ','index.php?cat=4&paged=$matches[2]','top');
add_rewrite_rule('^resource/?(/page/([0-9]+)?)?/ ?$' ,'index.php?cat=5&paged=$matches[2]','top');



http://www.bkjia.com/PHPjc/621710.html

www.bkjia.com
tru​​e

http://www.bkjia.com/PHPjc/621710.html

2日間正規表現を学び、WordPressのルーティング機能を勉強した結果、WordPressのカスタムルーティング機能を実装することができました。 以下はルーティングルールの実装です。 カスタマイズした場合は...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。