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
true
http://www.bkjia.com/PHPjc/621710.html
技術記事 2日間正規表現を学び、WordPressのルーティング機能を勉強した結果、WordPressのカスタムルーティング機能を実装することができました。 以下はルーティングルールの実装です。 カスタマイズした場合は...