Frage

Wie können Sie es so haben, dass die Homepage der Website nur die ersten X (sagen wir 300) Wörter des Beitrags?

Aber ohne "mehr" -Tag oder handgefüllte Auszüge zu verwenden? Ich suche ein Plugin/Hack für WP 2.9 und weiter.

Ich bin bisher auf mehrere Lösungen gestoßen, hoffe aber auf eine empfohlene Lösung.

Herausforderungen, die ich bisher ein Kreuz gekommen bin:

  • Was passiert, falls ein Tag (zum Beispiel) mit Wort 295 beginnt und nach Word 301 endet?
  • Kann es möglich sein, ein anderes X für die Homepage, die Tags -Seite, die Kategorieseite - usw. zu haben?
  • Kann das Format des Textes erhalten bleiben? (Alle Bilder und Textbildung)?
  • Das Plugin hat die geringste Menge an Rückgriff vom Server.
War es hilfreich?

Lösung

Das Ändern der Wortzahl auf der Startseite ist einfach:

if( is_home() )
  add_filter( 'excerpt_length', create_function( '', 'return 300;' ) );

Replizieren Sie diesen Code einfach und ändern Sie die bedingte Prüfung, um diese zu anderen Seiten hinzuzufügen. Die andere Option besteht darin, den Code einfach auf der Vorlageseite einzulegen (home.php, tag.php, usw.), Sie wissen also, dass es auf der richtigen Seite eingestellt wird.

Verwendung the_excerpt() Streifen Sie automatisch Shortcodes und HTML aus dem Inhalt, wenn kein Auszug bereitgestellt wird. Sie können diese Filter entfernen, aber es macht es viel schwieriger, Wortzählungen zu machen, wenn Sie die Mischung einfügen. Wenn Sie die Formatierung/Text/Bilder erhalten möchten, ist das das, was das more Tag ist für. Es wird manuell eingefügt, weil es zu schwierig ist, in allen Fällen, in denen diese Pause gehen sollte, automatisch herauszufinden.

Andere Tipps

Du kannst den ... benutzen Fancy Auszug Plugin für WordPress dafür und modifizieren Sie es ein wenig. Es bewahrt den Stil, macht Wortzählungen. Sie müssen dies nur ein wenig ändern, um Ihre Wortzählung zu haben, und wenn Sie die Ellipsis nicht mögen, um das Ende zu ändern.

Wenn Sie nur die ersten 300 Wörter des Inhalts benötigen, können Sie ihn leicht erhalten

wp_trim_words( $post->post_content, 300, '');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit wordpress.stackexchange
scroll top