it-swarm.asia

عرض مرفقات (مرفقات) النشر أعلى Top.php

أنا أستخدم أحدث إصدار من WP وأرغب في عرض أول صورة مرفقة بالمنشور أعلى محتوى المنشور. ما الرمز الذي يجب علي إضافته إلى single.php لتحقيق ذلك؟

1
Scott B

تعتبر المرفقات أولاد للنشر الذي يتم إرفاقهم به ، لذلك يجب أن يعمل هذا:

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

للحصول على صورة كبيرة ... استبدل "كبير" بتعريف الحجم الذي تريده أو صفيف عرض أو ارتفاع.

2
goldenapples

وظيفة للحصول على الصورة الأولى تعلق على وظيفة

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

الآن نحتاج إلى إخبار WordPress بمكان عرض هذه الصورة

أضف هذا الخط حيث تريد عرض الصورة:

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

و Gotcha لاستخدام هذا aproach

إذا قمت بإضافة صورة إلى محرر النشر ، فسيتم عرضها مرتين.

حالة لاستخدام هذا النهج

يعمل هذا بشكل رائع عندما تريد استخدام الصور المصغرة (صورة مميزة) على صفحات المدونة الخاصة بك ثم عرض نسخة أكبر من الصورة في ملف مفرد. ولا ترغب في تعيين صورة مميزة ثم إدخالها يدويًا. باستخدام هذه الطريقة ، يمكنك فقط تعيين الصورة المميزة لإرفاقها بالمنشور ويتم ذلك باستخدامها.

1
Chris_O

لست متأكدًا من كيفية قصره على المرفق الأول (وكيفية قصره على مرفقات الصور) ، ولكن يجب أن تكون هذه نقطة انطلاق جيدة. من الدستور :

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