То, что я использую,
WAMP, чистая установка WordPress 4.3.1 (без плагинов) и тема для начинающих – Подчеркивание.
То, что я пытаюсь достичь,
Я хочу иметь сообщение в блоге, которое показывает только выдержку, поэтому я изменил content.php и изменил
<?php the_content( sprintf( /* translators: %s: Name of current post. */ wp_kses( __( 'Continue reading %s <span class="meta-nav">→</span>', 'cthulhu' ), array( 'span' => array( 'class' => array() ) ) ), the_title( '<span class="screen-reader-text">"', '"</span>', false ) ) ); ?>
в
<?php the_excerpt(); ?>
Теперь я могу видеть свой пользовательский отрывок, но WordPress не ограничивает длину выдержки -> Я выложил 100 слов в Excerpt, и, кажется, нет предела в содержании (по умолчанию это должно быть 55 слов) ,
Я также попытался добавить функцию функции functions.php
function custom_excerpt_length( $length ) { return 20; } add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
он не работает.
Я также пробовал разные темы – всю версию Twenty – и это все равно.
Может быть, я просто устал, но я так сильно борюсь с этим …
the_excerpt()
…
Отображает выдержку текущего сообщения после применения к нему нескольких фильтров, включая форматирование авто-p, которое превращает двойные разрывы строк в абзацы HTML. Он использует
get_the_excerpt()
чтобы сначала сгенерировать сокращенную версию полного содержимого сообщения, если не будет явного отрывка для сообщения.
get_the_excerpt()
применяет фильтр get_the_excerpt
, к которому wp_trim_excerpt()
.
Если вы посмотрите на эту функцию, вы заметите, что excerpt_length
применяется только тогда, когда выдержка генерируется автоматически из тела сообщения. В противном случае написанная вручную выдержка просто проходит прямо.
Честно говоря, поскольку вы пишете выдержки, я не понимаю, почему вы хотите их автоматически усекать, но если вы хотите добавить фильтр в wp_trim_excerpt
используя wp_trim_excerpt()
в качестве модели.