Wordpress 所有链接和类别显示我最近的帖子

Wordpress 所有链接和类别显示我最近的帖子,wordpress,wordpress-theming,Wordpress,Wordpress Theming,当我点击我博客上的任何链接时,页面和URL都会发生变化,但仍然会显示我最近的帖子,这是我在今年早些时候根据2010年的主题创建的自定义主题,直到最近,它一直工作得很好 博客在这里 我确信这是一个根本性的问题,有人有过同样的问题吗 我原本认为这是一个永久性的问题,但当我改变主题的博客正常工作 loop.php模板中的代码: <?php /* Display navigation to next/previous pages when applicable */ ?> <?php

当我点击我博客上的任何链接时,页面和URL都会发生变化,但仍然会显示我最近的帖子,这是我在今年早些时候根据2010年的主题创建的自定义主题,直到最近,它一直工作得很好

博客在这里

我确信这是一个根本性的问题,有人有过同样的问题吗

我原本认为这是一个永久性的问题,但当我改变主题的博客正常工作

loop.php模板中的代码:

<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if ( $wp_query->max_num_pages > 1 ) : ?>
<div id="nav-above" class="navigation">
    <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
    <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
</div><!-- #nav-above -->
<?php endif; ?>

<?php /* If there are no posts to display, such as an empty archive page */ ?>
<?php if ( ! have_posts() ) : ?>
<div id="post-0" class="post error404 not-found">
    <h1 class="entry-title"><?php _e( 'Not Found', 'twentyten' ); ?></h1>
    <div class="entry-content">
        <p><?php _e( 'Apologies, but no results were found for the requested archive. Perhaps searching will help find a related post.', 'twentyten' ); ?></p>
        <?php get_search_form(); ?>
    </div><!-- .entry-content -->
</div><!-- #post-0 -->
<?php endif; ?>

<?php
/* Start the Loop.
 *
 * In Twenty Ten we use the same loop in multiple contexts.
 * It is broken into three main parts: when we're displaying
 * posts that are in the gallery category, when we're displaying
 * posts in the asides category, and finally all other posts.
 *
 * Additionally, we sometimes check for whether we are on an
 * archive page, a search page, etc., allowing for small differences
 * in the loop on each template without actually duplicating
 * the rest of the loop that is shared.
 *
 * Without further ado, the loop:
 */ ?>
<?php while ( have_posts() ) : the_post(); ?>

<?php /* How to display posts in the Gallery category. */ ?>

<?php if ( in_category( _x('gallery', 'gallery category slug', 'twentyten') ) ) : ?>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <h2 <!--class="entry-title"-->><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>

        <div class="entry-meta">
            <?php twentyten_posted_on(); ?>
        </div><!-- .entry-meta -->

        <div class="entry-content">
<?php if ( post_password_required() ) : ?>
            <?php the_content(); ?>
<?php else : ?>         
            <?php 
                $images = get_children( array( 'post_parent' => $post->ID, 'post_type' => 'attachment', 'post_mime_type' => 'image', 'orderby' => 'menu_order', 'order' => 'ASC', 'numberposts' => 999 ) );
                if ( $images ) :
                    $total_images = count( $images );
                    $image = array_shift( $images );
                    $image_img_tag = wp_get_attachment_image( $image->ID, 'thumbnail' );
            ?>
                    <div class="gallery-thumb">
                        <a class="size-thumbnail" href="<?php the_permalink(); ?>"><?php echo $image_img_tag; ?></a>
                    </div><!-- .gallery-thumb -->
                    <p><em><?php printf( __( 'This gallery contains <a %1$s>%2$s photos</a>.', 'twentyten' ),
                            'href="' . get_permalink() . '" title="' . sprintf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ) . '" rel="bookmark"',
                            $total_images
                        ); ?></em></p>
            <?php endif; ?>
                    <?php the_excerpt(); ?>
<?php endif; ?>
        </div><!-- .entry-content -->

        <div class="entry-utility">
            <a href="<?php echo get_term_link( _x('gallery', 'gallery category slug', 'twentyten'), 'category' ); ?>" title="<?php esc_attr_e( 'View posts in the Gallery category', 'twentyten' ); ?>"><?php _e( 'More Galleries', 'twentyten' ); ?></a>
            <span class="meta-sep">|</span>

            <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
        </div><!-- .entry-utility -->
    </div><!-- #post-## -->

<?php /* How to display posts in the asides category */ ?>

