-
data publikacji: 31.12.2009
Miniaturki w WordPress 2.9
kategoria: CMSy, Webmaster, Wordpress autor: palmiak
W najnowszej wersji WordPressa postanowiiono ułatwić życie userom, którzy wpisy okraszają miniaturkami. Niestety z tego co miałem okazję poczytać na wielu stronach funkcja ta sprawia dość sporo problemów. Postaram się w kilku żołnierskich słowach wytłumaczyć jak łatwo doprowadzić to do działania.
Włączmy to
Nim zaczniemy zabawę musimy aktywować możliwość wyświetlania ikon wpisu (tak brzmi oficjalne tłumaczenie... zupełnie mi nie leży). Żeby to zrobić wchodzimy do
wp-content/themes/nasza_skórkai otwieramy plik functions.php (jeżeli go nie ma należy go utworzyć). Tam dopisujemyadd_theme_support( 'post-thumbnails' );Zapisujemy plik i już - ikony wpisu są włączone.
Ale gdzie to jest
Wchodzimy do panelu dodajemy nowy/edytujemy wpis. Trzeba się troszkę rozejrzeć - u mnie box Ikona wpisu pojawił się po prawej stronie na dole. Jeżeli jednak jesteście pewni, że go nie ma wystarczy kliknąć w opcje ekranu i tam zaptaszkować odpowiednie pole:
Stąd już łatwo. Wystarczy wybrać sobie obrazek, jego rozmiar i dodać jako ikonę wpisu.

