Using the *first* Image as Featured Image

Viewing 1 post (of 1 total)
  • #14245
    rob_st
    Participant

    So you have this function which is supposed to use the first image in an “image”-post automagically as featured image. But it doesn’t. It uses the last image.

    I hacked the functions.php to be sure to use the first image.

    In your functions.php find the line where it says
    function pinboard_get_first_image() {

    Replace the whole function (until the closing “}” briefly before the “endif;”-tag) with:


    function pinboard_get_first_image() {
    $document = new DOMDocument();
    $content = apply_filters( 'the_content', get_the_content( '', true ) );
    if( '' != $content ) {
    libxml_use_internal_errors( true );
    $document->loadHTML( $content );
    libxml_clear_errors();
    $images = $document->getElementsByTagName( 'img' );
    $document = new DOMDocument();
    $images_amount = ($images->length); // How many images are there in the post?
    if( $images->length ) {
    $image= $images->item( $images->length - $images_amount ); // The first image ist the 0 (zero).
    $src = $image->getAttribute( 'src' );
    $width = ( $image->hasAttribute( 'width' ) ? $image->getAttribute( 'width' ) : false );
    $height = ( $image->hasAttribute( 'height' ) ? $image->getAttribute( 'height' ) : false );
    return array( $src, $width, $height );
    }
    }
    return false;
    }

    The changes I made are concerning the variable `$images_amount`.

Viewing 1 post (of 1 total)

You must be logged in to reply to this topic.