gpt4 book ai didi

php - 使用多个模板显示页面内容 - WordPress

转载 作者:行者123 更新时间:2023-12-02 01:17:21 26 4
gpt4 key购买 nike

是否可以有这样的页面:www.site.com/page/

并显示不同的模板化版本,例如:

www.site.com/page/?template=default

www.site.com/page/?template=archive

...?

因此它检索相同的页面内容但显示不同。

这在 WordPress 上可行吗?它是标准的还是需要一些 tomhackery 才能做到这一点?

谢谢

最佳答案

我刚才回答过类似的问题。

Manually set template using PHP in WordPress

上面的答案应该可行,但我认为使用 TEMPLATEPATH 并不理想,它似乎也没有利用 WordPress 已经在做的事情来选择模板。

function filter_page_template($template){

/* Lets see if 'template is set' */
if( isset($_GET['template']) ) {

/* If so, lets try to find the custom template passed as in the query string. */
$custom_template = locate_template( $_GET['template'] . '.php');

/* If the custom template was not found, keep the original template. */
$template = ( !empty($custom_template) ) ? $custom_template : $template;
}

return $template;
}
add_filter('page_template', 'filter_page_template');

这样做,您不需要为每个您希望能够指定的模板添加一个新行。此外,您还可以利用现有的模板层次结构,并考虑输入不存在的模板的可能性。

我要指出的是,您应该在使用 $_GET['template'] 值之前对其进行一些验证,而且您可能希望保留一个运行列表以进行检查,这样他们就不能简单地使用任何旧的模板。

关于php - 使用多个模板显示页面内容 - WordPress,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9620898/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com