Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Spyder.RV

Forçar exibição somente até o "read more" em um widget para ex

Recommended Posts

Estou desenvolvendo um widget onde preciso mostrar alguns posts pelo ID e estou localizando os posts usando a função get_post..

 

get_post($instance['post']); // ID do post

 

Até aqui tá beleza... consigo exibir o conteúdo do post normalmente... o problema é que o "read more" está sendo ignorado e mostra todo o conteúdo do post. Como faço pra forçar o post a ser exibido somente até o ponto do "read more"?

 

Abaixo a exibição do código do widget:

 

function widget($args, $instance){
	$title = apply_filters( 'widget_title', $instance['title'] );
	$widget_post = get_post($instance['post']);

	echo $args['before_widget'];			// Antes
	if ( ! empty( $title ) )
		echo $args['before_title'] . $title . $args['after_title'];

	echo $widget_post->post_content;		// Conteudo
	echo $args['after_widget'];			// Depois
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já tentou usar o the_excerpt ?

 

Dá uma olhada no link abaixo

 

http://codex.wordpress.org/Function_Reference/the_excerpt

 

Cara... pior que já... vem em branco...

 

Acabo de conseguir resolver lançando mão de recurso de POG... programação orientada à gambiarras... pois percebi que mesmo sem o excerpt... em post_content tem uma tag <!--more-->... então extraí o conteúdo anterior a ela:

 

function widget($args, $instance){
	$title = apply_filters( 'widget_title', $instance['title'] );
	$widget_post = get_post($instance['post']);

	$excerpt = explode("<!--more-->", $widget_post->post_content);
	$content = count($excerpt)>1 ? $content=$excerpt[0]:$widget_post->post_content;
	$content .= '<p><a href="' . get_permalink( $instance['post'] ) . '">';
	$content .= '	Veja mais...</a></p>';
		
	echo $args['before_widget'];			// Antes
	if ( ! empty( $title ) )
		echo $args['before_title'] . $title . $args['after_title'];

	echo $content;					// Conteudo
	echo $args['after_widget'];			// Depois
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.