删除硬编码的“;阅读更多“;按钮时使用<--更多-->;


Remove hardcoded "read more" button when using <!--more-->

所以我已经试图弄清楚这一点有一段时间了,我猜其中涉及一些高级过滤器和其他东西,但现在开始。我如何在Wordpress博客的内容循环中显示我编码的"阅读更多"按钮:当我使用&lt--更多-->手动标记?

当我现在使用它时,两个"阅读更多"按钮都是可见的。

<div class="entry-content">
        <?php if ( is_single() ) : ?>
        <h1 class="entry-title"><?php the_title(); ?></h1>
        <?php else : ?>
        <h1 class="entry-title">
            <a href="<?php the_permalink(); ?>" title="<?php echo esc_attr( sprintf( __( 'Permalink to %s', 'dsgn' ), the_title_attribute( 'echo=0' ) ) ); ?>" rel="bookmark"><?php the_title(); ?></a>
        </h1>
        <?php endif; // is_single() ?>
        <div class="entry-meta">
            <span><?php the_time('F jS, Y') ?> by <?php the_author_posts_link() ?></span>
        </div>
        <img class="post-icon" src="<?php echo get_template_directory_uri(); ?>/images/pencil.png"> 
        <div class="seperator">
            <div class="sepen"></div>
            <div class="septo"></div>
        </div>
        <div class="entry-excerpt">
            <?php the_excerpt(); ?>
        </div><!-- .entry-summary -->
        <?php the_content( __( 'read more <span class="meta-nav">&rarr;</span>', 'dsgn' ) ); ?>
        <?php echo '<a href="' . get_permalink() . "#more-{$post->ID}'" class='"more-link'">".__( '<span>read more</span>', 'dsgn' ). '</a>' ?>
        <div class="entry-footer-fix"></div>
    </div>

您正在输出两个"read more"标记。停止这样做:

<?php echo '<a href="' . get_permalink() . "#more-{$post->ID}'" class='"more-link'">".__( '<span>read more</span>', 'dsgn' ). '</a>' ?>

the_content()将已经输出一个"读取更多"标记。它将您想要的"阅读更多"片段作为一个参数,并自动决定是显示整个帖子还是只显示第一部分以及给定的"阅读"片段。如文档中所述,您可以通过更改全局变量$more来覆盖自动行为(强制全部/部分内容)。

换句话说,您永远不应该echo您自己的"阅读更多"标签,除非您总是希望它是可见的。