不确定将此代码放在我的自定义帖子类型的哪个位置?

时间:2014-07-14 13:56:32

标签: php wordpress

我有一个自定义帖子类型(称为“折扣”),我试图在第二十三个主题中显示。我创建了一个名为discount-page.php的自定义页面文件,为此帖子类型创建自己的模板。但是,我不确定在哪里放置wp_query代码。这是默认的page.php的样子,添加了新的模板名称:

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">

        <?php /* The loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>


            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <header class="entry-header">
                    <?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
                    <div class="entry-thumbnail">
                        <?php the_post_thumbnail(); ?>
                    </div>
                    <?php endif; ?>

                    <h1 class="entry-title"><?php the_title(); ?></h1>
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <?php the_content(); ?>
                    <?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
                </div><!-- .entry-content -->

                <footer class="entry-meta">
                    <?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
                </footer><!-- .entry-meta -->
            </article><!-- #post -->

            <?php comments_template(); ?>
        <?php endwhile; ?>

    </div><!-- #content -->
</div><!-- #primary -->

现在,我很确定为了让我的帖子能够真正展示他们的内容,我需要将这段代码添加到discount-page.php:

<?php
 $query = new WP_Query( array('post_type' => 'discount', 'posts_per_page' => 5 ) );
 while ( $query->have_posts() ) : $query->the_post(); ?>
// Your code e.g. "the_content();"
<?php endif; wp_reset_postdata(); ?>
<?php endwhile; ?>

我只是不知道在哪里添加它?无论我在哪里添加它,它似乎打破了页面。

先谢谢!

1 个答案:

答案 0 :(得分:0)

您只需更改几行代码即可使用。

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">

        <?php /* The loop */ ?>
        <?php 
            $query = new WP_Query( array('post_type' => 'discount', 'posts_per_page' => 5 ) );
            while ( $query->have_posts() ) : $query->the_post(); ?> ?>


            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <header class="entry-header">
                    <?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
                    <div class="entry-thumbnail">
                        <?php the_post_thumbnail(); ?>
                    </div>
                    <?php endif; ?>

                    <h1 class="entry-title"><?php the_title(); ?></h1>
                </header><!-- .entry-header -->

                <div class="entry-content">
                    <?php the_content(); ?>
                    <?php wp_link_pages( array( 'before' => '<div class="page-links"><span class="page-links-title">' . __( 'Pages:', 'twentythirteen' ) . '</span>', 'after' => '</div>', 'link_before' => '<span>', 'link_after' => '</span>' ) ); ?>
                </div><!-- .entry-content -->

                <footer class="entry-meta">
                    <?php edit_post_link( __( 'Edit', 'twentythirteen' ), '<span class="edit-link">', '</span>' ); ?>
                </footer><!-- .entry-meta -->
            </article><!-- #post -->

            <?php comments_template(); ?>
        <?php endwhile; wp_reset_postdata(); ?>

    </div><!-- #content -->
</div><!-- #primary -->

如果你想要它的超级简单版本删除其他所有内容。试试这个:

<div id="primary" class="content-area">
    <div id="content" class="site-content" role="main">
        <?php 
            $query = new WP_Query( array('post_type' => 'discount', 'posts_per_page' => 5 ) );
            while ( $query->have_posts() ) : $query->the_post(); 
        ?>
            <article id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
                <div class="entry-content">
                    <?php the_content(); ?>
                </div>
            </article>
        <?php endwhile; wp_reset_postdata(); ?>
    </div>
</div>