Wordpress - 单页作为首页上的部分

时间:2015-05-15 15:57:59

标签: wordpress advanced-custom-fields sections

我创建了多个页面,比如服务,关于,我们的团队...在wordpress中,我可以修改那些页面的内容,为每个页面创建单独的php文件,如page-services.php或page-about.php,这样我就可以使用了这些页面中的高级自定义字段插件。但我现在需要做的是将这些页面作为章节包含在我的首页或静态页面中,以便那些以前的页面实际上是我头版中的部分。我试着用get_template_part()和get_post()以及get_page()和include()来做这件事,但没有任何工作。我在互联网上寻找答案,但我找不到它,我认为它应该很简单。我很感激任何帮助。

<div id="service" class="text-center">
<div class="container-fluid">
    <div class="row">
        <div class="col-sm-12">
            <h3><?php the_title(); ?></h3>
        </div>
    </div>

    <div class="row">
        <div class="col-sm-12">
            <p><?php the_field('service_subtitle'); ?></p>
        </div>
    </div>

    <div class="row">
        <?php if(get_field('service_box')): 

            while(has_sub_field('service_box')): ?>

            <div class="col-sm-4 column-box  wow fadeInUp  animated" data-wow-delay="0.3s">
                <h3><?php  echo the_sub_field('service_box_title'); ?></h3>
                <div class="title-line"></div>
                <p><?php  echo the_sub_field('service_box_content'); ?></p>
            </div>

        <?php   endwhile;

        else :

            // no rows found

        endif;

        ?>
    </div>
</div>

这是我在服务页面或page-service.php文件中的代码。现在我需要在我的头版中包含此页面或此代码。此外,我有这样的多个页面(部分),我需要包括在我的首页。结束我不想只是在前页复制这个和其余的代码我不会在单独的页面上,然后将这些页面包含在首页。

1 个答案:

答案 0 :(得分:0)

您可以根据ID查询页面内容并插入当前的首页代码。像下面的代码一样。

<?php
// Assume that the Id of the page you need to include is 7.
$mypages = get_pages( array( 'include' => '7', 'sort_column' => 'post_date', 'sort_order' => 'desc' ) );

foreach( $mypages as $page ) {      
    $content = $page->post_content;
    if ( ! $content ) // Check for empty page
        continue;

    $content = apply_filters( 'the_content', $content );
?>
    <h2><a href="<?php echo get_page_link( $page->ID ); ?>"><?php echo $page->post_title; ?></a></h2>
    <div class="entry"><?php echo $content; ?></div>
<?php
}   
?>