【问题标题】:Child wordpress theme breaks site structure on last category pages儿童 wordpress 主题在最后一个类别页面上破坏了网站结构
【发布时间】:2016-03-22 19:41:22
【问题描述】:

我正在使用基于 Wordpress 2016 主题创建的子主题,并且我有一个类别页面,其中有很多帖子可以创建分页(因为我每页显示只有 10 个帖子)一切正常,直到你到达最后几页,网站开始崩溃。

我尝试将每页的帖子数量从 5 条更改为 10 条,但这似乎并没有改变最后几页混乱的事实。

现在我创建了一个自定义存档页面,我在其中更改了代码以仅显示特色图片和摘录而不是整个帖子。

这是archive.php文件中的代码:

get_header('MBH-cat'); ?>

<div id="primary" class="content-area">
    <main id="main" class="site-main" role="main">
<div id="city-headlines"><h1><?php
foreach((get_the_category()) as $category) { 
echo $category->cat_name . ' '; 
} 
?></h1></div>
    <div id="MBH-blog-roll-cat"><div id="MBH-blog-roll-pad">
    <?php if ( have_posts() ) : ?>


        <?php
        // Start the Loop.
        while ( have_posts() ) : the_post(); ?>
<h2 style="padding-bottom:14px;"><a href="<?php the_permalink(); ?>" title="<?    php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
<?php if ( has_post_thumbnail() ): // check for the featured image ?>
<div class="MBH-excerpt-thumb"><a href="<?php the_permalink(' ') ?>" title="<?    php the_title(); ?>" class="opacity"><?php the_post_thumbnail(); ?></a></div> <!--    echo the featured image-->

<div class="MBH-excerpt-div"><?php
endif;
the_excerpt(); // echo the excerpt
?>
<div class="hr"><hr /></div>
</div>

        <?php
endwhile;
// resets main query
?>
<div style="margin-top:280px;">
<?php
        // Previous/next page navigation.
        the_posts_pagination( array(
            'prev_text'          => __( 'Previous page', 'twentysixteen' ),
            'next_text'          => __( 'Next page', 'twentysixteen' ),
            'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>',
        ) );

    // If no content, include the "No posts found" template.
    else :
        get_template_part( 'template-parts/content', 'none' );

    endif;
    ?></div>
</div>
    </main><!-- .site-main -->
    </div><!-- .content-area -->

<?php get_sidebar(); ?>
<?php get_footer(); ?>

【问题讨论】:

    标签: php wordpress pagination categories


    【解决方案1】:

    还有,应该:

    <div class="MBH-excerpt-div">
    

    来到:

    <div class="MBH-excerpt-div">
    

    ?

    喜欢:

    <div id="primary" class="content-area">
    
    <main id="main" class="site-main" role="main">
    
        <div id="city-headlines">
        <h1>
         <?php
            foreach((get_the_category()) as $category) { 
                echo $category->cat_name . ' '; 
            } 
         ?>
        </h1>
        </div>
    
        <div id="MBH-blog-roll-cat"><div id="MBH-blog-roll-pad">
            <?php if ( have_posts() ) : ?>
    
             <?php
                // Start the Loop.
                while ( have_posts() ) : the_post(); ?>
    
                    <h2 style="padding-bottom:14px;"><a href="<?php the_permalink(); ?>" title="<? php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
                    <?php if ( has_post_thumbnail() ): // check for the featured image ?>
                     <div class="MBH-excerpt-thumb">
                       <a href="<?php the_permalink(' ') ?>" title="<? php the_title(); ?>" class="opacity">
                         <?php the_post_thumbnail(); ?>
                       </a>
                     </div>
            <?php endif; ?>
                    <div class="MBH-excerpt-div"> 
                        <?php the_excerpt(); ?>
                        <div class="hr">
                            <hr>
                        </div>
                    </div>
    
                <?php endwhile;
                // resets main query
                ?>
    
    
        </div>
    
            <div style="margin-top:280px;">
                        <?php
                                // Previous/next page navigation.
                                the_posts_pagination( array(
                                  'prev_text'          => __( 'Previous page', 'twentysixteen' ),
                                  'next_text'          => __( 'Next page', 'twentysixteen' ),
                                  'before_page_number' => '<span class="meta-nav screen-reader-text">' . __( 'Page', 'twentysixteen' ) . ' </span>',
                                ) );
            echo '</div>';
    
            // If no content, include the "No posts found" template.
             else :
                 get_template_part( 'template-parts/content', 'none' );
    
             endif; ?>  
    
    </main><!-- .site-main -->
    

    【讨论】:

    • 我切换了结尾的顺序;和 endif;您的示例的 PHP 行和页面不再中断!我现在唯一的问题是分页末尾的一些帖子不再显示摘录。我将浏览这些帖子以确保没有奇怪的格式或未关闭的
      s
    • 原来没有显示某些摘录的原因是因为特色图片的 if 语句包含摘录代码,因此它依赖于是否有特色图片要显示摘录与否。我将 endif 语句移到 'code'
      'code' 上方,它修复了所有问题。我将编辑您的答案并将 'code' 'code' 移到该 div 上方。
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签