GET_TEMPLATE_PART()与_Content()有关的问题

时间:2015-08-08 作者:user200260

我正在创建一页wordpress主题-我是wordpress开发人员的新手。一页网站有代表页面的部分。所以首页上的每个部分都是通过管理面板创建的。

有一页。php和主页。

首页需要将所有页面显示为一个部分。

所以我从头版里面的循环开始。php:

<?php get_header(); ?>

<?php 

    $query = new WP_Query(\'pagename=home\');
    if ( $query->have_posts () ) : while ( $query->have_posts() ) : $query->the_post();

            get_template_part("page-home");

        endwhile; endif;
        wp_reset_postdata();

 ?>

<?php get_footer(); ?>
第一个问题是:get\\u template\\u part没有从主页显示\\u内容()。php,仅显示html标记。

这是主页。php

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

<?php get_header(); ?>
        <section id="first_section">
        <img class="jumbo wow bounceInDown animated" data-wow-delay="2s" src="<?php echo get_template_directory_uri(); ?>/images/jumbo-illustration.png" alt="Webdesigner and Developer" />
        <div class="tagline-wrapper wow bounceInLeft animated" data-wow-delay="2.5s">
        <!--  IF the_content() is placed here, it displays the content on front-page -->
        <h3 class="tagline"><?php the_content(); ?></h3>

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        <h3 class="tagline"><?php the_content(); ?></h3>
    <?php endwhile; ?>
    </div>
    <?php   else : ?>
        <p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
    <?php endif; ?> 


    </section>


<?php get_footer(); ?>
通知<h3 class="tagline"><?php the_content(); ?></h3>如果在循环中,则首页不会呈现\\u内容,但如果在循环之前,则会正常显示。

我错过了什么?

Tnx提前

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

问题是您正在头版的二次查询中运行循环。php和主页中main的循环。php。因此,在主页中发布数据。php不会是来自首页WP\\U查询的数据。php。

此外,您试图将完整的模板文件作为模板部分获取,这是不正确的。我是说,头版。php是一个完整的模板,将页眉、内容和页脚以及页面fome。php也是一个包含页眉、内容和页脚的完整模板。您应该重新考虑拆分模板部分的逻辑。

这是一个向您展示正确方法的基本(愚蠢)示例:

front-page.php:

<?php get_header(); ?>

<?php 

    $query = new WP_Query(\'pagename=home\');
    if ( $query->have_posts () ) : while ( $query->have_posts() ) : $query->the_post();

            get_template_part("content");

        endwhile; endif;
        wp_reset_postdata();

 ?>

<?php get_footer(); ?>

page-home.php:

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

<?php get_header(); ?>
        <section id="first_section">
        <img class="jumbo wow bounceInDown animated" data-wow-delay="2s" src="<?php echo get_template_directory_uri(); ?>/images/jumbo-illustration.png" alt="Webdesigner and Developer" />
        <div class="tagline-wrapper wow bounceInLeft animated" data-wow-delay="2.5s">

    <?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>

        get_template_part("content");

    <?php endwhile; ?>
    </div>
    <?php   else : ?>
        <p><?php _e( \'Sorry, no posts matched your criteria.\' ); ?></p>
    <?php endif; ?> 


    </section>


<?php get_footer(); ?>

content.php:

<h3 class="tagline"><?php the_content(); ?></h3>

结束

相关推荐

301 Redirect Loop

我有wordpress网站托管在openshift上,比如说。com。我正在重定向示例。com到www.example。com(非www到www)。我已经为www和非www版本创建了别名,并用app name更新了我的cname。我试着将非www cname记录指向www版本,但除了主页(相同的301重定向循环)外,它仍在工作,所以我将非www cname还原回应用程序url。现在www版本正在提供服务,但非www版本正在通过重定向到自身来创建301重定向循环。我的wordpress网站url是www.e