<?php elseif ( in_category( _x('asides', 'asides category slug', 'twentyten') ) ) : ?>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>

    <?php if ( is_archive() || is_search() ) : // Display excerpts for archives and search. ?>
        <div class="entry-summary">
            <?php the_excerpt(); ?>
        </div><!-- .entry-summary -->
    <?php else : ?>
        <div class="entry-content">
            <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
        </div><!-- .entry-content -->
    <?php endif; ?>

        <div class="entry-utility">
            <?php twentyten_posted_on(); ?>
            <span class="meta-sep">|</span>

            <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
        </div><!-- .entry-utility -->
    </div><!-- #post-## -->

<?php /* How to display all other posts. */ ?>

<?php else : ?>
    <div id="post-<?php the_ID(); ?>" <?php post_class(); ?>>
        <h2 class="entry-title"><a href="<?php the_permalink(); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'twentyten' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php the_title(); ?></a></h2>

        <div class="entry-meta">
            <?php twentyten_posted_on(); ?>
        </div><!-- .entry-meta -->

<?php if ( is_archive() || is_search() ) : // Only display excerpts for archives and search. ?>
        <div class="entry-summary">
            <?php the_excerpt(); ?>
        </div><!-- .entry-summary -->
<?php else : ?>
        <div class="entry-content">
            <?php the_content( __( 'Continue reading <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?>
            <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
        </div><!-- .entry-content -->
<?php endif; ?>

        <div class="entry-utility">
            <?php if ( count( get_the_category() ) ) : ?>
                <span class="cat-links">
                    <?php printf( __( '<span class="%1$s">Posted in</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-cat-links', get_the_category_list( ', ' ) ); ?>
                </span>
                <span class="meta-sep">|</span>
            <?php endif; ?>
            <?php
                $tags_list = get_the_tag_list( '', ', ' );
                if ( $tags_list ):
            ?>
                <span class="tag-links">
                    <?php printf( __( '<span class="%1$s">Tagged</span> %2$s', 'twentyten' ), 'entry-utility-prep entry-utility-prep-tag-links', $tags_list ); ?>
                </span>
                <span class="meta-sep">|</span>
            <?php endif; ?>

            <?php edit_post_link( __( 'Edit', 'twentyten' ), '<span class="meta-sep">|</span> <span class="edit-link">', '</span>' ); ?>
        </div><!-- .entry-utility -->
    </div><!-- #post-## -->

    <?php comments_template( '', true ); ?>

<?php endif; // This was the if statement that broke the loop into three parts based on categories. ?>

<?php endwhile; // End the loop. Whew. ?>

<?php /* Display navigation to next/previous pages when applicable */ ?>
<?php if (  $wp_query->max_num_pages > 1 ) : ?>
            <div id="nav-below" class="navigation">
                <div class="nav-previous"><?php next_posts_link( __( '<span class="meta-nav">&larr;</span> Older posts', 'twentyten' ) ); ?></div>
                <div class="nav-next"><?php previous_posts_link( __( 'Newer posts <span class="meta-nav">&rarr;</span>', 'twentyten' ) ); ?></div>
            </div><!-- #nav-below -->
<?php endif; ?>


创建wordpress主题时,必须了解主题,否则设置页面内容时会遇到问题。正如您在我链接的页面中所看到的,wordpress有一些基本规则,显示来自不同模板文件的内容时会遵循这些规则。如果层次结构中缺少一个文件,wordpress将退回到层次结构中的下一个文件。
如果您没有类别-{slug}.php为特定类别显示的内容将是由category.php代码生成的内容。如果没有category.php,wordpress将读取archive.php等直到index.php。

如果要显示特定循环,请确保代码位于正确的文件中,并且文件名与模板层次结构有关规则,这样它的代码将在您希望它运行时运行。

我的博客在每个页面上显示前5篇文章的原因是因为我的头文件中有以下行:

query_posts('showposts=5');
我在网站的主要静态部分使用了它,这样我可以在我的页脚中显示最近的5篇文章。 我已经把这段代码移到了我的博客页脚上,一切都恢复正常了


谢谢您的回复。

您必须向我们展示一些代码,查询可能有问题。你的分类模板是什么样子的?它可能是
category.php
archive.php
,但您必须确认。我已经从category.php添加了主代码。无论我在帖子链接、类别或最近的帖子上单击什么,当页面加载时,它们都会显示最近的帖子。好的,相关代码在
循环类别中。php
,您可以用那里的代码替换上面的代码。具体来说,就是WP_查询的东西。我没有loop-category.php,我有loop.php、loop-single.php、loop-page.php和loop-attachment.php,你想看哪一个?这可能是问题:)
category.php
正在查找
循环category.php
,但它不存在。因此,它很可能会回到
loop.php
。通过向loop.php添加HTML注释来测试这一点,如下所示:
。重新加载页面,查看源代码并确认这是模板。然后显示
loop.php
的代码。不建议每次需要循环时都使用query\u posts,更多信息请查看此项