Intereting Posts

Глядя на ограничение количества символов на моей странице

Я хочу, чтобы мои сообщения были ограничены числовыми символами. Я хочу, чтобы это произошло на странице, где показаны все мои сообщения. Я использую этот фрагмент. Дополнительная ссылка также появляется, когда вы просматриваете один пост. Я только хочу, чтобы это произошло в представлении с несколькими сообщениями

введите описание изображения здесь введите описание изображения здесь

//for index.php that calls content add_filter("the_content", "break_text"); function break_text($text){ $length = 500; if(strlen($text)<$length+10) return $text;//don't cut if too short $break_pos = strpos($text, ' ', $length);//find next space after desired length $visible = substr($text, 0, $break_pos); return balanceTags($visible) . "<a href='".get_permalink()."'>read more</a> "; } 

Обычный способ сделать это будет использовать the_excerpt() вместо the_content() в ваших шаблонах архива, а затем использовать этот фильтр для изменения количества слов, которые появляются в выдержке:

 function wpse_280633_excerpt_length() { return 20; } add_filter( 'excerpt_length', 'wpse_280633_excerpt_length' ); 

Если вы хотите придерживаться того, что у вас есть, и не применяете его к одиночным представлениям, используйте комбинацию is_main_query() и is_singular() чтобы проверить, находитесь ли вы в списке сообщений или нет:

 function wpse_280633_break_text( $content ) { if ( is_main_query() && ! is_singular() ) { $length = 500; if(strlen($content)<$length+10) return $content;//don't cut if too short $break_pos = strpos($content, ' ', $length);//find next space after desired length $visible = substr($content, 0, $break_pos); $content = balanceTags($visible) . "<a href='".get_permalink()."'>read more</a> "; } return $content; } add_filter( 'the_content', 'wpse_280633_break_text' ); 

Вы можете ограничить длину символа следующим образом

 <?php $str= get_the_excerpt(); echo $str1= substr ($str,0,50); ?> 

Пожалуйста, проверьте это и дайте мне знать, если вы столкнулись с какими-либо проблемами.