Poprawiamy skórę
To akurat najprostsza część zabawy. W wybranym miejscu po prostu wywołujemy
<?php the_post_thumbnail(); ?>. I tak oto nasz miniaturka powinna pojawić się obok naszego wpisu.Fajne prawda? Szczerze mówiąc tak sobie. Teraz czas rozpatrzeć kilka ciekawych scenariuszy dzięki którymś ten ficzer będzie się do czegokolwiek nadawał.
Chcę miniaturki tylko do wpisów a nie do stron
Wtedy po prostu zastępujemy
add_theme_support( 'post-thumbnails' );następującym kodem:
Jeżeli byśmy mieli ochotę załączyć miniaturki tylko dla stron do
postzastępujemypageRozmiary są do bani... chcę inne
Ależ żaden problem. Wystarczy, że w
functions.phpdopiszesz:set_post_thumbnail_size( 75, 75 );Wtedy miniaturki będą miały rozmiar 75x75px. Ok, co prawda jeżeli oryginalny obrazek nie będzie kwadratowy to obrazek zostanie tak zmniejszony, żeby zachował proporcje oraz mieścił się w tych 75x75. Żeby wyciąć fragment wystarczy zamienieć poprzednika na:
set_post_thumbnail_size( 75, 75, true );Wtedy na 100% obrazek będzie miał 75x75px.
Osobnym problemem jest oczywiście sytuacja gdy chcemy, żeby nasza miniaturka była przygotowana w dwóch rozmiarach - jednym na stronę główną i drugim na pojedynczą. Oczywiście to też jest do zrobienia.
Najpierw musimy sobie przygotować nowy rozmiar obrazka, żeby WP za każdym razem gdy wgrywa obrazek stworzył też taki jaki chcemy:
add_image_size('single_post', 500, 100, true);
Znaczy to tyle, że nasza większa miniaturka będzie miała rozmiar 500x100px, będzie przycięta na siłę oraz będziemy ją potem wywoływać poprzez
single_post.KIedy już mamy nowy rozmiar pozostaje nam umieścić
the_post_thumbnail()w odpowiednim miejscu w single.php:<?php the_post_thumbnail('single_post'); ?>
Skóra w której użyłem miniaturek wysypuje się w starszych wersjach WP
Logiczne. Tam w końcu nie było takiej możliwości. Na szczęście jest na to proste rozwiązanie -
function_exists()za pomocą której sprawdzimy czyadd_theme_support()jest dostępne w naszej wersji.Najpierw w
functions.php:a następnie w skórze (dodatkowo warto sprawdzić czy wpis ma miniaturkę):
<?php if ( (function_exists( 'add_theme_support' )) && ( has_post_thumbnail() )){
the_post_thumbnail();
} ?>
A jak miniaturce nadać jakąć klasę?
Podsumowanie
Jak widać pomimo pewnej upierdliwości, miniaturki nie są aż tak straszne. Pewne prawie jest, że w kolejnych wersjach twórcy ułatwią korzystanie z tej funkcji. Tak naprawdę nawet teraz by wystarczyło napisać dość prostą wtyczkę by znacznie ułatwić cały proces.
-
35 Responses to “Miniaturki w WordPress 2.9”
Leave a Reply
Komentarze
Kategorie
Top 10
Wski: Cross Processing
Kallie Akinyooye: Krótko o… Wordpress 2.7
Agressiva: Jak za pomocą js poprawić wygląd formularzy
S.Wojnowski: Jak za pomocą js poprawić wygląd formularzy
Arek: Menu “wychodzące” zza strony
Arek: Full of colours
Giuseppe Heitner: Wstęp do programowania zorientowanego obiektowo w PHP5…
Kamil: 960 Grid System
Piotrek: Rozwijany panel z odrobiną słodyczy
Kuba: Tworzymy indywidualną stronę startową dla naszych fanów na Facebooku
- CMSy Artykuły dotyczące różnego rodzaju systemów zarządzania treścią CMS.
- Flash Podstawowe informacje pomocne przy tworzeniu animacji w Adobe Flash.
- Fotografia Samouczki dotyczące nie tylko robienia zdjęć ale też ich cyfrowej obróbki.
- Grafika Ogólnie pojęta grafika komputerowa, od inspiracji, po tworzenie layoutów oraz mniejszych form graficznych.
- Inne tutoriale wordpressowe Wszystkie inne zagadnienia dotyczące WordPressa.
- Inspiracje Inspirujące materiały graficzne z dziedziny projektowania stron www, projektów DTP, digital painting, itp.
- Obróbka zdjęć Techniki retuszu fotografii cyfrowych.
- Rysunek Tworzenie rysowanych ilustracji w Adobe Photoshop.
- Skóry do Wordpressa Darmowe oraz płatne – najlepsze skóry do WordPressa.
- Skrypty client-side
- Skrypty server-side
- Tutoriale
- Webdesign Tutoriale z zakresu projektowania stron www i grafiki użytkowej na rzecz internetu.
- Wieczór z Open Source
- Wordpress Ulubieniec naszej publiczności CMS WordPress: nowości, tricki, wtyczki, skóry i wszystko to co może przydać się przy korzystaniu z tego systemu.
- Wtyczki do Wordpressa Recenzje oraz instrukcje najbardziej popularnych i najbardziej niezbędnych pluginów do WordPressa.
- XHTML/CSS Ciekawostki z dziedziny kodowania stron www: XHTML, CSS, jQuery.
Najnowsze newsy
Wieczór z Open Source 2010
Jak co roku WSINF organizuje konferencję Wieczór z Open Source.
Chciałbym zaprosić was na tegoroczna konferencję Wieczór z Open Source 2010! Czytaj dalej
Grafart.org i WACOM zapraszają na konkursy!
Witam!
Myślę, że czas najwyższy nadmienić, że za niedługi czas zostanie zorganizowany pierwszy z trzech konkursów, w których główną nagrodą będą tablety firmy WACOM!
Za miejsca drugie oraz trzecie nagrodami będą kubki i koszulki firmy WACOM oraz magazyny graficzne PSD PHOTOSHOP oraz COMPUTERARTS.
Czytaj dalej
Zapraszamy na forum graficzne Graffika.pl
Każda osoba interesująca się grafiką komputerową ma czasami ochotę porozmawiać o swoich pracach, posłuchać rad, krytyki i pochwał innych osób. Idealnym miejscem na realizowanie takich potrzeb jest forum graficzne Graffika.pl.
Czytaj dalej
Polecane strony
- WordPress Theme from Scratch – Day 1: PSD
- 20 Tutorials For Creating HDR Images
- Ask the Expert – Using Wordpress to Build Large Scale Websites with Derek Herman
- Making an Interactive Picture with jQuery
- Create a Horizontal Scrolling Website
- 800 Most Wanted Free RSS Icons for Bloggers
- 45 Most Wanted Beautiful Free Hand Drawn Fonts
- Caffe-Break Themed Blog Layout Photoshop Tutorial
- Create a nature inspired layout in photoshop
- Coding a Web Design for Speed and Quality
- Beautiful Hand Drawn Websites | Abduzeedo | Graphic Design Inspiration and Photoshop Tutorials
- 40 Fresh Creative and Inspiring Photographs
- Wordpress portfolio layout | Grafpedia
- Simple Facial Photo Retouching | Grafpedia
- Create a beauty layout in 10 steps | Grafpedia
























