Intereting Posts

Вызов the_excerpt из файла шаблона плагина

Я пытаюсь использовать форму the_excerpt внутри файла шаблонов плагинов, плагин – wp-favorite-posts по умолчанию только списки плагинов и отображает сохраненный заголовок сообщения, я заставил его показать все, налоговые условия, изображение и т. Д., Но с heck времени с the_excerpt, что происходит, когда я добавляю <?php the_excerpt( $post_id ); ?> <?php the_excerpt( $post_id ); ?> в код является непрерывным циклом любимого сообщения и без отрывка.

Я использую global $post чтобы я мог получить всю информацию (cept выдержка)

 <?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 "<p>".$wpfp_before."</p>"; endif; if ($favorite_post_ids): foreach ($favorite_post_ids as $post_id) { $p = get_post($post_id); ?> <div class="homepage_props"> <div class="homepage_props_inner"> <div class="homepage_propsbanner"> <div class="homepage_new"> <?php if (strtotime($post->post_date) > strtotime('-7 days')) { ?> <img src="<?php echo get_template_directory_uri(); ?>/images/new.png" alt="latest property listings" /> <?php } ?> </div> <h2> <span style="float:left; font-weight:bold;"> <?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</span>'; } elseif ( 'bandb' == get_post_type() ) { echo 'Bed And Breakfast</span>'; } ?> </span> <span style="float:right; font-weight:normal;"> <a href="<?php echo get_permalink($post_id); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themename' ), the_title_attribute( 'echo=0' ) ); ?>" rel="bookmark"><?php echo get_the_title ( $post_id ); ?></a> </span> </h2> </div> <div class="clear"></div> <div class="homepage_props_image"> <?php echo "<a href='".get_permalink($post_id)."'>"; echo get_the_post_thumbnail ( $post_id, 'medium' ); echo "</a>"; ?> </div><!-- / homepage_props_image --> <div class="homepage_props_info hyphenate"> <!-- heres where im trying to put the_excerpt --> </div><!-- / homepage_props_info --> <div class="clear"></div> <div class="homepage_props_tax"> <?php if ( 'sales' == get_post_type($post_id) ) { echo '<h3><span style="float:right; font-weight:normal;">' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;'.get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } elseif ( 'rentals' == get_post_type($post_id) ) { echo '<h3><span style="float:right; font-weight:normal;">' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' . get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } elseif ( 'business' == get_post_type($post_id) ) { echo '<h3><span style="float:right; font-weight:normal;">' . get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' . get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' . get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); } ?> </span></h3> </div><!-- / homepage_props_tax --> </div><!-- / homepage_props_inner --> </div><!-- / homepage_props --> <?php } else: echo $wpfp_options['favorites_empty']; endif; ?> <span style="float:left; font-size:0.7em;"><?php wpfp_clear_list_link(); ?></span> <?php wpfp_cookie_warning(); ?> 

Первое изображение использует the_excerpt

с помощью_excerpt

Второе изображение без слова the_excerpt
без выдержки

Solutions Collecting From Web of "Вызов the_excerpt из файла шаблона плагина"

Вы делаете несколько ошибок:

  1. the_excerpt не использует post id.
  2. Когда вы изменяете глобальную $ post, вы всегда должны возвращать ее исходное значение.
  3. вы присваивали возвращаемое значение get_post $ p, которое не использовалось в вашем коде.

Я сделал несколько исправлений в вашем коде. Следующий код – это всего лишь скопируйте свой код с моими исправлениями, поэтому попробуйте код ниже и сообщите мне, если у вас все еще есть проблемы. Извините, мне пришлось изменить бит форматирования кода.

 <?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 "<p>".$wpfp_before."</p>"; endif; if ($favorite_post_ids): foreach ($favorite_post_ids as $post_id) { $p = get_post($post_id); ?> <div class="homepage_props"> <div class="homepage_props_inner"> <div class="homepage_propsbanner"> <div class="homepage_new"> <?php if (strtotime($p->post_date) > strtotime('-7 days')) { ?> <img src="<?php echo get_template_directory_uri(); ?>/images/new.png" alt="latest property listings" /> <?php } ?> </div> <h2><span style="float:left; font-weight:bold;"> <?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'; } ?> </span> <span style="float:right; font-weight:normal;"> <a href="<?php echo get_permalink($post_id); ?>" title="<?php printf( esc_attr__( 'Permalink to %s', 'themename' ), get_the_title( $post_id ) ); ?>" rel="bookmark"><?php echo get_the_title ( $post_id ); ?></a> </span> </h2> </div> <div class="clear"></div> <div class="homepage_props_image"> <?php echo "<a href='".get_permalink($post_id)."'>"; echo get_the_post_thumbnail ( $post_id, 'medium' ); echo "</a>"; ?> </div><!-- / homepage_props_image --> <div class="homepage_props_info hyphenate"> <?php echo $p->post_excerpt; ?> </div><!-- / homepage_props_info --> <div class="clear"></div> <div class="homepage_props_tax"> <?php if ( in_array( $p->post_type, array( 'sales', 'rentals', 'business' ) ) ) { echo '<h3><span style="float:right; font-weight:normal;">' .get_the_term_list( $post_id, 'property_type', 'Property Type: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;' .get_the_term_list( $post_id, 'location', 'Location: ', ' ', '' ),'&nbsp;&nbsp;&nbsp;'.get_the_term_list( $post_id, 'region', 'Region: ', ' ', '' ); echo '</span></h3>'; } ?> </div><!-- / homepage_props_tax --> </div><!-- / homepage_props_inner --> </div><!-- / homepage_props --> <?php } else: echo $wpfp_options['favorites_empty']; endif; ?>