Wie Sie Verhindern, dass WordPress aus den Stripping-HTML-Tags im Excerpt
Ich bin mit wp_trim_words zu trimmen einige Ausschnitte auf meiner homepage. Es funktioniert einwandfrei außer das es Strippen die HTML-tags aus der Auszüge. Ich muss in der Lage sein, um bestimmte Teile des Zitates Fett (mit <strong>
). Nach den Anweisungen hier, ich habe versucht, das entfernen der wp_trim_words Funktion und ersetzen Sie Sie durch eine neue mit dem folgenden code ersetzt $text = wp_strip_all_tags( $text );
von der ursprünglichen WP-Funktion mit $text = strip_tags($text, '<strong>',);
. Aber das bricht der Website. Was mache ich falsch?
//Remove Reverie Trim Words
function remove_trim_words() {
remove_filter('get_the_excerpt', 'wp_trim_words');
add_filter('get_the_excerpt', 'oakwood_trim_words');
}
//Replace Reverie Trim Words
function oakwood_trim_words( $text, $num_words = 55, $more = null ) {
if ( null === $more )
$more = __( '…' );
$original_text = $text;
$text = strip_tags($text, '<strong>',);
/* translators: If your word count is based on single characters (East Asian characters),
enter 'characters'. Otherwise, enter 'words'. Do not translate into your own language. */
if ( 'characters' == _x( 'words', 'word count: words or characters?' ) && preg_match( '/^utf\-?8$/i', get_option( 'blog_charset' ) ) ) {
$text = trim( preg_replace( "/[\n\r\t ]+/", ' ', $text ), ' ' );
preg_match_all( '/./u', $text, $words_array );
$words_array = array_slice( $words_array[0], 0, $num_words + 1 );
$sep = '';
} else {
$words_array = preg_split( "/[\n\r\t ]+/", $text, $num_words + 1, PREG_SPLIT_NO_EMPTY );
$sep = ' ';
}
if ( count( $words_array ) > $num_words ) {
array_pop( $words_array );
$text = implode( $sep, $words_array );
$text = $text . $more;
} else {
$text = implode( $sep, $words_array );
}
/**
* Filter the text content after words have been trimmed.
*
* @since 3.3.0
*
* @param string $text The trimmed text.
* @param int $num_words The number of words to trim the text to. Default 5.
* @param string $more An optional string to append to the end of the trimmed text, e.g. ….
* @param string $original_text The text before it was trimmed.
*/
return apply_filters( 'oakwood_trim_words', $text, $num_words, $more, $original_text );
}
Wie die Website brechen?
Es zeigt nur eine komplett leere weiße Seite an. Keine Inhalte bei allen.
Es zeigt nur eine komplett leere weiße Seite an. Keine Inhalte bei allen.
InformationsquelleAutor mcography | 2014-06-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
KOMPLETTE ANLEITUNG, UM AUSZÜGE
Habe ich vor kurzem beantwortet ein paar Fragen bezüglich der Auszüge, so dass ich' werde geben Sie eine detaillierte Erklärung für so viel wie ich kann.
HTML-TAGS/FORMATIERUNGS -
the_excerpt()
zunächst nicht, mit Ausnahme der Parameter, so kann auch nichts weitergegeben werden. In ist eine Tatsache, dassthe_excerpt()
kürzt das Gehalt um 55 Wörter, und alle html-tags entfernt werden, bevor Sie den text.the_excerpt()
befindet sich in wp-includes/post-template.php. Es, bestimmte oder alle html-tags im Auszug, ein neuer Auszug erstellt werden.Zunächst die ursprüngliche Funktion muss zuerst entfernt werden, und dann die neue Funktion benötigt, um süchtig zu
get_the_excerpt
. Bitte beachten Sie, dieser neue Auszug wird noch aufrufbar sein, alsthe_excerpt()
im template-Dateien, keine Notwendigkeit, das zu ändern.get_the_excerpt()
befindet sich in wp-includes/post-template.php.Den Auszug verwendet
wp_trim_excerpt
die Rückkehr der getrimmten text, so müssen wir entfernenwp_trim_excerpt
erste aus den Auszug filtern.wp_trim_excerpt()
befindet sich in wp-includes/formatting.php, Zeile 2355. Das ist wie:Können Sie jetzt fügen Sie Ihre neuen Auszug zu
get_the_excerpt
Damit html-tags/Formatierungs -, wir müssen festlegen, welche tags Sie benötigen, zu ermöglichen. Sie können die folgenden
strip_tags
- Anweisung, um zu erreichen, dassDas zweite argument
wpse_allowedtags()
ist eine kleine Funktion, die verwendet wird zum hinzufügen von tagsthe_excerpt()
ermöglichen. Für eine vollständige Liste der gültigen HTML5-tags, gehen und check it out hier. Hier ist die Funktion, fügen Sie beliebigen html-Tags, die Sie brauchen, um zu erlauben/zu haltenWenn Sie brauchen, um alle HTML-tags, das heißt, keine Strippen von beliebigen tags, die
strips_tags()
Funktion kann weggelassen werden,/ganz entfernt.Einem Punkt allerdings zu beachten, wenn html-tags sind erlaubt, werden diese tags sind, zählen als Worte, also Ihre word-count für Auszüge mit tags, ohne tags wird nicht die gleiche sein. Zu beheben, müssen Sie entfernen diese tags aus der aktuelle word-count zunächst so, dass nur Wörter gezählt werden.
Habe ich geschrieben, ein Auszug, damit alle tags, zählen nur Wörter als Wörter und ein Satz nach der eingestellten Anzahl von Worten (nicht trimmen text mitten im Satz ab) und Lesen Sie mehr text nach dem letzten Wort.
Hier ist der vollständige code
Können Sie einfach entfernen Sie die '//' von Funktionen, die Sie benötigen extra.
BENUTZERDEFINIERTE AUSZUG LÄNGEN
Manchmal müssen Sie eine display-einfache Auszüge von verschiedenen Längen und es ist nicht lebensfähig, schreiben einen Auszug für jede Stelle/Funktion/Seite. Hier ist eine nette kleine Funktion mit
wp_trim_words
Was diese kleine Funktion haben, ist unter
get_the_excerpt
trimmen, dass$limit
durch den Benutzer festgelegt und für die Rückgabe der text mit einem weiterlesen-link am Ende.Können Sie nennen diesen Auszug wie folgt in deine Vorlage
wo
$limit
wird dein Wort zählen, so ein Auszug von 30 WortNur eine Sache zu erinnern, wenn Sie Ihr limit um mehr als 55 Wörter, nur 55 Wörter zurückgegeben werden, wie der Auszug ist nur 55 Wörter lang. Wenn längere Auszüge benötigt werden, verwenden Sie
get_the_content
statt.BENUTZERDEFINIERTE AUSZUG LÄNGE
Wenn Sie brauchen nur zu ändern, die Länge der
the_excerpt()
können Sie folgende Funktion verwendenDenken Sie daran, Sie brauchen, um eine Priorität größer als 10, so dass Ihre benutzerdefinierte Funktion wird ausgeführt, nachdem der Standard.
HINZUFÜGEN LESEN SIE MEHR ÜBER LINK
Alle zurückgegebenen text durch den Auszug haben den verhassten
[...]
am Ende, dass ist nicht anklickbar. Hinzufügen Lesen Sie mehr text in der Stelle des hellips, verwenden Sie diese FunktionBEARBEITEN
Auszug ersten Absatz
Ich will, dass diese vollständig, also hier ist der Auszug, die Trimmung nach dem ersten Absatz
Hier ist eine Funktion, hält HTML-tags im Takt, fügt einen "Mehr Lesen" link am Ende der Leseprobe und trimmt den Auszug nach dem ersten Absatz.
Im Falle, dass ich nur wollen, zulassen von html-tags, muss ich dann die hook-Funktion in functions.php oder sollte ich ändern post-template.php und formatting.php?
Ja, alle dieser code geht in functions.php sofern nicht anders angegeben 🙂
Sorry, aber Es hat nicht funktioniert für mich, ich fügen Sie den code in wp-includes/formatting.php ich will nur zeigen die links, die ich Kahn in das EXCERPT-Feld auf meinen post, aber stets sauber, die einem html-element
InformationsquelleAutor Pieter Goosen
Können Sie nicht zulassen, dass html-Formatierungen in den Ausschnitt, als ob Sie den text schneiden Sie die ausschalten, bevor der tag geschlossen wird es schaffen, unerwünschte Formatierung auf den rest der Seite. Denken Fett wird angewendet von 20 Zeichen auf der 1000-Zeichen. Wenn die Formatierung verwendet wird, gelten die ab bold-tag, aber nicht das Ende, wie das text-limit ist bis 55th Zeichen.
InformationsquelleAutor Roland Sequeira
Versuchen Sie, diese zu Ihrem functions.php
InformationsquelleAutor Arlix