2015-03-19 5 views
0

Каков наилучший способ для меня пройти через этот массив wordpress post id и создать связанное изображение.PHP foreach linking Wordpress

я в настоящее время:

<?php 
    $posts = array(1309,880,877,890,1741,1739,2017); 

    print "<div class='row'>"; 
    foreach($posts as $post){ 
     $queried_post = get_post($post); 
     echo "<a href='get_permalink($post)'>"; 
     print "<div class='col-xs-2'>";  
      echo get_the_post_thumbnail($queried_post->ID, 'thumbnail'); 
     print "</div>"; 
     print "</a>"; 
    } 
    print "</div>";     
?> 

Я родом из рубинового фоне, и я уверен, что с помощью печати не будет наиболее эффективный способ, чтобы открыть и закрыть HTML в пределах вызова PHP.

На данный момент это не работает, так как оно не передает идентификатор сообщения правильно в это, давая мне этот /get_permalink(%20880%20) в URL.

Заранее благодарим за любую помощь.

ответ

1

Вы могли бы использовать что-то вроде этого:

<?php 
    $posts = array(1309,880,877,890,1741,1739,2017); 
?> 
    <div class='row'> 
    <?php foreach($posts as $post): ?> 
     <?php $queried_post = get_post($post); ?> 
     <a href="<?php echo get_permalink($post) ?>"> 
     <div class='col-xs-2'>  
     <?php echo get_the_post_thumbnail($queried_post->ID, 'thumbnail'); ?> 
     </div> 
     </a> 
    <?php endforeach; ?> 
    </div> 

Этот синтаксис использует syntactic sugar, которые вы столкнетесь часто, если вы работаете с WordPress.

Если вы еще этого не сделали, было бы неплохо проверить WordPress code reference, они приведут примеры всех их функций и т. Д., И поскольку программное обеспечение настолько широко используется, они склонны придерживаться лучших практик (In в большинстве случаев!), поэтому может оказаться весьма полезным.

0

Вы должны использовать класс WP_Query.

# The Query 
$the_query = new WP_Query($args); 

# Open div.row 
echo '<div class="row">'; 

# The Loop 
if ($the_query->have_posts()) { 
    while ($the_query->have_posts()) { 

     $the_query->the_post(); ?> 

     <a href="<?php the_permalink(); ?>"> 
      <div class="col-xs-2"><?php the_post_thumbnail('medium'); ?></div> 
     </a> 

<?php } 
} else { 
    # no posts found 
} 

# Close div.row 
echo '<div>'; 

# Restore original Post Data 
wp_reset_postdata(); 
Смежные вопросы