Wreszcie ktoś to krok po kroku wytłumaczył! Dzięki.
Dzięki – właśnie miałem się za to zabierać a tu proszę, podane jak na tacy
Ależ proszę. Mam jednak nadzieję, że w kolejnej wersji będzie to można bardziej po ludzku obsługiwać – na obecną chwilę zrobili głównie fajny prezent dla strony z tutkami
Hmm, a może ktoś wie, czy wbudowane miniaturki bardziej obciążają serwer niż timthumb lub php thumb?
Pozdrawiam,
Artur
Obrazki są zmniejszane tylko raz przy wgrywaniu, więc ciężko mówić o jakimkolwiek obciążeniu.
PhpThumb ma katalog cache i przy pierwszy otwieraniu obrazka tworzy sobie przeskalowany obrazek – więc też ciężko mówić o obciążeniu jeżeli obrazki są tylko w cache.
Samo pokazanie miniaturki to wyrzucenie kawałka tekstu
Mam pytanko: Jak ustawić domyślą ikonę wpisu? Aby w każdej notce na stronie głównej się wyświetlała, a jeśli jest inna, to ona się pojawi, zamiast tej domyślnej. Z góry wielkie dzięki za jakąkolwiek pomoc!
Mówiąc o domyślnej masz na myśli taki myk, że jeżeli nie ma ikony przypisanej to pokaże tą domyślną, tak?
Jeżeli tak to wystarczy skorzystać z has_post_thumbnail(). Po prostu:
if(has_post_thumbnail()) {
post_thumbnail();
} else {
// tu operacja która ma być wykonana jeżeli nie ma ikony
}
Dzięki za pomoc
Właśnie to miałem na myśli. Ale jak mam wpisać, aby wyświetliło właśnie domyślny obrazek? Czyli po wpisać w pętli else, bo nie mam pojęcia, jak to zapisać
Załóżmy, że obrazek domyślny masz w http://vivee.info/obrazek.jpg, wtedy kod wygląda około tak:
if(has_post_thumbnail()) {
post_thumbnail();
} else {
echo '<img src="http://vivee.info/obrazek.jpg" alt="ple ple" />';
}
I już. Takie najprostsze rozwiązanie.
Dzięki za odpowiedź, ale po dodaniu tego kodu wyskakuje błąd:
Fatal error: Call to undefined function has_post_thumbnail()
Są dwa wyjścia. Albo masz wp starszego niż 2.9 albo zapomniałeś dopisać add_theme_support( ‘post-thumbnails’ );
Gorzej jeżeli jest jakieś trzecie wyjście
Dodałem obsługę ikon wpisów na http://www.gosiunia.pl i mam WP 2.9.1
Gdzie problem?
Chyba mam pomysł. Jeżeli dopisywałeś wszystko metodą ctrl+c ctrl+v to upewnij się czy na pewno cudzysłowy są w porządku. Na zapas popraw je z ręki bo WP lubi zmieniać je na te nieprogramistyczne
Mam wrażenie, że masz je złe w add_theme_support.
Wraz z nową skórą zapomniałem przenieść jednej pierdoły i mogły być właśnie takie byki – teraz w arcie jest już ok.
Dla ikony wpisu daję w functions:
add_theme_support( 'post-thumbnails', array( 'post' ) );
set_post_thumbnail_size(258, 90, true);
if(has_post_thumbnail()) {
post_thumbnail();
} else {
echo '<img src="http://gosiunia.pl/wp-content/themes/GosiuniaWP/images/ikona-wpisu.png" alt="" />';
}
A na stronie głównej:
<?php the_post_thumbnail(); ?>
I wyskakuje błąd:
Fatal error: Call to undefined function has_post_thumbnail() in …functions.php on line 116
Ikony wpisu działają na http://www.gosiunia.pl, tylko nie możemy tych domyślnych ustawić
Dobra – tym razem chyba mam
To tak:
w functions.php dajesz tylko:
add_theme_support( 'post-thumbnails', array( 'post' ) );
set_post_thumbnail_size(258, 90, true);
w np. index.php dajesz:
if(has_post_thumbnail()) {
the_post_thumbnail();
} else {
echo '<img src="http://gosiunia.pl/wp-content/themes/GosiuniaWP/images/ikona-wpisu.png" alt="" />';
}
Byka strzeliłem – dałem post_thumbnail zamiast the_post_thumbnail. Sprawdziłem u siebie – działało to.
Działa
Wielkie dzięki!
[...] 02/01/2010 Miniaturki w WordPress 2.9 | Vivee – wordpress, webmastering, grafika i fotografia vivee.info/…12/31/miniaturki-w-wordpr… Pokaż reakcje /* */ inne strony z tej witryny + obserwuj co [...]
A jeśli chcę aby przy wpisie na stronie głównej pojawiał się jakiś obrazek, ale na podstronie wpisu w ogóle go nie było?
Jeżeli dobrze zrozumiałem pytanie to zakładam, ze wystarczy po prostu na single.php nie umieszczać the_post_thumbnail()
Jeżeli zaś Twoja skóra nie ma single.php to skorzystaj z is_single() i na podstawie tego zrób ifa.
wszystko działa ładnie pięknie tylko mam złą pozycje tych miniaturek otoz wyrownuja sie do lewej ale tylko przy pierwszej linijce a nie do calego tekstu
A ja mam takie pytanko:
Jak wyrzucić moją ikonę wpisu z galerii wordpressa?
Dodaję swoją miniaturkę, ale nie chcę żeby pojawiała się też w galerii.
Dołączam się do pytania ; )
Przyznam bez bicia, że nie wiem. Nie używam galerii. Obiecuję jednak przestudiować.
Zrobiłem to co podane, wybrałem ikonę jednak się nie pojawia w żadnym wpisie. Wywołanie <?php the_post_thumbnail(); ?>. w archive i index nie daje żadnego rezultatu. Gdzie mogę to wywyołać?
Nie mogę ustawić klasy, jakaś rada?
Po prostu wpisałeś the_post_thumbnail('post-thumbnail', array( 'class' => 'nazwa_klasy' )); ? MIniaturka się pojawia?
[...] W najnowszej wersji WordPressa postanowiono ułatwić życie userom, którzy wpisy okraszają miniaturkami. Niestety z tego co miałem okazję poczytać na wielu stronach funkcja ta sprawia dość sporo problemów. Postaram się w kilku żołnierskich słowach wytłumaczyć jak łatwo doprowadzić to do działania. (więcej na Vivee…) [...]
Mam pytanie: Jak ustawić ikonę, żeby po kliknięciu na nią wyświetlał się oryginalny obrazek w nowym oknie?
Super opisane jak to zrobić u mnie zadziałało od razu.
Mam jeszcze pytanie jak zrobić aby przy miniaturce u góry była data a pod nią tytuł wpisu? Tak jak na tym zdjęciu (zrobiłem w Photoshopie)http://www.kingpin.pl/zrzut2.jpg bo teraz wyświetla mi się takhttp://www.kingpin.pl/zrzut.jpg
Z góry dziękuję za odpowiedź.
Wystarczy odpowiednio je ostylować. Poczytaj sobie o CSS
Super opisane jak to zrobić u mnie zadziałało od razu.
Mam jeszcze pytanie jak zrobić aby przy miniaturce u góry była data a pod nią tytuł wpisu? Tak jak na tym zdjęciu (zrobiłem w Photoshopie)http://www.kingpin.pl/zrzut2.jpg bo teraz wyświetla mi się takhttp://www.kingpin.pl/zrzut.jpg
Z góry dziękuję za odpowiedź.
Dzięki wielkie – krótko, zwięźle, i na temat – a przecież to o to właśnie chodziło…
Cieszę się, że się podoba.
Witam.. dopiero sie wczytuje w tajniki miniatury do wpisu, ale ja jednak chcialbym aby miniatura na stronie glownej byla wysiwetlana tylko w ostatnim dodanym poscie na stronie glownej.. jest to mozliwe?
Oczywiście, że się da – wystarczy kod odpowiedzialny za wyświetlenie miniaturki objąć blokiem if z odpowiednim warunkiem – tutaj masz dość dokładny opis, po uważnym wczytaniu się powinieneś łatwo samemu dojść do tego, jak to przerobić żeby działało, tak jak chcesz.