Wordpress后循环 - 不工作

时间:2013-11-07 13:02:36

标签: wordpress

我正面临着巨大的问题:(整天我正在尝试循环工作。我使用默认的wordpress主题。如果我把循环放在index.php或home.php帖子工作正常。如果我把循环放在一些例如blog-template.php我得到空白屏幕?如何循环工作在index.php或archive.php或categories.php但不在任何页面模板上???

        <?php if ( have_posts() ) : ?>

        <?php /* The loop */ ?>
        <?php while ( have_posts() ) : the_post(); ?>
            <?php get_template_part( 'content', get_post_format() ); ?>
        <?php endwhile; ?>

        <?php twentythirteen_paging_nav(); ?>

    <?php else : ?>
        <?php get_template_part( 'content', 'none' ); ?>
    <?php endif; ?>

正如我在index.php上使用此代码所说的那样,我得到了graet结果以及prev / next page按钮。但如果我在模板文件上使用我有空白屏幕? 请帮忙

3 个答案:

答案 0 :(得分:3)

将它置于循环之前。我遇到了同样的问题。

<?php query_posts('post_type=post') ?>

编辑:

我想,这是对这个问题的快速解决方法。我只是查看了query_post函数,wordpress codex似乎猛烈地谴责它;强调它在使用中效率低下且过于简单化。但它建议使用get_posts。

你并不是唯一遇到这个问题的人。 Wordpress和其他人一起,似乎很容易记录使用循环但不是真的......实现它。我认为大多数网站都认为理所当然地知道你在做什么。

叹息。

答案 1 :(得分:2)

在页面模板中,您需要在have_posts

之前传递query_posts
$args = array(
'post_type'=> 'post',

);
query_posts( $args );

答案 2 :(得分:0)

请按照步骤创建自定义页面模板:

  1. 创建新文件,即custom-page-template.php。复制并粘贴文件顶部的以下注释行

    <?php
    /*
    
    Template Name: Custom Template 1
    
    */
    
    ?>
    
  2. 将以下代码复制并粘贴到custom-page-template.php中:

    <?php 
    get_header(); 
    ?>
    
    <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 -->
    

  3. 在管理面板中创建新页面,然后从页面属性面板(右侧)中选择页面模板“自定义模板1”。请参阅以下图像以选择页面模板:

    enter image description here

  4. 现在保存并查看视图。它必须工作。