【问题标题】:How to get WordPress post featured image URL如何获取 WordPress 帖子特色图片 URL
【发布时间】:2012-06-30 23:46:51
【问题描述】:

我正在使用这个函数来获取特色图片:

<a href="#" rel="prettyPhoto">
    <?php the_post_thumbnail('thumbnail'); ?>
</a>

现在我想在点击锚标记时获得完整的特色图片,我需要在

中为其提供特色图片 URL
<a href="here" rel="prettyPhoto">

我该如何解决这个问题?

【问题讨论】:

    标签: php wordpress post


    【解决方案1】:

    您可以通过wp_get_attachment_url函数获取特定尺寸的图片src。

    <?php 
        $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'full' ); 
    ?>
    <img src="<?php echo $url ?>" />
    

    【讨论】:

      【解决方案2】:

      只需在循环内写&lt;?php the_post_thumbnail_url(); ?&gt;如下图:-

      $args=array('post_type' => 'your_custom_post_type_slug','order' => 'DESC','posts_per_page'=> -1) ;
      $the_qyery= new WP_Query($args);
      
      if ($the_qyery->have_posts()) :
          while ( $the_qyery->have_posts() ) : $the_qyery->the_post();?>
      
      <div class="col col_4_of_12">
          <div class="article_standard_view">
              <article class="item">
                  <div class="item_header">
                      <a href="<?php the_permalink(); ?>"><img src="<?php the_post_thumbnail_url(); ?>" alt="Post"></a>
                  </div>
      
              </article>
          </div>
      </div>            
      <?php endwhile; endif; ?>
      

      【讨论】:

        【解决方案3】:

        我搜索了很多,一无所获,直到我得到这个:

        &lt;?php echo get_the_post_thumbnail_url( null, 'full' ); ?&gt;

        这只是为您提供了完整的图像 URL,而没有整个 &lt;img&gt; 标记。

        希望对你有帮助。

        【讨论】:

          【解决方案4】:

          试试这个

          <?php 
              echo get_the_post_thumbnail($post_id, 'thumbnail', array('class' => 'alignleft')); 
          ?>
          

          【讨论】:

          • 如果您只需要图像 URL,请使用 get_the_post_thumbnail_url
          【解决方案5】:

          您还可以通过以下方式获取图片附件的 URL:

          <?php
              "<div><a href=".get_permalink(id).">".wp_get_attachment_url(304, array(50,50), 1)."</a></div>";
          ?>
          

          【讨论】:

            【解决方案6】:

            你可以试试这个:

            <?php 
                $feat_image = wp_get_attachment_url(get_post_thumbnail_id($post->ID)); 
                echo $feat_image; 
            ?>
            

            【讨论】:

            • 仅此打印:'$feat_image';
            • 我错了,echo $feat_image;
            【解决方案7】:

            用途:

            <?php 
                $image_src = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'thumbnail_size');
            
                $feature_image_url = $image_src[0]; 
            ?>
            

            您可以根据需要的大小更改thumbnail_size 值。

            【讨论】:

              【解决方案8】:

              如果帖子是图片,并且我们已经知道图片是什么,则可以轻松获取缩略图 URL:

              echo pathinfo($image->guid, PATHINFO_DIRNAME);
              

              【讨论】:

                【解决方案9】:

                你会试试这个

                <?php $url = wp_get_attachment_url(get_post_thumbnail_id($post->ID), 'full'); ?> // Here you can manage your image size like medium, thumbnail, or custom size
                    <img src="<?php echo $url ?>" 
                />
                

                【讨论】:

                  【解决方案10】:

                  这是最简单的答案:

                  <?php
                      $img = get_the_post_thumbnail_url($postID, 'post-thumbnail');
                  ?>
                  

                  【讨论】:

                    【解决方案11】:

                    我认为这是最简单的解决方案和更新的解决方案:

                    <?php the_post_thumbnail('single-post-thumbnail'); ?>
                    

                    【讨论】:

                    • 顶部的那个不起作用(没有 PHP 错误,这是我不想要的,因为我正在为大众构建一个 WordPress 主题)但是这个起作用了。 +1
                    【解决方案12】:

                    您还可以通过以下方式获取图片附件的 URL。它工作正常。

                    if (has_post_thumbnail()) {
                        $image = wp_get_attachment_image_src(get_post_thumbnail_id($post->ID), 'medium'); 
                    }
                    

                    【讨论】:

                      【解决方案13】:

                      你也可以像这样从 post_meta 获取它:

                      echo get_post_meta($post->ID, 'featured_image', true);
                      

                      【讨论】:

                        【解决方案14】:
                        <?php
                            if (has_post_thumbnail( $post->ID ) ):
                                $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
                        ?>
                                <img src="<?php echo $image[0]; ?>">  
                        <?php endif; ?>
                        

                        【讨论】:

                          【解决方案15】:
                          <img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />
                          

                          【讨论】:

                          • 你能详细说明吗?
                          【解决方案16】:
                          // Try it inside loop.  
                          <?php
                          $feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
                          echo $feat_image;
                          ?>
                          

                          【讨论】:

                          • @gavard.e 实际上会使用 " 而不是 ' :P 但引号根本不需要。
                          【解决方案17】:

                          如果您只想要源,而不是包含其他信息的数组:

                          <?php $url = wp_get_attachment_url( get_post_thumbnail_id($post->ID), 'thumbnail' ); ?>
                          <img src="<?php echo $url ?>" />
                          

                           

                          【讨论】:

                          • 适用于 4.4.0 及以上版本wp_get_attachment_image_url()
                          • 这正是我所需要的。加载完整的 img src。谢谢!
                          • wp_get_attachment_image_url 仅适用于您知道附件 ID(而不是帖子 ID)的情况。
                          【解决方案18】:

                          这对我来说非常有用:

                          <?php echo get_the_post_thumbnail_url($post_id, 'thumbnail'); ?>
                          

                          【讨论】:

                          • 注意:仅从 Wordpress 4.4.0 起可用
                          • 如果你想要完整尺寸的图片。
                          【解决方案19】:

                          你可以试试这个。

                          <?php
                             $image_url = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
                          ?>
                          <a href="<?php echo $image_url; ?>" rel="prettyPhoto">
                          

                          【讨论】:

                            【解决方案20】:

                            检查下面的代码,让我知道它是否适合您。

                            <?php if (has_post_thumbnail( $post->ID ) ): ?>
                              <?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?>
                              <div id="custom-bg" style="background-image: url('<?php echo $image[0]; ?>')">
                            
                              </div>
                            <?php endif; ?>
                            

                            【讨论】:

                            • 非常感谢你这是工作。我还想添加条件。就像如果有帖子缩略图然后显示这个,如果没有,那么另一个 div 或 css 或默认图像知道如何
                            • 我做到了,但我不知道它是否正确。 &lt;?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post-&gt;ID ), 'single-post-thumbnail' ); ?&gt; &lt;div class="section bannerarea cashstudybanner" style="background-image: url( &lt;?php if ( has_post_thumbnail() ) { echo $image[0]; } else { ?&gt; &lt;?php bloginfo('template_directory'); ?&gt;/images/common-banner.jpg &lt;?php } ?&gt; )"&gt;
                            • 非常感谢!这段代码运行良好。
                            • 只是想我会顺便说一下我一直在使用这个答案。非常可笑的是,在这篇文章发布后的将近十年之后,wordpress 仍然没有显着简化这一点。
                            • 非常感谢。此代码适用于已登录的用户,但未登录图像的用户为空。对我的问题有任何建议。我使用 WP 5.7
                            【解决方案21】:

                            简单的方法!

                             <?php 
                                 wp_get_attachment_url(get_post_thumbnail_id(get_the_ID()))
                             ?>
                            

                            【讨论】:

                              猜你喜欢
                              • 2016-08-10
                              • 1970-01-01
                              • 1970-01-01
                              • 1970-01-01
                              • 2022-11-24
                              • 1970-01-01
                              • 1970-01-01
                              • 2022-07-27
                              • 2020-04-07
                              相关资源
                              最近更新 更多