Cách nhận URL bài đăng nổi bật của WordPress


144

Tôi đang sử dụng chức năng này để có được những hình ảnh đặc trưng:

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

Bây giờ tôi muốn có được hình ảnh đầy đủ tính năng khi nhấp vào thẻ neo mà tôi cần một URL hình ảnh nổi bật trong

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

Làm thế nào tôi có thể sửa lỗi này?

Câu trả lời:


302

Kiểm tra mã dưới đây và cho tôi biết nếu nó hoạt động cho bạn.

<?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
cảm ơn bạn rất nhiều đó là công việc tôi muốn thêm điều kiện. như nếu có bài đăng ngón tay cái thì hiển thị cái này và nếu không thì div hoặc css hoặc hình ảnh mặc định khác bất kỳ ý tưởng nào
pagol

2
tôi đã làm nó nhưng nó là cách chính xác hay không tôi không biết. <?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

Cảm ơn rât nhiều! Mã này đang hoạt động hoàn hảo.
Calum Childs

95

Nếu bạn muốn CHỈ nguồn, và không phải là một mảng với thông tin khác:

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

 


Đối với phiên bản 4.4.0 trở lên wp_get_attachment_image_url().
Charlie Vieillard

1
đây chính xác là những gì tôi cần tải đầy đủ img src. cảm ơn bạn!
killscreen

1
wp_get_attachment_image_urlchỉ áp dụng nếu bạn biết ID đính kèm (không đăng ID).
chắc chắn

Tôi đã tìm kiếm điều đó. Cảm ơn người đàn ông :)
Arman 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 thực sự sẽ làm việc với "thay vì ': P Nhưng các trích dẫn hoàn toàn không cần thiết.
Ivanka Todorova


14

Điều này làm việc hoàn hảo cho tôi:

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

3
Lưu ý: Chỉ khả dụng kể từ Wordpress 4.4.0
MarcGuay 11/07/2016

<? php echo get_the_post_thumbnail_url ($ post_id); ?> Nếu bạn muốn hình ảnh kích thước đầy đủ.
yeahlad

7

Tôi nghĩ rằng đây là giải pháp dễ nhất và được cập nhật:

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

Công cụ đứng đầu đã không hoạt động (không có lỗi PHP, điều mà tôi không muốn khi tôi xây dựng một chủ đề WordPress cho đại chúng) nhưng điều này đã làm. +1
Calum Childs

6

Đây là câu trả lời đơn giản nhất:

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

6

Bạn có thể thử điều này:

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

cái này chỉ in: '$ feat_image';
Stefan Yohansson

lỗi của tôi, echo $ feat_image;
nim

4

Hãy thử cái này

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

1
Sử dụng get_the_post_thumbnail_urlnếu bạn chỉ muốn URL hình ảnh.
Gavin

3

Bạn có thể thử điều này.

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

3

Bạn cũng có thể lấy nó từ post_meta như thế này:

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

3

Bạn cũng có thể lấy URL để đính kèm hình ảnh như sau. Nó hoạt động tốt.

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

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

1

Bạn sẽ thử nó

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

Tôi đã tìm kiếm rất nhiều và không tìm thấy gì, cho đến khi tôi nhận được điều này:

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

Mà chỉ cần cung cấp cho bạn URL hình ảnh đầy đủ mà không cần toàn bộ <img>thẻ.

Hy vọng có thể giúp bạn.


0

Nếu bài đăng là một hình ảnh và chúng tôi đã biết hình ảnh đó là gì, có thể lấy URL hình thu nhỏ mà không gặp quá nhiều rắc rối:

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

0

Sử dụng:

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

    $feature_image_url = $image_src[0]; 
?>

Bạn có thể thay đổi thumbnail_sizegiá trị theo kích thước yêu cầu của bạn.


0

Bạn cũng có thể nhận URL cho tệp đính kèm hình ảnh như sau:

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

0

Đơn giản bên trong vòng lặp viết <?php the_post_thumbnail_url(); ?>như hình dưới đây: -

$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 ="" />

Bạn có thể xây dựng?
Peter Mortensen
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.