Na stronie domowej motywu jest wyjaśnienie:
To setup thumbnails for featured posts on homepage, when writing a post create a custom field. Key = “thumbnail”, Value = “url of the image”. The image should be 470×210px maximum.
tzn. dla wpisu musisz dodać własne pole (custom field) o nazwie thumbnail i w jego wartości podać adres url obrazka.
Możesz to również inaczej załatwić, przynajmniej tak jak ja:
do pliku function wstawiasz:
function catch_post_image()
{
$first_img = '';
if ( preg_match( '#(<img [^>]+>)#is', get_the_content(), $matchess ) ) {
if(isset($matchess[1])) {
$first_img = '<div class="wp-caption-a alignleft"><a href="'.get_permalink().'">'.$matchess[1].'</a></div>';
}
}
return $first_img;
}
A w pliku np home lub category wstawiasz następujący kod:
<div class="post-entry">
<?php if ( has_post_thumbnail()) : ?>
<a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>" >
<?php the_post_thumbnail('homepage-thumb'); ?>
</a>
<?php else: ?>
<?=catch_post_image()?>
<?php endif; ?>
<?php the_excerpt(); ?>
<?php wp_link_pages(array('before' => '<div class="pagination">' . __('Pages:', 'responsive-child-theme'), 'after' => '</div>')); ?>
</div><!-- end of .post-entry -->
Witam
dzięki za pomoc.
Niestety pierwszy sposób dotyczy tylko postów wyróżnionych na zielonym polu, a ja to pole usunąłem…
A co do drugiego sposobu to plik functions.php znalazłem w katalogu skórki ale home nie. Czy mam stworzyć plik home.php ? Czy dopisać ten kod do np single.php ?
Możesz zrobić tak, dopisz sobie do functions.php coś w tym stylu:
if (function_exists('add_theme_support')) {
add_theme_support('post-thumbnails');
}
function get_thumbnail($postid=0, $size='thumbnail') {
if ($postid<1) $postid = get_the_ID();
if( function_exists('has_post_thumbnail') && has_post_thumbnail($postid) ) {
$thumbnail = wp_get_attachment_image_src( get_post_thumbnail_id($postid), $size);
echo $thumbnail[0];
}
else {
$thumb = get_post_meta($postid, 'thumbnail', true);
if ($thumb != null or $thumb != '') { echo $thumb; }
else if ($images = get_children(array('post_parent' => $postid,'post_type' => 'attachment','numberposts' => '1','post_mime_type' => 'image', )))
foreach($images as $image) {
$thumbnail=wp_get_attachment_image_src($image->ID, $size);
echo $thumbnail[0];
}
else echo home_url('/').'/wp-content/themes/intaglio/images/thumb.gif';
}
}
Potem zmień sobie index.php w taki sposób http://pastebin.com/FrfWiwjE
zrób sobie jeszcze jakiś obrazek zastępczy thumb.gif i umieść w katalogu images swojego motywu …może to być nawet przeźroczysty 1×1 piksela.
Dzięki temu będziesz miał możliwość ustawienia miniatury na 3 sposoby – przez ikonę wpisu, przez custom field (jak z tymi na zielonym) albo w przypadku braku wcześniejszych pierwszy załączony do wpisu obrazek.
Gdy wpis nie będzie posiadał żadnego z powyższych, zostanie wczytany obrazek zastępczy thumb.gif.
Do tego możesz sobie dodatkowo ostylować tę miniaturkę czy przesunąć w inne dogodne miejsce (linijka 46 w pliku index.php)
Hej
wielkie dzięki !!!! Chyba udało mi się ogarnąć temat tych miniaturek. Pomogła głównie linijka:
<img src=”<?php get_thumbnail(); ?>” alt=”<?php the_title(); ?>” class=”obrazek” />
Fajnie że na forum był tak szybki odzew 🙂
Jest z tym drobny problem bo obrazek się pojawia faktycznie ale ogromny taki jak w treści artykułu. A powinien mieć maks rozmiary 75×75 pix aby to dobrze wyglądało.
Mam różne obrazki w artykułach, jedna bardzo podłużne inne bardziej prostokątne. Trzeba by zrobić to tak, aby te obrazki inteligentnie się zmniejszały, tak aby najdłuższy bok miał 75 pix a nie oba tyle samo – bo nie stosuje kwadratowych obrazków ale o różnych wymiarach.
Jak to jeszcze naprawić?