2016-11-30 91 views
0

我會保持這個很短。使用自定義WordPress網址鏈接參數,而不是url中的GET值

我讀過有關更改以下網址WordPress的一些教程:

本地主機/ mysite的/ werkvorm項目=測試

要:

localhost/mysite/werkvorm/test

所以我可以得到乾淨的鏈接搜索引擎。頁面加載就像只讀取$_GET['item']的值,但帶有更易於閱讀的網址。

用下面的代碼我想實現我的目標:

的functions.php:

/** 
* For rewriting URLS on werkvorm 
*/ 

add_action('init', function(){ 
    add_rewrite_rule(
    '^werkvorm/([^/]+)([/]?)(.*)', 
    'index.php?pagename=werkvorm&item=$matches[1]', 
    'top' 
    ); 
}); 

/** 
* Retrieve the data from the get parameter for werkvorm page 
*/ 

add_filter('query_vars', function($vars){ 
    $vars[] = 'werkvorm'; 
    $vars[] = 'item'; 
    return $vars; 
}); 

在werkvorm頁面,我可以使用:

$test = get_query_var('item'); // to retrieve the data 

現在,當我使用的網址:localhost/mysite/werkvorm/test 我得到了404.但是,當我使用localhost/mysite/werkvorm/?item=test它工作正常只有網址沒有改變。任何對此的幫助表示讚賞。

+1

是否將永久鏈接結構更改爲「發佈名稱」不是訣竅? (admin-> settings-> permalinks) –

+0

@丹。哈哈,就是這樣。謝謝,我不是那麼喜歡Wordpress,所以我真的不知道。 –

+0

不用擔心哈哈。根據您的URL結構要求,您可能需要編寫一些代碼。但是帖子名稱結構設置在這裏可以做到這一點 –

回答

1

在admin-> settings-> permalinks中將固定鏈結構更改爲'發佈名稱'。

根據您的URL結構要求,您可能需要編寫一些代碼。但是帖子名稱結構設置將在這裏實現。

相關問題