如何根据URL更改模板

时间:2014-06-16 作者:DigitalSky

好吧,这就是我想做的,但我花了很长时间才弄明白。

我有一个使用MemberPress插件的网站。默认情况下,所有这些页面都为其动态生成的每个页面(即感谢页面、结帐页面、帐户页面等)使用标准默认模板。此外,这些页面是动态生成的,不能从管理部分编辑以使用您想要的任何模板。

因此,我正在尝试更改模板的所有页面都有一个共同点,它们都有一个URL,其中包含/register/(即www.mywebsite.com/register/page name here/)。

现在我检查了页面底部的所有WordPress函数引用。。。http://codex.wordpress.org/Function_Reference/is_page

我看不到任何可以用来确定页面URL中是否包含/注册/的内容,但我希望有一些可以放在页面中的代码。这些页面使用的php默认模板。代码只会说这样的话。。。

如果URL包含/注册/不包含提要栏。其他包括侧栏。

因此,换句话说,注册页面将不包括侧栏,任何其他页面都将包括侧栏。有意义吗?

1 个回复
最合适的回答,由SO网友:Caspar 整理而成

如果不显示侧边栏是您真正想要的页面显示方式之间的差异,那么您可以在页面中有条件地加载侧边栏。php(或主题用于加载页面的任何文件):

<?php
  if ( strpos($_SERVER[\'REQUEST_URI\'],\'/register\') == false ) { // if requested uri DOESN\'T contain \'/register\' load the sidebar.
    get_sidebar();
  }
?>
也就是说,如果您需要对这些页面的模板进行更深入的更改,那么最好为这些页面创建一个新的页面模板。一旦有了自定义页面模板,就可以在页面编辑中为网站上的任何页面选择该模板。有关自定义页面模板的说明,请参阅codex.

结束