Wordpress添加阅读更多标签到帖子内容(Single.php)

时间:2015-06-14 22:18:28

标签: wordpress

我从头开始制作wordpress自定义主题,包括:

  • header.php,footer.php,single.php,index.php,functions.php

为了列出博客列表,我使用了带有摘录的index.php,并阅读了相应帖子的更多链接。

的index.php

<?php if(have_posts()) : ?><?php while(have_posts())  : the_post(); ?>
                            <div class="single_excerpt">
                                <h1 class="red_text"><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1>
                                <?php the_excerpt(); ?>
                                <a href="<?php the_permalink(); ?>" class="read_more"><button class="btn btn-default" type="">Read More</button></a>
                            </div>


                        <?php endwhile; ?>

的functions.php

function new_excerpt_more( $more ) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more');

这正如我预期的那样正常,但问题在于single.php,因为当我想在第一段之后添加更多标签到帖子内容时,什么也没发生。 请帮我在第一段后或根据需要在后端添加阅读更多标签到帖子内容,然后在单个帖子视图中,只显示内容将显示在标签之前,之后是更多按钮,然后单击完全按钮内容将显示在帖子的同一个视图中。

single.php中

<div class="col-lg-12 col-md-12 col-sm-12 ">

                    <?php if(have_posts()) : ?><?php while(have_posts())  : the_post(); ?>
                        <div class="single_post">
                            <h1 class="red_text"><?php the_title(); ?></h1>
                            <div class="post_info">
                                Posted by: <?php the_author_posts_link(); ?> | Posted on: <?php the_date(); ?> | Posted in:<?php the_category(', '); ?> | <?php comments_popup_link('No Comment', '1 Comment', '% Comments'); ?>
                            </div>

                            <?php the_content(); ?>
                            <?php comments_template( '', true ); ?>
                        </div>
                    <?php endwhile; ?>

                    <?php else : ?>
                        <div class="post">
                            <h3><?php _e('404 Error&#58; Not Found', 'brightpage'); ?></h3>
                        </div>
                    <?php endif; ?>                         

                    </div>

2 个答案:

答案 0 :(得分:1)

默认情况下,more函数对single.php不起作用。您应该在循环中添加global $more; $more = 0;

<?php 
if(have_posts()) : 
    while(have_posts())  : 
       the_post(); 
       global $more;
       $more = 0;
       the_content();

       $more = 1;
       the_content('',true,'');
?>

现在,您在第一个标记($more = 0)之前包含文本内容,然后是更多标记($more = 1)之后的文本。使用javascript,您可以显示隐藏内容。

答案 1 :(得分:0)

您可以在the_excerpt();

的位置使用the_content();

但是如何在single.php文件中添加更多读取内容。所有阅读更多链接的帖子转到single.php。 所以我建议你不要用户在single.php中阅读更多内容