使用页面模板将所有Wordpress页面拉到一个页面

时间:2013-03-23 22:43:35

标签: wordpress

我希望能够将自定义主题中的所有页面拉到一个页面模板中,但仍允许根据所选页面模板显示所有页面。

换句话说,如果我有一个名为“Main”的页面模板,我将所有页面数据拉入其中,并创建一个名为“Home”的页面,我希望此页面显示在“Main”模板上根据我为“主页”页面选择的页面模板。这可能吗?

谢谢, JW

2 个答案:

答案 0 :(得分:3)

好的,所以我将在这里回答我自己的问题。我自己做了一些研究,并修改了教程中的一些代码来Ajax化一个主题。需要做的是这个。

在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; ?>

然后将您的页面模板添加到主题中,并根据页面slug命名,即template-about.php或template-home.php。然后,您可以在一个页面的站点中动态显示所有内容,并能够使用默认的Wordpress页面。我希望我对此很清楚,如果没有,请随时告诉我,我会尽力澄清。

答案 1 :(得分:0)

在您的所有页面模板中使用:

include 'page.php';

然后在page.php中你可以使用它:

if (is_page_template('page_temp_one.php')) { ... }