如何获取WordPress发布精选图片网址


144

我正在使用此功能来获取特色图片:

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

现在,我想在锚标签上单击以获取完整的特色图片,为此我需要在其中添加特色图片网址

<a href="here" rel="prettyPhoto">

我怎样才能解决这个问题?

Answers:


302

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

<?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; ?>

1
非常感谢你,这是工作。我还想补充条件。例如,如果有post thumbail,则显示此内容,否则,则显示另一个div或CSS或默认图片,不知道如何操作
pagol 2015年

2
我做到了,但这是正确的方法或我不知道。<?php $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' ); ?> <div class="section bannerarea cashstudybanner" style="background-image: url( <?php if ( has_post_thumbnail() ) { echo $image[0]; } else { ?> <?php bloginfo('template_directory'); ?>/images/common-banner.jpg <?php } ?> )">
pagol

非常感谢你!该代码运行良好。
Calum Childs '18

95

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

<?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()
查理·维耶拉德

1
这正是我所需要的。加载完整的img src。谢谢!
killscreen '16

1
wp_get_attachment_image_url仅当您知道附件ID(而不是帖子ID)时才适用。
肯定

我一直在寻找那个。谢谢男人:)
阿尔曼H

19
// Try it inside loop.  
<?php
$feat_image = wp_get_attachment_url( get_post_thumbnail_id($post->ID) );
echo $feat_image;
?>

4
@ gavard.e 实际上可以"代替':P使用,但是引号根本没有必要。
伊万卡·托多罗娃


14

这完全适合我:

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

3
注意:仅适用于Wordpress 4.4.0
MarcGuay,2016年

<?php echo get_the_post_thumbnail_url($ post_id); ?>如果要全尺寸图像。
yeahlad

7

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

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

最上面的那个没有用(没有PHP错误,因为我正在为大众构建WordPress主题,所以我不希望出现此错误),但是这个没有。+1
Calum Childs '18

6

这是最简单的答案:

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

6

您可以尝试以下方法:

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

仅打印:'$ feat_image';
Stefan Yohansson,2015年

我的错误是,echo $ feat_image;
nim

4

试试这个

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

1
使用get_the_post_thumbnail_url,如果你想只有图像URL。
加文


3

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

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

3

您还可以如下获取图像附件的URL。工作正常。

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


1

您将尝试这个

<?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 ?>" 
/>

1

我搜了很多东西,什么都没找到,直到得到:

<?php echo get_the_post_thumbnail_url( null, 'full' ); ?>

它只是为您提供完整的图片网址,而没有整个<img>标签。

希望能对您有所帮助。


0

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

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


0

您还可以按以下方式获取图像附件的URL:

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

0

只需在循环内部编写<?php the_post_thumbnail_url(); ?>,如下所示:-

$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; ?>

-1
<img src="<?php echo get_post_meta($post->ID, "mabp_thumbnail_url", true); ?>" alt="<?php the_title(); ?>" width ="100%" height ="" />

你能详细说明吗?
彼得·莫滕森
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.