如何将侧边栏添加到存档页面

Posted

技术标签:

【中文标题】如何将侧边栏添加到存档页面【英文标题】:How to add a sidebar to archive page 【发布时间】:2019-04-27 09:22:11 【问题描述】:

我想通过代码向我的存档页面添加一个侧边栏。以下代码已添加到存档模板中。侧边栏已成功添加。但是,侧边栏会逐个重复。

请帮我检查下面的代码。

<div class="row max_width">
        <div class="small-12 large-8 columns">
    <?php if ( has_post_thumbnail() )  ?>
        <figure class="post-gallery parallax">
            <div class="parallax_bg"
                        data-top-bottom="transform: translate3d(0px, 20%, 0px);"
                        data-bottom-top="transform: translate3d(0px, -20%, 0px);">
                <?php the_post_thumbnail('notio-single-3x'); ?>
            </div>
        </figure>
    <?php  ?>
            <header class="post-title">
                <?php get_template_part( 'inc/templates/postbits/post-meta' ); ?>
                <h3 itemprop="headline"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
            </header>
            <div class="post-content">
                <?php the_excerpt(); ?>
                <a href="<?php the_permalink(); ?>" class="more-link"><?php esc_html_e( 'Read More', 'notio' ); ?></a>
            </div>
    <?php do_action( 'thb_PostMeta' ); ?>
        </div>
    <div class="small-12 large-3 columns sidebar">
                  <?php if ( is_active_sidebar( 'custom-side-bar' ) ) : ?>
                  <?php dynamic_sidebar( 'custom-side-bar' ); ?>
                  <?php endif; ?>
              </div>
    </div>

【问题讨论】:

【参考方案1】:

尝试如下:

<div class="row max_width">
    <?php
    /* Start the Loop */
    while( have_posts() ) : the_post(); ?>
      <div class="small-12 large-8 columns">
            <?php if ( has_post_thumbnail() )  ?>
                <figure class="post-gallery parallax">
                    <div class="parallax_bg"
                    data-top-bottom="transform: translate3d(0px, 20%, 0px);"
                    data-bottom-top="transform: translate3d(0px, -20%, 0px);">
                    <?php the_post_thumbnail('notio-single-3x'); ?>
                    </div>
                </figure>
            <?php  ?>
            <header class="post-title">
                <?php get_template_part( 'inc/templates/postbits/post-meta' ); ?>
                <h3 itemprop="headline"><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h3>
            </header>
            <div class="post-content">
                <?php the_excerpt(); ?>
                <a href="<?php the_permalink(); ?>" class="more-link"><?php esc_html_e( 'Read More', 'notio' ); ?></a>
            </div>
            <?php do_action( 'thb_PostMeta' ); ?>
        </div>
    <?php
    endwhile; // End of the loop. ?>
    <div class="small-12 large-3 columns sidebar">
        <?php if ( is_active_sidebar( 'custom-side-bar' ) ) : ?>
            <?php dynamic_sidebar( 'custom-side-bar' ); ?>
        <?php endif; ?>
    </div>
</div>

【讨论】:

感谢您的回复。我试过这些代码。但是,存档页面无法访问并变成 504 网关超时。 另外,我的问题是post可以一个一个正常显示,但是侧边栏却一而再再而三的重复。 我尝试将侧边栏代码和发布代码分别放入 while 循环中。但两者都导致了 504。

以上是关于如何将侧边栏添加到存档页面的主要内容,如果未能解决你的问题,请参考以下文章

如何在 React 中登录页面后配置侧边栏导航中的路由?

php [自定义边栏] - 向子类别存档添加侧边栏

vuepress 附加页面添加到侧边栏

自动将新帖子添加到侧边栏

Cakephp,将视图添加到侧边栏

VueJS将活动类添加到侧边栏链接