Rimuovi più o […] testo dal post breve


8

Uso un tema che ha un limite di caratteri per shortpost e mostra [...] alla fine del limite di caratteri.

Voglio rimuovere questo, quindi cerco the_excerpt();e sostituisco conthe_content();

Il problema si risolve con un contenuto normale ma ho ancora problemi con il tipo di post di immagine e c'è <?php the_excerpt(); ?>che quando cambio questo il mio shortpost si comporta come un post completo e non è correlato alla lunghezza del post.

Provo ad aprire tutti i file PHP in tema e cerco parole chiave come: limite, lunghezza, estratto per trovare dov'è il codice che definisce la lunghezza del shortpost anche cercare "[...]" in tutti i file e in tutte le lingue non so da dove venga.

Ma tutto quello che trovo è una riga di codice 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;

E quando aumento 18 non cambia nulla!

Quale codice devo cercare?

Risposte:


19

Il codice è tuo amico e dovrebbe essere la tua prima tappa :-)

La [...]si aggiunge da the_excerpt(). C'è un filtro fornito chiamato il excerpt_morefiltro che è specificamente incluso per personalizzare il testo letto dopo l'estratto

Per rimuovere il [...]testo dopo il brano estratto, è possibile effettuare le seguenti operazioni

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

grazie per la risposta il tuo codice funziona bene per rimuovere [...], ma i posti brevi sono limitati e la parola tagliata dopo alcuni caratteri voglio agire normalmente (tutto prima di leggere più mostra tag sul mio breve post)
Arioman

un'altra domanda solo per curiosi, come posso cambiare [...] qualcos'altro per esempio [altro ...]
Arioman

Dovresti leggere questo post . Ho coperto tutto in quel post. Spero che sia d'aiuto :-). Ricorda di accettare la mia risposta se mi ha aiutato a risolvere il tuo problema.
Pieter Goosen,

questo sembra rimuovere solo il collegamento leggi di più. Il [...]è ancora lì.
Jules,

3

Come altri hanno già sottolineato, l'uso del excerpt_moregancio del filtro è la strada giusta da percorrere.

Volevo solo aggiungere che non è necessario scrivere una funzione che restituisce una stringa vuota. WordPress ha alcune funzioni integrate per restituire true, false, zero, null, stringhe vuote o array vuoti.

In questo caso abbiamo bisogno di __return_empty_string ()

Puoi aggiungere questo codice al tuo plugin o alle funzioni.php del tuo tema:

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

1

quello è lavoro per me!

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

Dovresti aggiungere questo al tuo functions.php

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

Inoltre, l'utilizzo the_excerptha il vantaggio che pulisce automaticamente il contenuto ed elimina tutte le immagini e altri tag HTML.

Puoi leggere di più qui

Se vuoi anche modificare la lunghezza dell'estratto, puoi aggiungere questo snippet al tuo 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 );

Puoi leggere di più su questo qui


Quali versioni stai prendendo di mira, ovvero pre 2.9 :-)
Pieter Goosen,

@PieterGoosen, immagino quello sbagliato.
Tomás Cot

il tuo codice funziona bene con la modifica della lunghezza, ma quando rimuovo [...] sarà brutto quando una parte del paragrafo sembra mancante, sarebbe bello se in qualche modo rileverà un paragrafo invece della lunghezza !! // un altro problema con l'estratto riguarda i codici brevi, non posso mettere il lettore video o la presentazione nel mio post breve
Arioman,

@Arioman, puoi cambiare [...] con un link che dice "Continua a leggere", o qualunque cosa tu voglia. Ora, se vuoi avere codici brevi funzionanti, the_excerptnon è quello che stai cercando, dovresti aggiungerlo alla domanda, poiché le risposte cambieranno.
Tomás Cot

@ TomásCot grazie per questa fantastica guida. ho inserito tutti i codici (codice completo) nel mio function.php e ho rimosso $ wpse_excerpt = strip_tags ($ wpse_excerpt, wpse_allowedtags ()); per accettare tutti i tag uso stream video player per inserire video e genera codici brevi come: [stream flv = http: //****/clip/shad.m4v embed = false share = false width = 640 height = 360 dock = true controlbar = over bandwidth = high autostart = false responsive = 16: 9 /] ma ricevo ancora un messaggio: * Video: il mio video invece di mostrare il mio lettore video in shortpost dov'è il mio problema ??
Arioman,

0

Prova a creare una nuova funzione nel tuo functions.php:

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

Quindi utilizzare la nuova funzione sulla tua pagina.


0

'excerpt_more' è un hook di WordPress. Restituisce l'estratto del contenuto. Per rimuovere il [...] testo dopo aver estratto il testo, è possibile tornare vuoto come di seguito o i requisiti personalizzati. Usa questo codice su function.php

function custom_excerpt_more( $excerpt ) {
    return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.