0

ショートコードとして機能するサムネイルを表示するためのクエリ/ループがあります。ウィジェットで同じクエリ/ループを使用しようとしていますが、サムネイルとは別にすべてが機能しています。

$img_query = new WP_Query(array('post_type' => 'user_images'));
     if($img_query->have_posts()){
         $out = "<ul class='user_images'>";
          while ($img_query->have_posts()){ 

          $img_query->the_post(); 
          $img_id = get_the_ID();
          $img_event = get_post_meta($img_id,'_event_link',true);
          $image_url = wp_get_attachment_image_src( get_post_thumbnail_id(), 'thumbnail');


    $out .= "<li>
                <a href='".get_permalink($img_event)."'><img src='".$image_url[0]."' /></a>
                <div class='imageCaption'>
                    <p>".get_the_title()." @ ".get_the_title($img_event)."</p>
                </div>
            </li>";



            } 
    $out .= "</ul>";    
     }else{
         $out .= "No Images";
     }

    echo $out;

サムネイルを取得するためにいくつかの異なる方法を試しましたが、すべての魔女が何も出力できませんでした。

私が得ている出力は次のようになります。

<ul class="user_images">
    <li>
        <a href="http://localhost"><img src=""></a>
                <div class="imageCaption">
                    <p>title @ title</p>
                </div>
    </li>
</ul>

どんな洞察も大歓迎です

更新: これは、単一ページのホームページでのみ機能しますが、これは正常に機能します。

4

2 に答える 2

1

これを試してください:

    <?php 
    global $post;
    $pageDetails = get_post( $post );
    $img_query = new WP_Query(array('post_type' => 'user_images'));
     if($img_query->have_posts()){ 
?>
     <ul class='user_images'>
     <?php
      while ($img_query->have_posts()){ 
          $img_query->the_post(); 
          $img_id = $pageDetails->ID;// get_the_ID();
          $img_event = get_post_meta($img_id,'_event_link',true);
          //$image_url = if ( has_post_thumbnail()){the_post_thumbnail();}//wp_get_attachment_image_src( get_post_thumbnail_id(), 'thumbnail'); 
      ?>
        <li>
            <a href="<?php the_permalink(); ?>">
                <?php 
                    if ( has_post_thumbnail()){ the_post_thumbnail(); }
                ?>
            </a>
            <div class='imageCaption'>
                <p><?php get_the_title(); ?> @ <?php get_the_title($img_id); ?></p>
            </div>
        </li>
    <?php  } ?>
</ul>
<?php
 }else{
     echo "No Images";
 }
//echo $out;
?>

ありがとう。

于 2013-10-03T05:11:17.523 に答える