常用单页模板选项

时间:2011-10-14 作者:Ezhil

我正在为25个网站开发一个通用主题,默认要求已经完成。每个站点都有不同的单个帖子模板。我需要将它作为一个单独的主题进行分组,这样我就不需要每次都硬编码并维护一个公共平台。

各种单帖模板都是普通的博客/选项卡结构/列表视图。我现在正在为我的主题创建一个选项页,这样用户就可以自己为单页创建布局,而无需硬编码(选项可能是拖放)。我需要创建某些组件,如选项卡、侧栏、列表和为不同类别保存模板。选项卡中的值可以来自自定义字段taxonomy。用户可以为各种类别/标记/分类创建n个模板并保存。例如:体育、教育类模板1。

我试图这么做,但我没有任何线索,可能是阿图哈尔帕的主题接近了。如何解决它。

2 个回复
SO网友:Stephen Harris

听起来你希望用户能够改变单曲的结构。php格式没有太多WordPress专有技术(可能是针对客户端?)。

您可以为此创建一个选项页面,并允许用户选择他们喜欢的结构。

在您的functions.php 或者一个插件,当WordPress加载页面时,您可以使用钩子调用函数。然后此函数使用is_single() 要检查是否需要单个页面,您可以让WordPress检查是否选择了单个模板,然后change 正在调用的模板(默认情况下single.php 如果存在)。相反,它可以调用single-normal.php, single-tab.php, 等(或single.php). 然后,您将为各种格式创建其中的每一个。

例如:

add_filter(\'template_include\', \'template_switch\');
function template_switch( $template ){
    if( is_single()) {
    switch (get_option(\'single-template\')){
            case \'tab\':
            $template = locate_template( \'single-tab.php\');
            break;

            case \'list\':
            $template = locate_template( \'single-list.php\');
            break;

            case \'normal\':
            $template = locate_template( \'single-normal.php\');
            break;
        }  
    }
    return $template;
}
Thesingle-normal.php 可能是多余的,你可以使用single.php. 您还需要添加选项页,并注册\'single-template\' Wordpress选项。有关详细信息,请参见CodexOptions Referencecreating options pages.

显然,您必须创建文件\'single-normal.php\', \'single-tab.php\' 等

Edit: 或者,不使用switch语句,您可以非常聪明(如果选择了选项),只需调用模板即可:\'single-\'.$option.\'php\', 哪里$option 是返回get_option(\'single-template\'). 这意味着您可以通过创建适当的页面并更新可用选项来添加更多模板样式,并且上述代码可以保持不变:D

希望这有帮助!

SO网友:Chip Bennett

你的问题有点不清楚,但如果我没听错的话:你需要一个主题,有几个模板single.php?

如果是这样,我建议创建基本主题,然后使用Child Themes 要自定义single.php. 这样做是多次重写单个模板文件的最简单方法,可以最大限度地减少代码重复。

结束

相关推荐

Wordpress Hacks/Defacing

我想弄清楚Wordpress网站是如何被破坏/黑客入侵的。我非常了解发展。我知道如何保护代码等。但我最近发现,大量Wordpress网站正在遭到破坏。我开发的两个网站和其他网站。它只是过时的Wordpress安装吗?即使Wordpress运行的是3.1版,网站仍然被破坏。所有用户输入均在前端和后端进行验证。尽可能使用WP NONCE。服务器相当安全(不是777)。????我对Wordpress失去了信心。如果是我的错,我很乐意承认并修复,但唯一的答案似乎是过时的Wordpress网站,我觉得这很难相信。