Я следую этому руководству – « Показывать свои популярные сообщения в WordPress без плагина » и хотите ограничить максимальное количество символов в отображаемом заголовке. Кроме того, почему миниатюра, время от времени, меньше, чем число, которое я определяю в php?
сначала добавьте эту функцию в файл functions.php
function max_title_length($title){ $max = 20; return substr( $title, 0, $max ). " …"; }
то перед циклом связанного кода добавьте эту строку, чтобы перехватить указанную выше функцию:
add_filter( 'the_title', 'max_title_length');
и после этого цикла удалите этот фильтр:
remove_filter( 'the_title', 'max_title_length');
и просто измените $max = 20;
к тому, что вы хотите.
Я улучшил @Bainternet-ответ только для отображения ...
когда заголовок длиннее $max
:
function max_title_length( $title ) { $max = 30; if( strlen( $title ) > $max ) { return substr( $title, 0, $max ). " …"; } else { return $title; } }
Затем вы можете сделать так:
add_filter( 'the_title', 'max_title_length');
Вы можете использовать этот бит, чтобы ограничить количество отображаемых символов и добавить многоточие.
В этом конкретном примере я установил его для прослушивания с 38 символами и отображал только многоточие, если заголовок был передан в эфир. И независимо от длины, отобразите полный заголовок на странице single_post.
<?php //assign the title to a variable $the_title = esc_attr ( the_title_attribute ( 'echo=0' ) ); //specify our desired max character count $max_length = 38; //strlen gets the length of the string $title_length = strlen ( $the_title ); // check if the length of the string is greater than our assigned max length if ( $title_length > $max_length ) { // if it is display a substring of the title from the // first character to the 38th character and append ... $title_excerpt = substr ( $the_title, 0, $max_length ) . '...'; } else { // otherwise just return the_title() $title_excerpt = $the_title; } ?> <h1 class="entry-title"> <?php if ( is_single () ) { // If article page the_title (); } else { // If homepage ?> <a href="<?php the_permalink (); ?>" title="<?php echo esc_attr ( the_title_attribute ( 'echo=0' ) ); ?>" rel="bookmark"><?php echo $title_excerpt; ?></a> <?php } ?> </h1>