wordpress post摘录问题

时间:2013-01-04 11:49:46

标签: php html css wordpress

我在主页上的博客模板中使用摘录,以显示2页摘录,其中包含阅读更多按钮和1篇最新博客文章以及更多阅读按钮。

以下是使用的代码

<?php
/*******PAGES SECTION CUSTOM*******/
  $args=array(
  'orderby' =>'parent',
  'order' =>'asc',
  'post_type' =>'page',
  'post__in' => array(34,36),

   );
   $page_query = new WP_Query($args); ?>
<div class="pagesarea left">
<?php while ($page_query->have_posts()) : $page_query->the_post(); ?>
   <div class="section">
    <h2 class="homeh2"><a href="<?php the_permalink();?>"><?php the_title();?></a></h2>
<?php the_excerpt(); ?>
        <p class="readmore"><a href="<?php the_permalink();?>">Read More</a></p>
</div>
 <?php endwhile; ?>




 <?php 
                                /*******LATEST NEWS SECTION*******/

            $news_text = get_theme_option(tk_theme_name.'_home_news_text');
            $news_per_page = get_theme_option(tk_theme_name.'_home_news_number');
            $blog_id =  get_option('id_blog_page');
            $blog_url = get_permalink($blog_id);

                if($hide_news == 'yes') {}else{
        ?>

                     <div class="section last">
<h2 class="homeh2"><a href="<?php the_permalink();?>"><?php _e('Latest News ', tk_theme_name) ?></a></h2>




                <?php
                $post_counter = 1;
                $paged = (get_query_var('paged')) ? get_query_var('paged') : 0;
                $args=array('post_type' => 'post', 'post_status' => 'publish', 'posts_per_page' => $news_per_page, 'ignore_sticky_posts'=> 1);

                //The Query
                query_posts($args);

                //The Loop
                if ( have_posts() ) : while ( have_posts() ) : the_post();
                $post_day =  get_the_time('d M');
                $post_year =  get_the_time('Y');
                $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'home-news');
                $post_cats = get_the_category_list(',', $post->ID);
                $cat_array = explode(',', $post_cats);
                $number_of_cats = count($cat_array);
                $cat_counter = 1;
                $format = get_post_format();
                ?>


                        <p class="title"><?php echo $post_day?>
                        <?php echo $post_year?>

                        <?php the_title()?>
                        </p>

                                 <?php the_excerpt(); ?>
<p class="readmore"><a href="<?php the_permalink();?>">Read More</a></p>
                        </div>

            <?php $post_counter++;endwhile; ?>
            <?php else: ?>
            <?php endif; ?>


        <?php } // if news   ?>

该代码适用于2个页面,但对于帖子,它不会摘录它使用全文并且溢出p标签。

该网站的链接位于:http://green.romeomothersugar.co.uk

任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:1)

当我检查它时,似乎它将你的句子作为一个单词。虽然我认为如果你插入一些真实/适当的数据它会得到解决。

快速解决问题的方法是尝试将CSS提供给p tag

word-wrap: break-word;

答案 1 :(得分:1)

您的问题似乎与您的代码无关,而且与数据库中帖子的实际内容有很大关系。

检查源代码,所有单词'test'后跟&nbsp;,即非破坏空格字符。这就是说,它是一个HTML实体,旨在防止任何换行,例如,当您格式化表格数据并希望在一行上使用名字和姓氏时。

尝试进入您的Wordpress管理区域并编辑有问题的帖子。从WYSIWYG更改为HTML编辑模式,看看它是否与Test test test test testTest&nbsp;test&nbsp;test&nbsp;一致。如果是后者,Wordpress会将整个帖子解释为一个单词,因此Wordpress没有理由不在摘录中包含所有内容,默认55字的限制。

此外,文本溢出的原因与&nbsp;实体有关。同样,该行不会像通常那样破坏,因此文本行溢出div.section list