2016-10-05 30 views
0

我已經將我的網站分爲女性和男性顯示,現在我擔心is_front_page()is_home()函數。WP:可以修改is_front_page()和is_home()函數

在此更改之前,我只有www.site.com成爲首頁,現在我也有www.site.com/menwww.site.com/women,我也希望它們被識別爲首頁。

我想過要創建一個新班級My_Query extends WP_Query並重寫這些功能。

這是一個壞主意嗎?有沒有更好的辦法?

回答

1

實現從WP_Query繼承的class是一個好主意,但我相信在需要時仍應支持舊功能,即使您在此刻沒有看到這種情況。你應該有這樣的事情:

class My_Query extends WP_Query { 
    //... 
    public function is_home($default = true) { 
     if ($default) { 
      return parent::is_home(); 
     } else { 
      //Implement your custom case 
     } 
    } 

    public function is_front_page($default = true) { 
     if ($default) { 
      return parent::is_front_page(); 
     } else { 
      //Implement your custom case 
     } 
    } 
    //... 
} 

你可以有一個false$default爲默認值,如果它適合你的需要更好。這種方法也會與未來的Wordpress版本兼容,至少在默認情況下使用它的時候也是如此。

+0

謝謝。但我需要知道是否有其他建議。也許是一個鉤子?但我想這是唯一的方法.. –

+1

@HikeNalbandyan,這是一個整潔優雅的方式。你從一開始就有一個非常好的主意,我只是幫助它成形。如果我的答案解決了您的問題,那麼您可以考慮接受它。 –