WP:可以修改is_front_page() 和is_home() 函数吗

WP: is it ok to modify is_front_page() and is_home() functions

我已经将我的网站分为女性和男性显示,现在我担心 is_front_page()is_home() 功能。

在这个改变之前我只有www.site.com是首页,现在我还有www.site.com/menwww.site.com/women,我希望它们也被识别为首页.

我考虑过制作一个新的 class My_Query extends WP_Query 并覆盖这些功能。

这是个坏主意吗?有没有更好的方法?

实现继承自 WP_Queryclass 是个好主意,但我相信您仍然应该在需要时支持旧功能,即使您这样做了这一刻看不到这样的场景。你应该有这样的东西:

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 版本兼容,至少当您以默认方式使用它时。