我希望能够将所有页面从我的自定义主题拉到一个页面模板中,但仍然允许根据所选页面模板显示所有页面。
换句话说,如果我有一个名为“Main”的页面模板,我将所有页面数据都拉入其中,并创建了一个名为“Home”的页面,我希望此页面根据我为“主页”选择的页面模板。这可能吗?
谢谢,JW
我希望能够将所有页面从我的自定义主题拉到一个页面模板中,但仍然允许根据所选页面模板显示所有页面。
换句话说,如果我有一个名为“Main”的页面模板,我将所有页面数据都拉入其中,并创建了一个名为“Home”的页面,我希望此页面根据我为“主页”选择的页面模板。这可能吗?
谢谢,JW
好的,所以我将在这里回答我自己的问题。我自己做了一些研究,并修改了教程中的一些代码来 Ajaxify 一个主题。需要发生的是这个。
在您的 page.php 文件或您想用作主页模板的任何模板中,添加它。
<?php query_posts( array('post_type'=>'page', 'posts_per_page' => 1000, 'orderby' => 'menu_order', 'order' => 'ASC') ); ?>
<?php if(have_posts()): while(have_posts()): the_post(); ?>
<?php
global $post;
$slug = $post->post_name;
locate_template(
array(
"template-$slug.php",
'template-main.php'
), true
);
?>
<?php endwhile; endif; ?>
然后将您的页面模板添加到主题中,并根据页面名称命名,即 template-about.php 或 template-home.php。然后,您可以将所有内容动态显示在一个单页站点中,并能够使用默认的 Wordpress 页面。我希望我对此很清楚,如果没有,请随时告诉我,我会尽力澄清。
在所有页面模板中使用:
include 'page.php';
然后在 page.php 你可以使用这个:
if (is_page_template('page_temp_one.php')) { ... }