Remova mais ou […] texto da postagem curta


8

Eu uso um tema que tem um limite de caracteres para shortpost e aparece [...] no final do limite de caracteres.

Quero remover isso, então procuro the_excerpt();e substituo porthe_content();

O problema é resolvido com o conteúdo normal, mas ainda tem problemas com o tipo de postagem de imagem e, <?php the_excerpt(); ?>quando eu mudo isso, meu shortpost age como post completo e não está relacionado ao tamanho do post.

Eu tento abrir todos os arquivos PHP no tema e procurando por palavras-chave como: limite, comprimento, trecho para descobrir onde está o código que define o tamanho do shortpost e até procurar "[...]" em todos os arquivos e idioma, mas eu não sei de onde isso veio.

Mas tudo o que encontro é alguma linha de código em 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 eu aumentar 18 nada muda!

Qual código devo procurar?

Respostas:


19

O codex é seu amigo e deve ser sua primeira parada :-)

O [...]é adicionado por the_excerpt(). É fornecido um filtro chamado excerpt_morefiltro, que está incluído especificamente para personalizar o texto leia mais após o trecho

Para remover o [...]texto após o trecho, você pode fazer o seguinte

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

obrigado pela resposta, seu código está funcionando bem para remoção, [...] mas ainda assim as mensagens curtas são limitadas e cortadas após alguns caracteres. Quero agir normalmente (tudo antes de ler mais tag show no meu pequeno post)
Arioman

Outra questão apenas para curioso, como posso mudar a [...] para alguma outra coisa, por exemplo, [mais ...]
Arioman

Você deve ler este post . Eu cobri tudo sobre esse post. Espero que ajude :-). Lembre-se de aceitar minha resposta se isso ajudou a resolver seu problema.
Pieter Goosen

isso parece remover apenas o link leia mais. O [...]ainda está lá.
Jules

3

Como outros já apontaram, usar o excerpt_moregancho de filtro é o caminho certo a seguir.

Só queria acrescentar que você não precisa escrever uma função que retorne uma string vazia. O WordPress possui algumas funções incorporadas para retornar true, false, zero, null, string vazia ou array vazio.

Nesse caso, precisamos de __return_empty_string ()

Você pode adicionar esse código ao seu plug-in ou às funções do seu tema.php:

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

1

isso é trabalho para mim!

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

Você deve adicionar isso ao seu functions.php

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

Além disso, o uso the_excerpttem a vantagem de limpar automaticamente o conteúdo e excluir todas as imagens e outras tags HTML.

Você pode ler mais aqui

Se você também quiser modificar o tamanho do trecho, poderá adicionar este snippet ao seu 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 );

Você pode ler mais sobre isso aqui


Quais versões você está alvejando, que é pré 2,9 :-)
Pieter Goosen

@PieterGoosen, acho que o errado.
Tomás Cot

seu código funciona bem com a alteração do comprimento, mas quando removo [...] será feio quando uma parte do parágrafo parece estar faltando, será ótimo se, de alguma forma, detectar um parágrafo em vez disso! // outro problema com trecho é sobre códigos de acesso, eu não posso colocar player de vídeo ou apresentação de slides ao meu post curto
Arioman

@Arioman, você pode alterar o [...] com um link que diz "Continue lendo", ou o que você quiser. Agora, se você deseja ter códigos de acesso funcionais, the_excerptnão é o que está procurando, adicione-o à pergunta, pois as respostas serão alteradas.
Tomás Cot

@ TomásCot obrigado por este guia fantástico. Eu coloquei todos os códigos (código completo) no meu function.php e remova $ wpse_excerpt = strip_tags ($ wpse_excerpt, wpse_allowedtags ()); para aceitar todas as tags, eu uso o stream video player para inserir vídeo e gera códigos de acesso como: [stream flv = http: //****/clip/shad.m4v embed = false share = false width = false width = 640 height = 360 dock = true controlbar = over bandwidth = high autostart = false responsive = 16: 9 /] mas ainda assim recebo um texto: * Video: meu video em vez de mostrar meu video player em shortpost onde está o meu problema ??
Arioman 22/09/14

0

Tente criar uma nova função no seu functions.php:

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

Em seguida, use a nova função na sua página.


0

'excerpt_more' é um gancho do WordPress. Retorna o trecho do conteúdo. Para remover o [...] texto após o trecho, você pode retornar em branco como abaixo ou seus requisitos personalizados. Use este código em function.php

function custom_excerpt_more( $excerpt ) {
    return '';
}
add_filter( 'excerpt_more', 'custom_excerpt_more' );
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.