Wie man die maximale Anzahl von Charakteren im Titel begrenzt, die angezeigt werden

Ich folge diesem Tutorial – ” Anzeige Ihrer beliebten Beiträge in WordPress ohne ein Plugin ” und möchte die maximale Anzahl der Zeichen im Titel, die angezeigt werden, begrenzen. Warum ist das Thumbnail manchmal kleiner als die Zahl, die ich im PHP definiert habe?

Solutions Collecting From Web of "Wie man die maximale Anzahl von Charakteren im Titel begrenzt, die angezeigt werden"

Fügen Sie diese function zuerst Ihrer functions.php-Datei hinzu

 function max_title_length($title){ $max = 20; return substr( $title, 0, $max ). " …"; } 

Dann fügen Sie vor der Schleife des verknüpften Codes diese Zeile hinzu, um die obige function zu haken:

 add_filter( 'the_title', 'max_title_length'); 

und nach der Schleife entferne diesen Filter:

 remove_filter( 'the_title', 'max_title_length'); 

und ändere einfach $max = 20; zu was auch immer du willst.

Ich habe die @Bainternet-Antwort so verbessert, dass sie nur angezeigt wird, wenn der Titel länger als $max :

 function max_title_length( $title ) { $max = 30; if( strlen( $title ) > $max ) { return substr( $title, 0, $max ). " …"; } else { return $title; } } 

Dann kannst du so haken:

 add_filter( 'the_title', 'max_title_length'); 

Sie können dieses Bit verwenden, um die Anzahl der angezeigten Zeichen zu begrenzen und eine Ellipse anzufügen.

In diesem speziellen Beispiel habe ich es auf 38 Zeichen festgelegt und zeige nur die Ellipse an, wenn der Titel nicht mehr angegeben wurde. Unabhängig von der Länge zeigen Sie den vollständigen Titel auf der single_post-Seite an.

 < ?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; } ?> 

< ?php if ( is_single () ) { // If article page the_title (); } else { // If homepage ?> < ?php echo $title_excerpt; ?> < ?php } ?>