Intereting Posts
Неактивная страница архива таксономии Можно ли вытащить и отобразить одно изображение, ориентированное на ландшафт? Таксономия Пользовательская колонка – фильтр «manage_ {TAXONOMY} _custom_column» пропускает только 2 аргумента add_rewrite_rule для отношений родителя с дочерним сообщением Добавление описания в элементы управления настройками темы Использование параметров формы в WordPress «Страница» wp_enqueue_style встроенные стили Есть ли способ заказывать сообщения и настраиваемые типы сообщений в качестве одной группы? Различные просмотры просмотров для разных категорий просмотров Пользовательская таксономия или пользовательские шаблоны страниц? Обработка данных ретранслятора Добавить новый флажок в настройках темы Загрузите tinyMCE / wp_editor () через AJAX Комментирование нежелательных CSS / скриптов в HTML с PHP Функция повторной факторизации пользовательской выписки

Доступ get_the_title () из фильтра 'excerpt_length'

Есть ли способ получить доступ к функции get_the_title() из фильтра excerpt_length ?

Например, установка длины выдержки будет такой же, как название:

 function excerpt_length_same_as_title( $length ) { $title_len = strlen(get_the_title()); return $title_len; } add_filter( 'excerpt_length', 'excerpt_length_same_as_title', 999 ); 

Solutions Collecting From Web of "Доступ get_the_title () из фильтра 'excerpt_length'"

Позвольте мне использовать альтернативу. Вместо того, чтобы устанавливать длину выдержки для всех сообщений, давайте просто обрезаем ее для отдельных сообщений. А не ___ ли нам?

Для этой цели мы можем использовать фильтр get_the_excerpt . Если вы посмотрите на соответствующую страницу об этом фильтре, вы заметите, что в примере кода используется is_attachment() , что означает, что у вас есть доступ к глобальному $wp_query .

Мы подключаемся к фильтру get_the_excerpt и используем настраиваемую функцию для обрезки выдержки:

 add_filter( 'get_the_excerpt', 'custom_excerpt_more' ); function custom_excerpt_more( $excerpt ) { // Get the current post $post = get_post(); // Calculate the length of its title $charlength = strlen( $post->post_title ); $charlength++; if ( mb_strlen( $excerpt ) > $charlength ) { $subex = mb_substr( $excerpt, 0, $charlength - 5 ); $exwords = explode( ' ', $subex ); $excut = - ( mb_strlen( $exwords[ count( $exwords ) - 1 ] ) ); if ( $excut < 0 ) { $output = mb_substr( $subex, 0, $excut ); } else { $output = $subex; } $output .= ' ...'; return $output; } else { return $excerpt; } } 

Вот так. Ваша выдержка теперь подрезана заголовком сообщения.