Como alterar o HTML do Read More?

709 views
Skip to first unread message

Wemerson Couto Guimarães

unread,
Mar 2, 2014, 9:02:38 AM3/2/14
to wordpres...@googlegroups.com

Preciso alterar o HTML do "Read More", onde preciso adicionar algumas classes CSS do meu tema, onde tenho vários fatores que interferem no que será ajustado de CSS, então o tema tem várias classes para simplificar, como por exemplo definir o link como um botão, temos a classe button, para mudar a cor do botão temos as classes,blue,redorange, etc... além ainda das classes de tamanho do botão, etc...


Eu consegui resolver parcialmente... criando um filtro para the_content e na Home funcionou, os posts são listados com o botão do jeito que eu quero:

function readmore_as_button($content){

	if( strpos($content, 'more-link') )
		$content = str_replace('more-link', 'button orange',
				$content);

	return $content;
}
add_filter('the_content','readmore_as_button');

Observem as mudanças aqui: http://www.wguimaraes.com.br/

Porém nas outras páginas do tema, como pesquisa ou arquivo, não dá certo, pois o tema não add a classe "more-link" ao link do read more nessas páginas...

Vejam:
Arquivo: http://www.wguimaraes.com.br/servidores/

Pesquisa: http://www.wguimaraes.com.br/?s=servidor&submit=Ir


--
Wemerson Guimarães
Rio Verde - Go - Brasil

Antonio Cezar, olocutor.com

unread,
Mar 2, 2014, 10:20:41 AM3/2/14
to wordpres...@googlegroups.com
Depende o tema, pois alguns adicionam filtros para essas páginas,e por isso o read more não  funciona nelas.
Adicionar global $more; $more = 0; dentro do wile( também faz com que o read more funcione em páginas e outros lugares que ele não funciona por padrão.

"Locutor Antonio Cezar" - colecionador de Datas Comemorativas.

Fones 0 código da operadora (16)
3392-1822 ou 3392-5965 - Vivo Fixo; 99701-2232 - Vivo Móvel; 98227-2989 - Tim Móvel; 98845-4689 - Oi Móvel; 99293-0730 - Claro Móvel.

Demos e aquisição de locuções: http://olocutor.com/

Divulgação de carros de som: http://carrosdesom.org/

Datas Comemorativas: http://diasde.com/

-------- Mensagem original --------
Assunto: [wordpress-brasil] Como alterar o HTML do Read More?
De: Wemerson Couto Guimarães <wemer...@gmail.com>
Para: wordpres...@googlegroups.com
Data: Domingo, 2 De Março De 2014 11:02:38
--
--
----------------------------------------------------------------------------------------------------------------------
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
 
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
 
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/
----------------------------------------------------------------------------------------------------------------------
Grupo no Facebook: http://www.facebook.com/groups/wordpress.brasil/

---
Você recebeu essa mensagem porque está inscrito no grupo quot;WordPress Brasil Lista" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para wordpress-bras...@googlegroups.com.
Para mais opções, acesse https://groups.google.com/groups/opt_out.

Wemerson Couto Guimarães

unread,
Mar 2, 2014, 10:54:16 AM3/2/14
to wordpres...@googlegroups.com
Tá... ajustar no home foi fácil, pois o link do read more veio com a classe "more-link" diferente dos archive e search... porém, tentei fazer algo como:

function readmore_as_button($content){

	if( strpos($content, 'more-link') )
		$content = str_replace('more-link', 'button orange',
				$content);
	else
		$content = str_replace('>Leia mais', ' class="button orange">Leia mais',
$content);

return $content; } add_filter('the_content','readmore_as_button');

Mas não deu certo... daí deu um var_dump no $content e percebi que na página inicial, o $content vem com o read-more, já na página de arquivos e de pesquisa, não... 

Veja a diferença: 
Home: http://www.wguimaraes.com.br/ --> Vem com o Read More
Arquivo: http://www.wguimaraes.com.br/servidores/ --> Não vem com o Read More
Pesquisa: http://www.wguimaraes.com.br/?s=zentyal&submit=Ir --> Também não vem com o Read More

Ou seja, na home tá resolvido... agora falta nas outras partes...

Você está recebendo esta mensagem porque se inscreveu no grupo "WordPress Brasil Lista" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para wordpress-bras...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Myst1010

unread,
Mar 3, 2014, 6:57:24 AM3/3/14
to wordpres...@googlegroups.com
o link leia mais só vem realmente quando se usa the_content ou get_the_content, então como o Antonio Cezar disse, depende do tema usar estas funções para exibir o link.

Aqui está uma função que usa o gancho apropriado para personalizar o link, mas certamente só irá funcionar onde está sendo usado as funções que falei.
Se em algumas páginas continuar não funcionando, então é provável que o tema esteja usando uma função customizada para exibir o conteúdo junto com o link.
Então você deve editar manualmente o tema para permitir que o gancho funcione.


function custom_class_more_link( $link ){
    $link = str_replace('<a', '<a class="more-link button orange" ', $link );
    return $link;
}
add_filter( 'the_content_more_link', 'custom_class_more_link' );

Wemerson Couto Guimarães

unread,
Mar 3, 2014, 7:23:25 AM3/3/14
to wordpres...@googlegroups.com
Entendi... foi isso mesmo.

Tentei pelo gancho get_the_excerpt e deu certo na página de arquivos... já na de pesquisa ainda não....mas vamos que vamos...



--
--
----------------------------------------------------------------------------------------------------------------------
Você recebeu esta mensagem por estar inscrito na lista de debates "WordPress Brasil" através do sistema Google Groups.
 
Para enviar uma mensagem: wordpres...@googlegroups.com
Para cancelar sua inscrição: wordpress-bras...@googlegroups.com
Para visitar o grupo: http://groups.google.com.br/group/wordpress-brasil?hl=pt-BR
 
Temas: http://wordpress.org/extend/themes/
Plugins: http://wordpress.org/extend/plugins/
Projeto WordPress: http://br.wordpress.org/
----------------------------------------------------------------------------------------------------------------------
Grupo no Facebook: http://www.facebook.com/groups/wordpress.brasil/
 
---
Você está recebendo esta mensagem porque se inscreveu no grupo "WordPress Brasil Lista" dos Grupos do Google.
Para cancelar a inscrição neste grupo e parar de receber seus e-mails, envie um e-mail para wordpress-bras...@googlegroups.com.
Para obter mais opções, acesse https://groups.google.com/groups/opt_out.

Wemerson Couto Guimarães

unread,
Mar 3, 2014, 8:20:43 AM3/3/14
to wordpres...@googlegroups.com
Eu consegui... abaixo a solução para as archive e search:

function excerpt_adjustments($param) {
$m = '<div class="read-more">';
if( strpos($param, $m) ):
$p = explode($m, $param);
$param = $p[0];
endif;

global $post;
$link = '<a class="more-link" href="'. 
get_permalink($post->ID) . 
'"> Leia mais &#8250;</a>';

$link = str_replace('more-link', 'button orange',$link);
return "{$param} {$link}";
}
add_filter('get_the_excerpt', 'excerpt_adjustments');

Reply all
Reply to author
Forward
0 new messages