[英]Rewrite url condition on Wordpress for multiple items
想添加一個重寫規則來改變這個:
/compare/?items=test1,test2
進入這個
/compare/test1-vs-test2
此外,最多可以有 4 個項目發送到 URL,因此結果將是
/compare/test1-vs-test2-vs-test3-vs-test4
這可以使用https://developer.wordpress.org/reference/functions/add_rewrite_rule/來實現嗎?
或者我應該直接在.htaccess 中添加一些條件? 任何幫助,將不勝感激。 謝謝你。
items
查詢變量 function compare_query_vars( $qvars ) {
$qvars[] = 'items';
return $qvars;
}
add_filter( 'query_vars', 'compare_query_vars' );
$items = get_query_var( 'items');
$items = explode('-vs-',$items);
$the_query = new WP_Query( [ 'post_name__in' => $items ] );
結果: /?items=test1-vs-test2
注意:當您構建初始 url 時,請確保您發送的是帖子的 slug 而不是 ID
add_action( 'init', function() {
add_rewrite_rule( '^compare/([a-z0-9-]+)[/]?$', 'index.php?page_id=37&items=$matches[1]', 'top' );
} );
注意: page_id 應該是您正在創建循環的頁面的 ID
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.