2016-07-25 37 views
0

Ich habe einen Shortcode-Slider erstellt, der IDs von verschiedenen Seiten erhält und den Display-Slider anzeigt. Shordcode funktioniert gut, aber das Problem ist, dass wenn ich mehrere Shortcodes mehrmals auf der gleichen Seite/Schablonenseite kopiere, nur die erste Seite angezeigt wird. Dieses Problem tritt nur auf, wenn ich die gleiche Art von Kurzwahlcode überspringe, aber wenn ich einen anderen Kurzwahlcode auf derselben Seite überspringe, funktioniert es einwandfrei.WP Query Mehrere Shortcodes funktionieren nicht auf derselben Seite oder Vorlagenseite

Hier ist mein Code

add_shortcode('objectx-pages-list', 'objectx_pages_list_func'); 
function objectx_pages_list_func($atts) { 
global $post; 
ob_start(); 
extract(shortcode_atts(array('ids' => '1186'), $atts)); 
$id_array = explode(',', $ids); 
$pages_query = new WP_Query(array(
    'post_type' => 'page', 
    'post__in' => $id_array, 
    'order' => 'ASC', 
    'orderby' => 'title', 
)); 
if ($pages_query->have_posts()) { ?> 
<div class="carousel-wrapper"> 
<div class="owl-carousel owl-theme carousel-1" id="carousel-rooms"> 
<?php while ($pages_query->have_posts()) : $pages_query->the_post(); 
$featured_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
?> 
<div <?php post_class('item'); ?> id="post-<?php the_ID(); ?>"> 
    <div class="row"> 
     <div class="col-md-7"> 
      <div class="img-rooms"> 
       <a href="<?php the_permalink(); ?>"> 
       <img class="img-responsive wp-post-image" src="<?php echo $featured_image; ?>"></a> 
      </div> 
     </div> 
    <div class="col-md-5"> 
     <div class="detail-rooms"> 
      <h2 class="title-room "><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
      <?php the_excerpt(); ?> 
     </div> 
    </div> 
    </div> 
</div> 
<?php endwhile; ?> 
</div> 
</div> 
<?php $myvariable_pages = ob_get_clean(); 
wp_reset_postdata(); 
return $myvariable_pages; 
    } 
} 

Hier Short

[objectx-pages-list id="15,16,17"] 
[objectx-pages-list ids="25,26,27"] 

hier können Sie Live-Beispiel http://objextheme.wpengine.com/

Dieser wo sehen rking feinen Dachspitzepatio & LOUNGE aber das funktioniert nicht Diese Woche bei Vertigo Sky Lounge

mich Bitte leiten, wo ich Fehler mache. Dank

Antwort

0
add_shortcode('objectx-pages-list', 'objectx_pages_list_func'); 
function objectx_pages_list_func($atts) { 
global $post; 
ob_start(); 
extract(shortcode_atts(array('ids' => '1186'), $atts)); 
$id_array = explode(',', $ids); 
$pages_query = new WP_Query(array(
    'post_type' => 'page', 
    'post__in' => $id_array, 
    'order' => 'ASC', 
    'orderby' => 'title', 
)); 
if ($pages_query->have_posts()) { ?> 
<div class="carousel-wrapper"> 
<div class="owl-carousel owl-theme carousel-1" id="carousel-rooms"> 
<?php while ($pages_query->have_posts()) : $pages_query->the_post(); 
$featured_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
?> 
<div <?php post_class('item'); ?> id="post-<?php the_ID(); ?>"> 
    <div class="row"> 
     <div class="col-md-7"> 
      <div class="img-rooms"> 
       <a href="<?php the_permalink(); ?>"> 
       <img class="img-responsive wp-post-image" src="<?php echo $featured_image; ?>"></a> 
      </div> 
     </div> 
    <div class="col-md-5"> 
     <div class="detail-rooms"> 
      <h2 class="title-room "><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2> 
      <?php the_excerpt(); ?> 
     </div> 
    </div> 
    </div> 
</div> 
<?php endwhile; ?> 
</div> 
</div> 
<?php $myvariable_pages = ob_get_clean(); 
wp_reset_postdata(); 
return $myvariable_pages; 
    } 
} 

Hier ist der Fehler, den ich bemerkt. ID = "Karussell-Zimmer" Id wiederholen auf gleiche Seite. deshalb läuft es nur einmal perfekt.