我从头开始制作wordpress自定义主题,包括:
为了列出博客列表,我使用了带有摘录的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: Not Found', 'brightpage'); ?></h3>
</div>
<?php endif; ?>
</div>
答案 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中阅读更多内容