1

我正在为一个巨大的问题苦苦挣扎:(一整天我都在尝试循环工作。我使用默认的 wordpress 主题。如果我在 index.php 或 home.php 上放置循环,则帖子工作正常。如果我在一些 pate 模板中放置循环例如 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 上的这段代码所说,我得到了很好的结果以及上一页/下一页按钮。但是如果我在模板文件上使用我会得到空白屏幕?请帮忙

4

3 回答 3

3

把它放在你的循环之前。我遇到了同样的问题。

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

编辑:

我想这是一个快速解决问题的方法。我刚看了query_post函数,wordpress codex似乎猛烈谴责它;强烈嘲笑它的使用效率低下且过于简单化。但是,它确实推荐 get_posts。

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

叹。

于 2013-11-08T21:14:26.217 回答
2

在页面模板中,您需要在 have_posts 之前传递 query_posts

$args = array(
'post_type'=> 'post',

);
query_posts( $args );
于 2013-11-07T13:11:00.727 回答
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”。参见下图选择页面模板:

    在此处输入图像描述

  4. 现在保存并查看视图。它必须工作。
于 2013-11-07T14:18:14.777 回答