it-swarm.com.de

wie man auf angebrachtes Bild prüft

Ich versuche herauszufinden, ob ein Beitrag Bilder enthält. In diesem Fall möchte ich wissen, ob ein ausgewähltes Bild für die Miniaturansicht angegeben wurde. Andernfalls weist die Funktion get_thumb () ein Bild aus der Galerie dieses Beitrags zu. Wenn ein Post jedoch keine Bilder enthält, möchte ich eine span-Klasse verwenden, um den Thumbnail-Bereich zu belegen.

Hier ist die Aussage, die ich geschrieben habe:

if(has_post_thumbnail()){
    the_post_thumbnail();
}
elseif(is_attachment()) {
    echo get_thumb($post->ID); 
}
else {
    <span class="no_thumb"></span>
} 

Es fügt allen Posts ohne empfohlene Bilder eine Spannweite von 150 x 150 hinzu. Wo sich jedoch Bilder von get_thumb () befinden sollten, wird stattdessen der Span angezeigt. Im Grunde genommen ist es entweder die Spanne oder das gezeigte Bild, und $ get_thumb wird nie angezeigt.

Als Referenz dient hier die Funktion get_thumb ():

function get_thumb ($post_ID){
    $thumbargs = array(
    'post_type' => 'attachment',
    'numberposts' => 1,
    'post_status' => null,
    'post_parent' => $post_ID
    );
    $thumb = get_posts($thumbargs);
    if ($thumb) {
        return wp_get_attachment_image($thumb[0]->ID);
    }
} 
3
laras126
function has_image_attachment($post_id) {
    $args = array(
        'post_type' => 'attachment',
        'post_mime_type' => 'image/jpeg',
        'numberposts' => -1,
        'post_status' => null,
        'post_parent' => $post_id
    ); 

    $attachments = get_posts($args);

    if(is_array($attachments) && count($attachments) > 0) {
       //Has image attachments
       return true;
    } else {
       return false;
    }
}
2
editor

is_attachment() funktioniert nicht so - es ist ein bedingtes Tag zum Erkennen der Seite mit Anhängen, nicht die Verfügbarkeit von Anhängen.

Ich erinnere mich an keine vorgefertigte Funktion zum Abrufen/Überprüfen aller Anhänge. Verwenden Sie einfach Ihren get_post()-Aufruf von get_thumb() - wenn er nichts abruft, gibt es keine Anhänge.

0
Rarst