วิธีการรับโพสต์ภาพเด่นของ WordPress โพสต์


144

ฉันกำลังใช้ฟังก์ชั่นนี้เพื่อให้ได้ภาพเด่น:

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

ตอนนี้ฉันต้องการได้ภาพที่มีคุณลักษณะครบถ้วนเมื่อคลิกที่แท็กจุดยึดซึ่งฉันต้องการ URL ภาพเด่นใน

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

ฉันจะแก้ไขสิ่งนี้ได้อย่างไร

คำตอบ:


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
ขอบคุณมากมันเป็นงาน ฉันต้องการเพิ่มเงื่อนไข เช่นถ้ามีโพสต์ thumbail แล้วแสดงสิ่งนี้และถ้าไม่ใช่แล้วอีก div หรือ css หรือภาพเริ่มต้นความคิดใด ๆ วิธี
pagol

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

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()ไป
Charlie Vieillard

1
นี่คือสิ่งที่ฉันต้องการ โหลด img src อย่างเต็มรูปแบบ ขอบคุณ!
killscreen

1
wp_get_attachment_image_urlจะใช้งานได้ก็ต่อเมื่อคุณทราบ ID ของสิ่งที่แนบมา (ไม่ใช่รหัสโพสต์)
แน่นอน

ฉันกำลังมองหาสิ่งนั้น Thanks man :)
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 ใช้งานได้จริง"แทน': P แต่ราคาไม่จำเป็นเลย
Ivanka Todorova


14

สิ่งนี้ทำงานได้อย่างสมบูรณ์แบบสำหรับฉัน:

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

3
หมายเหตุ: ใช้ได้เฉพาะตั้งแต่ Wordpress 4.4.0
MarcGuay

<? php echo get_the_post_thumbnail_url ($ post_id); ?> หากคุณต้องการภาพขนาดเต็ม
yeahlad

7

ฉันคิดว่านี่เป็นทางออกที่ง่ายที่สุดและได้รับการอัปเดต:

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

อันที่อยู่ด้านบนใช้งานไม่ได้ (ไม่มีข้อผิดพลาด PHP ซึ่งฉันไม่ต้องการเพราะฉันสร้างธีม WordPress สำหรับคนจำนวนมาก) แต่อันนี้ก็ทำ +1
Calum Childs


6

คุณสามารถลองสิ่งนี้:

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

พิมพ์นี้เท่านั้น: '$ feat_image';
Stefan Yohansson

ความผิดพลาดของฉันมันสะท้อน $ feat_image;
nim

4

ลองอันนี้

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

1
ใช้get_the_post_thumbnail_urlถ้าคุณต้องการ URL ภาพเท่านั้น
กาวิน

3

คุณสามารถลองสิ่งนี้

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


3

คุณยังสามารถรับ URL สำหรับไฟล์แนบรูปภาพได้ดังนี้ มันใช้งานได้ดี

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

คุณจะลองสิ่งนี้

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

ซึ่งให้ URL ภาพเต็มโดยไม่มี<img>แท็กทั้งหมด

หวังว่าจะสามารถช่วยคุณได้


0

หากโพสต์นั้นเป็นภาพและเรารู้อยู่แล้วว่าภาพนั้นเป็นไปได้ที่จะได้รับรูปขนาดย่อโดยไม่ต้องยุ่งยากมากเกินไป:

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

0

ใช้:

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

    $feature_image_url = $image_src[0]; 
?>

คุณสามารถเปลี่ยนthumbnail_sizeค่าตามขนาดที่คุณต้องการ


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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.