2013-01-04 2 views
1

Я использую выдержки в шаблоне блога на главной странице, чтобы показать 2-страничные выдержки с помощью нескольких кнопок и 1 последнего сообщения в блоге с кнопкой «Читать дальше».wordpress post выдержки выпуск

Ниже приведен код, используемый

<?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-х страниц, но на этот пост он не принимает отрывок использует полный текст и переполняет р тег.

ссылка на сайт находится здесь: http://green.romeomothersugar.co.uk

Любая помощь будет оценен по достоинству!

ответ

1

Как я проверяю, кажется, что он принимает ваше предложение как одно слово. Хотя я думаю, что это решит, если вы введете некоторые реальные/правильные данные.

Быстрое решение для обертывания слова пытается дать ниже CSS вашим p tag.

word-wrap: break-word;

+0

Спасибо! Никогда бы не нашел это! –

+0

Удовольствие, чтобы помочь вам :) Happy Coding !! – Rikesh

1

Кажется, ваша проблема не имеет ничего общего с вашим кодом, и много общего с фактическим содержанием поста в базе данных.

При проверке исходного кода все слова «тест» сопровождаются &nbsp;, то есть символом несоответствующего пробела. Все это говорит о том, что это объект HTML, предназначенный для предотвращения любых разрывов строк, например, когда вы форматируете табличные данные и хотите, чтобы имя и фамилия на одной строке.

Попробуйте войти в свою административную область Wordpress и отредактируйте оскорбительный пост. Перейдите из режима редактирования WYSIWYG в HTML и посмотрите, есть ли что-то в строках Test test test test test или Test&nbsp;test&nbsp;test&nbsp;. Если это последний, Wordpress будет интерпретировать весь пост как одно слово, поэтому нет смысла Wordpress не включать все в выдержку, которая имеет ограничение по умолчанию 55 слов.

Кроме того, причина, по которой ваш текст переполнен, имеет отношение к объектам &nbsp;. Опять же, линия не сломается, как обычно, поэтому строка текста переполняет div.section list.

Смежные вопросы