Hallo,
eine Möglichkeit ist die Nutzung des Plugins Advanced excerpts. Anleitung siehe hier.
Alternativ kann man aber auch eine function im childtheme in der functions.php (siehe hier) nutzen:
<?php
// Auszug Länge verlängern auf 80 Wörter
function custom_excerpt_length( $length ) {
return 80;
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
?>
Viele Grüße,
Hans-Gerd
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
Danke, aber das klappt beides nicht.
Weder das Plugin, noch der Code hat Einfluss auf die Kategorienbeschreibung.
Der Code ändert zudem auch nirgends die Auszugslänge. Obwohl im Parent-Theme das überschreiben der excerpt_length (durch die Child functions.php) möglich ist.
Auch der Code (zusammengebastelt aus deinem Tipp und dem aus der Referenz) funzt nicht:
add_filter( 'excerpt_length', 'category_excerpt_length', 999 );
function category_excerpt_length( $length ) {
if ( is_category () ) {
return 100;
}
return $length;
}
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
Danke fürs Suchen, bin eben auch dabei, fand aber nichts.
Dieser Code ist meinen laienhaften Versuchen (Erfolg: 25%) ähnlich, funzt aber schon zu 50%. Denn:
Wenn man die Kategorie (deren Beschreibung nun echt als Teaser kommt!) aus dem „Read More“ Link aufruft, wird sie natürlich wieder verkürzt dargestellt.
Hier müsste man evtl. einen Parameter mitgeben, der besagt: Du bist jetzt nicht auf dem normalen Weg aufgerufen worden, sondern von dem weiterlesen Link. Oder so …
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
So, das klappte!
Hab einfach den Parameter „rm=1“ an den Link zur Kategorie angehängt und nach der pos. Abfrage ob rm nicht 1 ist, wird gekürzt. 1 ist nur da, wenn eben vom „Read More“ Link aufgerufen. Nicht aber wenn die Kategorie übers normale Menü aufgerufen wird.
add_filter( 'category_description', 'cyb_trim_category_desc', 10, 2 );
function cyb_trim_category_desc( $desc, $cat_id ) {
if ($_GET["rm"]!=1) {
$desc = wp_trim_words( $desc, 55, '<a href="' . get_category_link( $cat_id ) . '?rm=1">' . __("Read more", "text-domain" ) . '</a>' );
}
return $desc;
}
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
Die Sache ist nun zu 95% gelöst.
Denn ich habe nun noch den Auszugslängen-Wert, welcher per Customizer gewählt wird, gefunden und die Var ausgelesen.
Ebenso die dort eingestellten Zeichenfolge für den More Link.
add_filter( 'category_description', 'cyb_trim_category_desc', 10, 2 );
function cyb_trim_category_desc( $desc, $cat_id ) {
if ($_GET["rm"]!=1) {
$desc = wp_trim_words( $desc, magazine_excerpt_length($length), '<a href="' . get_category_link( $cat_id ) . '?rm=1">' . magazine_excerpt_more() . '</a>' );
}
return $desc;
}
Bleibt nur die zweiteilige Frage zum Code von https://wordpress.stackexchange.com/questions/202489/how-to-customize-category-description/202491#202491:
1.) Warum tut der zwei Unterstriche „__“ vor „Read More“?
Hab die weggelöscht, für was soll das gut sein – und Fehler! (syntax error, unexpected ‚,‘ in )
2. Was ist mit „text-domain“ gemeint?
__( 'Read more …', 'irgendwas' )
ist eine Übersetzungsfunktion, die den Textstring Read more …
in der Übersetzung zurückgibt (return
), die für die Text-Domain irgendwas
vorhanden ist. Text-Domain ist eine Ursprungsangabe für die Übersetzung, damit für unterschiedliche Plugins und Themes (besonders bei Wörtern mit unterschiedlicher Bedeutung, etwa „bank“ einmal übersetzt als „Finanzinstitut“, einmal als „Sitzbank“, einmal als „Ufer, Böschung, Gewässerrand“) konzextbezogen richtige Übersetzungen verwendet werden.
vgl. https://developer.wordpress.org/reference/functions/__/ und https://developer.wordpress.org/themes/functionality/internationalization/
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
Das mit der Übersetzung hab ich jetzt nicht ganz gecheckt.
Aber wurst, bin froh das eigentliche Prob gelöst zu haben – Danke!
Ja, genau … lass andere ruhig eine ausführliche Erklärung tippen – wurst, Hauptsache „Prob gelöst“.
Soviel zum Thema „wie motiviere ich andere Menschen, mir künftig in ihrer Freizeit nicht mehr zu helfen“.
Thread-Starter
Anonymous User 14429768
(@anonymized-14429768)
@pixolin:
1.) Ich bedanke mich eigentlich fast in jedem Beitrag für Deine und die Hilfe anderer hier.
2.) Vielen Danke für diese Erklärung. Ich habe sie leider nicht kapiert, was an mir liegt.
3.) Ich wollte das Thema „Übersetzung“ auch nicht vertiefen, sondern ggf. mal einen eigenen Beitrag/Frage zT. zu eröffnen.
Ansonsten dachte ich, kommt der Hinweis, eben das nicht in einem Thread zu vermischen.
4.) Nochmals auch Danke fürs Helfen bez. der eigentlichen Problemstellung! Das war mir wichtig, das konnten wir lösen. Und ich glaube ich habe mir die Lösung nicht zu 100% vorarbeiten lassen, sondern ganz brav meine eigenen Gedanken dazu umgesetzt.
5.) Ich hab hier auch schon geholfen, meist öffentlich lesbar. Habe auch schon haarsträubende oder gar keine Antworten bekommen. Aber auch mal Dankesworte.
Tut mir leid, wenn meine vorige Antwort so kurz und undankbar erschien. So war es nicht gemeint!
Schon recht …
Es ist nur etwas frustrierend, wenn du dir die Mühe machst, etwas zu erklären, Links zur Dokumentation raussuchst und dann ein „… aber trotzdem Danke“ zurück kommt. Aber über persönliche Befindlichkeiten wollten wir ja eigentlich auch gar nicht diskutieren. Mein Fehler, dass ich’s erwähnt hab.