Intereting Posts
Postgresql regexp_matches внутри представления всегда возвращает null при запросе из PHP Как генерировать json-ответ, используя php URI CodeIgniter и действие формы Как добавить пользовательское слово на мой доменный URL для каждого запроса? Отображение случайных элементов из XML в PHP Каков наилучший способ хранения переменных конфигурации в PHP? laravel 5: вход класса не найден Как настроить правила кодирования PHP в netbeans 7.4 Escape двойные кавычки HTML-атрибутов, выводимые PHP Обход веб-сайта, получение ссылок, сканирование ссылок с помощью PHP и XPATH Как сделать запрос «LIKE» в MONGODB с помощью PHP? Каков наилучший способ удаления знаков препинания, символов, диакритических знаков, специальных символов? Как установить куки в laravel 5 самостоятельно внутри контроллера Как сопоставить и использовать представление БД из Doctrine2 Значение по умолчанию переменных в PHP?

Как установить ограничение персонажа на the_content () и the_excerpt () в wordpress

Как установить лимит символов для the_content () и the_excerpt () в wordpress? Я только нашел решения для ограничения слов – я хочу, чтобы можно было установить точные цифры символов.

Solutions Collecting From Web of "Как установить ограничение персонажа на the_content () и the_excerpt () в wordpress"

Вы можете использовать функцию обратного вызова фильтра WordPress. В директории вашей темы создайте файл с именем functions.php и добавьте следующее в:

 <?php add_filter("the_content", "plugin_myContentFilter"); function plugin_myContentFilter($content) { // Take the existing content and return a subset of it return substr($content, 0, 300); } ?> 

Функция plugin_myContentFilter() будет вызываться каждый раз, когда вы запрашиваете содержимое сообщения / страницы через the_content() – он предоставляет вам контент в качестве ввода и будет использовать все, что вы возвращаете из функции для последующего вывода или других функций фильтра ,

Вы также можете сделать то же самое для the_exercpt()add_filter() а затем функцию, которая будет использоваться в качестве обратного вызова.

Дополнительную информацию см. В документации по документу WordPress .

Или даже проще и без необходимости создавать фильтр: используйте mb_strimwidth PHP для усечения строки до определенной ширины (длины). Просто убедитесь, что вы используете один из синтаксисов get_ . Например, с содержимым:

 <?php $content = get_the_content(); echo mb_strimwidth($content, 0, 400, '...');?> 

Это сократит строку на 400 символов и закроет ее ... Просто добавьте «read more» -link в конец, указав на постоянную ссылку с помощью get_permalink() .

 <a href="<?php the_permalink() ?>">Read more </a> 

Конечно, вы могли бы также построить read more в первой строке. Затем просто замените '...' на '<a href="' . get_permalink() . '">[Read more]</a>'

Это также балансирует теги HTML, чтобы они не оставались открытыми и не прерывали слова.

 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) . " […]"; } 

Для использования the_content() (для отображения основного содержимого страницы)

 $content = get_the_content(); echo substr($content, 0, 100); 

Для использования the_excerpt() (для отображения краткого содержания фрагмента страницы)

 $excerpt= get_the_excerpt(); echo substr($excerpt, 0, 100); 

wp_trim_words Эта функция обрезает текст до определенного количества слов и возвращает обрезанный текст.

Пример:-

 echo wp_trim_words( get_the_content(), 40, '...' ); 

просто чтобы помочь, если кто-то хочет ограничить длину почты на home page .. тогда можно использовать код ниже, чтобы сделать это ..

нижеприведенный код является просто модификацией @bfred.it Sir

 add_filter("the_content", "break_text"); function limit_text($text){ if(is_front_page()) { $length = 250; 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>"; }else{ return $text; } } 
 <?php echo apply_filters( 'woocommerce_short_description', substr($post->post_excerpt, 0, 500) ) ?> 

Замените <?php the_content();?> На код ниже

 <?php $char_limit = 100; //character limit $content = $post->post_content; //contents saved in a variable echo substr(strip_tags($content), 0, $char_limit); ?> 

Функция php substr () refrence

Функция php strip_tags () refrence