Wordpress에서 add_rewrite_rule() 함수를 사용하여 변수에 적절한 값을 할당하는 데 문제가 있습니다. 내 목표는 다음과 같은 URL을 갖는 것입니다 : www.mywebsite.com/catalog/category1/category2/item-slug
. 3 개의 변수가있는 Wordpress add_rewrite_rule
add_filter('query_vars', 'query_vars_new');
function query_vars_new($query_vars){
$query_vars[]='category1';
$query_vars[]='category2';
$query_vars[]='catalog_item';
return $query_vars;
}
add_action('init', 'rewrite_init');
function rewrite_init(){
add_rewrite_rule('catalog(/([^/]+))?(/([^/]+))?/?','index.php?page_id=94&category1=$matches[1]&category2=$matches[2]&catalog_item=$matches[3]','top');
}
그래서 목표는 세 개의 변수
$category1
,
$category2
및 해당 URL 세그먼트의 값으로
$catalog_item
을하는 것입니다 :
다음은 functions.php 파일에서 내 코드입니다. 그러나 이것을 테스트 할 때 처음 두 변수는 같은 값으로 설정됩니다.
$category1="clothes";
$category2="shirts";
$catalog_item="polo-shirt";
을하지만 그 대신 내가 얻을 :
예를 들어, www.mywebsite.com/catalog/clothes/shirts/polo-shirt
는 반환해야
$category1="/clothes";
$category2="clothes";
$catalog_item="/polo-shirt";
내 add_rewrite_rule 기능에 문제가 있어야합니다,하지만 난 그것을 알아낼 수 없습니다 .
다음 번에 http://wordpress.stackexchange.com/을 방문하십시오. – patrickzdb