使用Wordpress自定义页面3.4.1

时间:2012-07-11 18:19:17

标签: php wordpress

我在尝试获取要在我的网站上显示的自定义页面时遇到一些问题。我想要的是创建一个页面,客户端可以在其中编辑Wordpress中的内容。当我使用Wordpress添加页面时“添加新页面”它没有显示,但如果我在.php中创建一个具有相同内容的页面,它可以正常工作。这就是我所做的:

首先,我使用以下代码创建了一个名为lefthome.php的空白.php模板:

    <?php
/*
Template Name: Left Template
*/
?>

        <?php get_template_part( 'loop', 'page' ); ?>

然后我进入Wordpress,点击页面&gt;添新。我给了我的页面一个标题,并添加了我想要在页面上显示的内容。然后从页面属性中的模板选项中选择我之前创建的模板(左模板)并单击更新。

我希望此模板显示在主页上,因此我尝试将其添加到我使用以下代码创建的主页模板中:

    <?php
/*
Template Name: Home
*/

get_header(); ?>

<?php include (TEMPLATEPATH . '/slider.php'); ?>

<div id="content">
    <?php include (TEMPLATEPATH . '/lefthome.php'); ?>
</div>

        <?php get_template_part( 'loop', 'page' ); ?>


<?php get_footer(); ?>

标题,slider.php和页脚都显示正常。 lefthome.php的内容不会出现。我不知道如何让它显示出来。我要展示的唯一方法是将内容粘贴到lefthome.php模板中。我不想这样做,因为客户端将无法自己编辑内容。

我希望有人可以帮助我。

谢谢

1 个答案:

答案 0 :(得分:2)

仅通过直接调用其模板文件,您将无法显示页面内容。您需要查询页面本身。在这个问题上,你已经分配给它的模板无关紧要了。

<?php
/*
Template Name: Home
*/

get_header(); ?>

<?php include (TEMPLATEPATH . '/slider.php'); ?>

<div id="content">
<?php
global $post;
$page_id =5; // 5 is the id of the page we want to present with Left Template.
$post = get_post( $page_id );

setup_postdata( $post );
include locate_template( 'lefthome.php' );
wp_reset_postdata(); // we are done with that. reset the query so the rest don't mess up
?>
</div>

        <?php get_template_part( 'loop', 'page' ); ?>


<?php get_footer(); ?>