пятница, 28 февраля 2014 г.

Wordpress - добавить картинку к the_excerpt

Однажды посетило меня желание чтобы к анонсу постов в wordpress, выводимому с помощью функции the_excerpt добавлялась картинка из этого поста. Чудесный код который отображает картинки из постов wordpress был найден мною на wphelp.ru Сохраняю его себе, как особо ценный.

function cim_the_thumb($size="thumbnail"){
    global $post;
    preg_match('/<img(.*?)src=["'."']".'(.*?)["'."']".'(.*?)\/\>/i', $post->post_content, $matches);  //get all the images
 
    if (!$matches)  //if no images
        return null;
 
    ereg('wp-image-([0-9]+)',$matches[0],$regs);  //find the string "wp-image-nnn" in the image, where nnn is the image id
 
    if (!$regs){
        echo "<!-- there was an error getting an image for this post -->\n";
        return null;
    }
    if (is_numeric($regs[1])){  //check to make sure the ID we got is numeric (it should be!)
 
        //add classes specifically for the CIM sites
        if ($size =="medium"){
            $imgClass="img-holder";
        } elseif ($size == "thumbnail"){
            $imgClass = "smallthumb";
        }
        $image = wp_get_attachment_image_src($regs[1], $size, false);  //get image sizes
        if ( $image ) {
            list($src, $width, $height) = $image;
            echo '<a href="'.get_permalink($post->ID).'" title="'.get_the_title($post->ID).'">';
            echo '<img src="'.attribute_escape($src).'" class="'.$imgClass.' attachment-'.attribute_escape($size).'" alt="'.single_cat_title("", false).'" />';
            echo "</a>\n";
        }
    } else {
        echo "<!-- there was an error getting an image for this post -->\n";
        return null;
    }
    
}

Чтобы добавить картинку среднего размера в цикле The Loop, вызываем функцию В моем случае, нужно было добавить картинку миниатюру В стили добавляем
полученные результат добавления картинки в комбинации с the_excerpt можно видеть на скришоте ниже  

Комментариев нет:

Отправить комментарий