Entfernen Sie mehr oder […] Text aus dem kurzen Beitrag


8

Ich verwende ein Thema mit einer Zeichenbeschränkung für Shortpost und zeige [...] am Ende der Zeichenbeschränkung.

Ich möchte dies entfernen, also suche ich the_excerpt();und ersetze durchthe_content();

Das Problem wird mit normalem Inhalt gelöst, es tritt jedoch immer noch ein Problem mit dem <?php the_excerpt(); ?>Bildposttyp auf. Wenn ich dies ändere, verhält sich mein Shortpost wie ein vollständiger Post und hängt nicht mit der Länge des Posts zusammen.

Ich versuche, alle PHP-Dateien im Thema zu öffnen und suche nach Schlüsselwörtern wie: Limit, Länge, Auszug, um herauszufinden, wo sich der Code befindet, der die Länge des Shortposts definiert, und suche sogar in allen Dateien und Sprachen nach "[...]", aber ich Ich weiß nicht, woher das kommt.

Aber alles, was ich finde, ist eine Codezeile in function.php

if ( ! function_exists( 'string_limit_words' ) ) :
function string_limit_words($str, $limit = 18 , $need_end = false) {
    $words = explode(' ', $str, ($limit + 1));
    if(count($words) > $limit) {
        array_pop($words);
        array_push($words,'...');
    }
    return implode(' ', $words);
}
endif;

Und wenn ich 18 erhöhe, ändert sich nichts!

Nach welchem ​​Code muss ich suchen?

Antworten:


19

Der Kodex ist dein Freund und sollte deine erste Station sein :-)

Das [...]wird hinzugefügt von the_excerpt(). Im Lieferumfang ist ein Filter namens excerpt_moreFilter enthalten, der speziell enthalten ist, um den Text zum Lesen nach dem Auszug anzupassen

Um den [...]Text nach dem Auszug zu entfernen , haben Sie folgende Möglichkeiten

function new_excerpt_more( $more ) {
    return '';
}
add_filter('excerpt_more', 'new_excerpt_more');

danke für die antwort dein code funktioniert gut zum entfernen [...] aber trotzdem sind die shortposts begrenzt und die wörter werden nach einigen
zeichen

eine andere Frage nur für Neugierige, wie kann ich das [...] in etwas anderes ändern, zum Beispiel [mehr ...]
Arioman

Sie sollten diesen Beitrag lesen . Ich habe über alles in diesem Beitrag berichtet. Ich hoffe es hilft :-). Denken Sie daran, meine Antwort zu akzeptieren, wenn sie zur Lösung Ihres Problems beigetragen hat.
Pieter Goosen

Dies scheint nur den Link zum Lesen zu entfernen. Das [...]ist noch da.
Jules

3

Wie andere bereits betont haben, ist die Verwendung des excerpt_moreFilterhakens der richtige Weg.

Ich wollte nur hinzufügen, dass Sie keine Funktion schreiben müssen, die eine leere Zeichenfolge zurückgibt. In WordPress sind einige Funktionen integriert, mit denen true, false, zero, null, leere Zeichenfolgen oder leere Arrays zurückgegeben werden können.

In diesem Fall benötigen wir __return_empty_string ()

Sie können diesen Code zu Ihrem Plugin oder zu den Funktionen Ihres Themes hinzufügen.

<?php 
// This will add a filter on `excerpt_more` that returns an empty string.
add_filter( 'excerpt_more', '__return_empty_string' ); 
?>

1

das ist arbeit für mich!

function change_excerpt( $text )
{
    $pos = strrpos( $text, '[');
    if ($pos === false)
    {
        return $text;
    }

    return rtrim (substr($text, 0, $pos) );
}
add_filter('get_the_excerpt', 'change_excerpt');

0

Sie sollten dies zu Ihrem hinzufügen functions.php

    function custom_excerpt_more( $more ) {
    return '';//you can change this to whatever you want
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );

Die Verwendung the_excerpthat außerdem den Vorteil, dass der Inhalt automatisch bereinigt und alle Bilder und andere HTML-Tags gelöscht werden.

Hier können Sie mehr lesen

Wenn Sie auch die Länge des Auszugs ändern möchten, können Sie dieses Snippet zu Ihrem hinzufügen functions.php:

function custom_excerpt_length( $length ) {
    return 20;//change the number for the length you want
}
add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );

Mehr dazu lesen Sie hier


Auf welche Versionen zielen Sie ab, das ist vor 2.9 :-)
Pieter Goosen

@PieterGoosen, ich denke der falsche.
Tomás Cot

Ihr Code funktioniert gut mit sich ändernder Länge, aber wenn ich [...] entferne, wird es hässlich, wenn ein Teil des Absatzes fehlt. Es wird großartig sein, wenn irgendwie ein Absatz statt Länge erkannt wird !! // Ein weiteres Problem mit dem Auszug
betrifft Shortcodes. Ich kann keinen

@Arioman, Sie können das [...] mit einem Link ändern, der "Weiterlesen" sagt, oder was auch immer Sie wollen. Wenn Sie nun funktionierende Shortcodes haben möchten, the_excerptist dies nicht das, wonach Sie suchen. Sie sollten dies der Frage hinzufügen, da sich die Antworten ändern werden.
Tomás Cot

@ TomásCot danke für diesen fantastischen Leitfaden. Ich füge alle Codes (vollständiger Code) in meine function.php ein und entferne $ wpse_excerpt = strip_tags ($ wpse_excerpt, wpse_allowedtags ()); Um alle Tags zu akzeptieren, verwende ich den Stream Video Player zum Einfügen von Videos und er generiert Shortcodes wie: [stream flv = http: //****/clip/shad.m4v embedded = false share = false width = 640 height = 360 dock = true controlbar = über Bandbreite = high autostart = false responsive = 16: 9 /] aber trotzdem bekomme ich einen Text: * Video: mein Video anstatt meinen Video Player im Shortpost zu zeigen wo ist mein Problem?
Arioman

0

Versuchen Sie, eine neue Funktion in Ihrem zu erstellen functions.php:

function custom_excerpt() {
 $text=preg_replace( "/\\[&hellip;\\]/",'place here whatever you want to replace',get_the_excerpt());
echo '<p>'.$text.'</p>';
}

Verwenden Sie dann die neue Funktion auf Ihrer Seite.


0

'excerpt_more' ist ein WordPress-Hook. Es gibt den Inhaltsauszug zurück. Um das [...] nach dem Auszugstext zu entfernen, können Sie das Leerzeichen wie unten oder Ihre benutzerdefinierten Anforderungen zurückgeben. Verwenden Sie diesen Code auf function.php

function custom_excerpt_more( $excerpt ) {
    return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.