Intereting Posts
Как настроить вторичную структуру постоянной ссылки? Можете ли вы использовать постоянную ссылку WordPress, чтобы получить сообщение с API JSON? Создайте выбранный снимок доступных меню wp_register_sidebar_widget () отключил мое подменю Widgets – что я делаю неправильно? Хранение контента в пользовательской таксономии Как отправить уведомление по почте, когда автор и участник сообщения? Настройка запланированных задач (для запуска сценариев) Почему в моем плагине не работает функция remove_action? Как получить какие-либо сообщения типа включают вложения с помощью идентификаторов? Как объединить несколько файлов CSS и объединить JavaScripts, если WordPress рекомендует их заражать? Импорт демо-контента из плагина WordPress меняет мои ссылки, сохраняя его в таблице. Как избежать конфликтов с db.php / $ wpdb и другими плагинами, которые решили использовать их? Страница пользовательских настроек TinyMce: нет форматирования при эхо-значении редактора Добавление класса к первому сообщению в пользовательском цикле с использованием фильтра post_class

Ограничьте статью на 100 символов. Невозможно использовать the_excerpt …

Я долгое время боролся с этим … Я хочу ограничить длину статьи до 100 символов и после 100 символов. limit, добавьте в конец «…», связанный с одним сообщением (например, wordpress <!--more--> ). Но я не могу использовать the_excerpt потому что он удаляет форматирование (например, теги <b> , <a> ). Может ли кто-нибудь помочь мне с этим?

 function get_custom_excerpt( $content, $link ){ $content = some_function_to_handle_html_tag(substr($content, 0, 100)); // EDIT: need to be customized with a regex for proper output $content .= ' <a href="'.$link.'"> more... </a>'; return $content; } function some_function_to_handle_html_tag(){ //a regex to check last occurance of html opening tag //append respective closing tag or strip the tag if broken eg '<' or '<something' } //for global $post echo get_custom_excerpt($post->post_content, get_permalink($post->ID)); //print the custom excerpt of 100 characters 

или

 //when in loop echo get_custom_excerpt(get_the_content(), get_permalink(get_the_ID())); //print the custom excerpt of 100 characters 

РЕДАКТИРОВАТЬ:

Это может быть неустойчивым, если какой-либо html-тэг был открыт в первом 100 символе, но не закрыт. Я попытался найти правильное решение (показать содержимое без удаления html), но ничего не нашел. Но у меня есть идея, которая может помочь –

1) Вы можете использовать регулярное выражение, которое будет проверять последнее заполнение строки, которая начинается с < и заканчивается на > , тогда вам нужно будет добавить соответствующий закрывающий тег в конце. Итак, скажем, например, если в теге <span> , </span> должен быть добавлен конец, чтобы предотвратить разбиение html-макета.

2) Если происходит какое-либо событие вроде < или <something , то это должно быть удалено.

Затем приведенный выше код должен работать в большинстве случаев.