2013-02-26 90 views
1

我想WordPress的處理傳入的URL具有可變參數,而不是拋出一個404基本上進來的URL可能看起來像這樣:WordPress |接受變量參數傳入的URL

http://mysite.com/custom-post-type/some-post/?promo=12er34 

我然後傳遞最後一段轉換爲促銷活動的註冊表單。顯然,達不到這個網址直接將拋出一個404

反正是有建立在我的自定義類型後一個條件,將允許匹配,如果傳入的URL有一個額外的指定段?

回答

1

在您的自定義後類型模板,你可以這樣做:

$code = isset($_GET[ 'promo' ]) ? sanitize_text_field($_GET[ 'promo' ]) : '';

順便說一句,在你的URL參數應該在?promo有。

像這樣:http://mysite.com/custom-post-type/some-post/?promo=12er34

更新:

如果你想獲得這個值,無論您是否是一個自定義後類型或默認後期型,試試這個在您的functions.php

function get_promo_code($wp) { 
    if(! is_single()) 
     return; 

    // Do whatever you want with the promo code here. 
    $code = isset($_GET[ 'promo' ]) ? sanitize_text_field($_GET[ 'promo' ]) : ''; 
} 

add_action('wp', 'get_promo_code'); 
+0

我越想越覺得這個全球化越有意義。換句話說,我不希望將其限制爲自定義帖子類型。無論帖子或網頁網址是什麼,我都想匹配/允許傳入的網址使用/?promo = 12er34。也許這是一個.htaccess的東西? – intheusa 2013-02-26 21:48:18

+0

我已經更新了我的答案來說明如何捕捉違約後類型的促銷代碼,以及自定義後的類型。 – 2013-02-26 22:34:45

+0

謝謝斯賓塞,你知道是什麼,但...我是個白癡,甚至沒有嘗試這一點,但沒有上述功能,如果我一巴掌串到我的WP網址像定製後型月底/?促銷= 125234它工作正常:/我想如果它是一個查詢參數它不會拋出404 ...?奇怪的是,我只是假設WP會拋出一個404甚至沒有嘗試它。我在這裏錯過了什麼嗎? – intheusa 2013-02-26 23:16:26