有什么方法可以让多个Front-Page.php模板互换?

时间:2014-08-16 作者:Edmund Heaphy

我主要想创建几个不同的头版。php模板具有不同的循环和布局,然后在管理面板中提供一个选项,以在一天选择一个模板,在另一天选择另一个模板。

我想,这可以通过愚弄Wordpress,选择一个静态页面作为首页,并从页面编辑屏幕中选择一个自定义页面模板来实现,该模板实际上不是一个“静态”页面,而是一个具有完整循环的页面,这是我的首页中的几个自定义页面模板之一。php选项。

另一种方法是将我的所有循环和自定义布局包含在一个首页的if语句中。php和每次使用其中一个if语句的呈现选项。(这似乎是合理的,虽然对我来说有点笨拙,但我感觉它不是很好,而且存在一些问题,比如加载时间增加。)

我有什么选择没有?或者是为我做这件事的插件?我必须承认,我很惊讶,我没有找到一个插件,可以让你从模板列表中选择显示为首页。php/索引。php页面,而不必求助于静态页面黑客——循环和主页布局的变化必须是一个常见的请求。

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

一种方法是front-page.php 然后使用get_template_part(), 根据用户选择显示不同的内容。

粗略代码:

get_header();

$layout = get_option( \'front_page_layout\', \'default\' );
get_template_part( \'front-page\', $layout );

get_footer();
之后,您需要为每个布局创建一个文件,应该调用它们,类似于:

首页第一页。php第二版。php第三版。php首页默认值。php如果未设置该选项,则将使用最后一个选项,例如,当主题刚刚激活时。

当然,您需要在后端有一个页面,用户可以在其中选择模板并保存“front\\u page\\u layout”选项。

只有一个front-page.php 任何看到你的主题的人都可以很容易地识别它,而不必看代码。

另一种选择是front-page.php 要包含默认布局,在此之后,可以使用page templates.

/*
Template Name: Home Page Alternative One
*/
通过这种方式,您的用户可以创建一个页面,为其分配一个已创建的模板,并最终将此页面设置为reading settings.

第一次之后,要更改主页布局,用户只需更改页面模板,将页面选择为静态首页。

第二个选项需要用户做更多的工作,但不能使用主题设置页面来设置“front\\u page\\u layout”选项。

SO网友:Mark Kaplun

只有一个选项,页面模板一个。这就是99%的主题是如何工作的,wordpress用户和实现者都习惯了这一点。你可以尝试与众不同,但没有人会欣赏它。

结束

相关推荐

How to finish this loop?

我已经问过一个问题,如何只获取属于某个分类法的父页面的子页面。一位非常有帮助的用户给了我这个答案,然而,我没有得到代码来完成循环的任何一方,这样我就可以得到:标题、特色图片和摘录。我得到的代码是:$child_ids = $wpdb->get_col( \"SELECT ID FROM $wpdb->posts WHERE post_parent = $post->ID AND post_type = \'page\' ORDER BY menu_order\"