Chamando the_excerpt de dentro de um arquivo de modelo de plugin

Eu estou tentando usar o formulário the_excerpt dentro de um arquivo de modelo de plugins, o plugin é wp-favorito-posts por padrão, o plugin apenas lista e exibe o título da publicação salva, eu tenho manged para que ele mostre tudo, termos de impostos, imagem, etc., mas tendo um depois de um tempo com the_excerpt, o que acontece quando eu adiciono no código é um loop contínuo do post favorito e nenhum trecho.

Estou usando global $post para que eu possa obter todas as informações (exclua o trecho)

 <?php global $post; if (!empty($user)): if (!wpfp_is_user_favlist_public($user)): echo "$user's Favorite Posts."; else: echo "$user's list is not public."; endif; endif; if ($wpfp_before): echo "

".$wpfp_before."

"; endif; if ($favorite_post_ids): foreach ($favorite_post_ids as $post_id) { $p = get_post($post_id); ?>
post_date) > strtotime('-7 days')) { ?> <img src="https://wordpress.stackexchange.com//questions/20161/calling-the-excerpt-from-inside-a-plugin-template-file//images/new.png" alt="latest property listings" />

<?php if ( 'sales' == get_post_type($post_id) ) { echo 'Property For Sale'; } elseif ( 'rentals' == get_post_type($post_id) ) { echo 'Property For Rent'; } elseif ( 'business' == get_post_type($post_id) ) { echo 'Business For Sale'; } elseif ( 'bandb' == get_post_type() ) { echo 'Bed And Breakfast'; } ?> <a href="https://wordpress.stackexchange.com//questions/20161/calling-the-excerpt-from-inside-a-plugin-template-file/" title="" rel="bookmark">

<?php if ( 'sales' == get_post_type($post_id) ) { echo '

' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'   ' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'   '.get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } elseif ( 'rentals' == get_post_type($post_id) ) { echo '

' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'   ' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'   ' . get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } elseif ( 'business' == get_post_type($post_id) ) { echo '

' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'   ' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'   ' . get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } ?>

A primeira imagem está usando the_excerpt

com the_excerpt

A segunda imagem é sem the_excerpt
sem o trecho

Solutions Collecting From Web of "Chamando the_excerpt de dentro de um arquivo de modelo de plugin"

Você está fazendo algumas coisas erradas:

  1. the_excerpt não usa o ID da postagem.
  2. Quando você modifica $ $ global, você sempre deve configurá-lo de volta ao seu valor original.
  3. você estava atribuindo o valor de retorno do get_post a $ p que não foi usado em seu código.

Eu fiz algumas soluções no seu código. O código abaixo é apenas o colar de cópia do seu código com as minhas correções, então tente o código abaixo e me avise se você ainda possui problemas. Desculpe, tive que alterar o tamanho da formatação do seu código.

 < ?php if (!empty($user)): if (!wpfp_is_user_favlist_public($user)): echo "$user's Favorite Posts."; else: echo "$user's list is not public."; endif; endif; if ($wpfp_before): echo "

".$wpfp_before.""; endif; if ($favorite_post_ids): foreach ($favorite_post_ids as $post_id) { $p = get_post($post_id); ?>

< ?php if (strtotime($p->post_date) > strtotime('-7 days')) { ?> latest property listings < ?php } ?>

< ?php if ( 'sales' == $p->post_type ) { echo 'Property For Sale'; } elseif ( 'rentals' == $p->post_type ) { echo 'Property For Rent'; } elseif ( 'business' == $p->post_type ) { echo 'Business For Sale'; } elseif ( 'bandb' == $p->post_type ) { echo 'Bed And Breakfast'; } ?> < ?php echo get_the_title ( $post_id ); ?>

< ?php echo $p->post_excerpt; ?>
< ?php if ( in_array( $p->post_type, array( 'sales', 'rentals', 'business' ) ) ) { echo '

' .get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'   ' .get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'   '.get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); echo '

'; } ?>
< ?php } else: echo $wpfp_options['favorites_empty']; endif; ?>