2013-09-26 37 views
1

說,我在example.com運行WordPress安裝,並具有以下網址力的WordPress忽略在W URL參數

http://example.com/blah?w=100

現在,我想的WordPress忽略W = 100部分原因是,每當我將一個數字參數傳遞給w時,WordPress會將我重定向到單個頁面,我認爲這與Attachments有關。

我無法將w重命名爲任何其他內容,因爲它超出了我的控制範圍,我的網站必須與第三方應用程序一起工作,該應用程序不會讓我改變這種情況。

我想這

add_filter('request', array($this,'on_request')); 
function on_request($vars){ 
    unset($vars['w']); 
    return $vars; 
} 

而且這是行不通的 - 在這個有什麼建議嗎?

回答

0

好吧,我自己解決了。

add_filter('request', 'alter_the_query'); 
function alter_the_query($request) { 
    $dummy_query = new WP_Query(); // the query isn't run if we don't pass any query vars 
    $dummy_query->parse_query($request);  
    unset($request['w']); 
    return $request; 
} 
2

我會小心這種方法。 w參數是WordPress reserved query variable。該參數用於根據設置中的start_of_week選項查找週數,並可能影響一堆查詢。

如果您不能像您提到的那樣更改參數,我會盡可能至少檢查請求是否來自第三方提供者,然後才能取消設置參數。

+0

我不知道它是保留的查詢變量,我認爲它與調整圖像大小有關,並且w代表寬度,因爲它只接受數值。我會按照你的指示,非常感謝你。 – aghoshx