it-swarm-id.com

Menampilkan Lampiran Posting di atas dari single.php

Saya menggunakan build terbaru WP dan ingin menampilkan gambar pertama yang dilampirkan pada posting di bagian atas konten posting. Kode apa yang harus saya tambahkan ke single.php untuk mewujudkan hal ini?

1
Scott B

Lampiran dianggap sebagai anak dari pos yang dilampirkan padanya, jadi ini seharusnya berfungsi:

$images=get_children( array('post_parent'=>$post->ID,
                            'post_mime_type'=>'image',
                             'numberposts'=>1));
echo wp_get_attachment_image($images[0]->ID, 'large');

untuk gambar besar ... ganti "besar" dengan definisi ukuran yang Anda inginkan atau lebar, tinggi array.

2
goldenapples

Berfungsi untuk mendapatkan gambar pertama yang dilampirkan pada posting

function the_image($size = 'medium' , $class = ”){
global $post;

//setup the attachment array
$att_array = array(
'post_parent' => $post->ID,
'post_type' => 'attachment',
'post_mime_type' => 'image',
'order_by' => 'menu_order'
);

//get the post attachments
$attachments = get_children($att_array);

//make sure there are attachments
if (is_array($attachments)){
//loop through them
foreach($attachments as $att){
//find the one we want based on its characteristics
if ( $att->menu_order == 0){
$image_src_array = wp_get_attachment_image_src($att->ID, $size);

//get url – 1 and 2 are the x and y dimensions
$url = $image_src_array[0];
$caption = $att->post_excerpt;
$image_html = '<img src="%s" alt="%s" />';

//combine the data
$html = sprintf($image_html,$url,$caption,$class);

//echo the result
echo $html;
}
}
}
}

Sekarang kita perlu memberi tahu WordPress tempat menampilkan gambar ini

Tambahkan baris ini di mana Anda ingin menampilkan gambar:

<?php the_image('medium','post-image'); ?>

Gotcha untuk menggunakan pendekatan ini

Jika Anda menambahkan gambar ke editor posting itu akan ditampilkan 2 kali.

Kasus untuk menggunakan pendekatan ini

Ini berfungsi dengan baik ketika Anda ingin menggunakan thumbnail (gambar pilihan) pada halaman blog Anda kemudian menampilkan versi gambar yang lebih besar di single.php dan tidak ingin harus mengatur gambar fitur kemudian memasukkannya secara manual. Dengan metode ini, Anda hanya mengatur gambar yang ditampilkan untuk melampirkannya ke pos dan selesai dengan itu.

1
Chris_O

Saya tidak yakin bagaimana membatasi ke lampiran pertama (dan bagaimana membatasi ke lampiran gambar), tetapi ini harus menjadi titik awal yang baik. Dari Codex :

<?php

$args = array(
    'post_type' => 'attachment',
    'numberposts' => -1,
    'post_status' => null,
    'post_parent' => $post->ID
    ); 
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

?>
0
Travis Northcutt