Artykuły:

  • data publikacji: 31.12.2009

    Miniaturki w WordPress 2.9

    kategoria: CMSy, Webmaster, Wordpress autor: palmiak

    Miniaturki w WordPress 2.9

    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órka i otwieramy plik functions.php (jeżeli go nie ma należy go utworzyć). Tam dopisujemy

    add_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:

    Miniaturki w Wordpres 2.9

    Stąd już łatwo. Wystarczy wybrać sobie obrazek, jego rozmiar i dodać jako ikonę wpisu.

    Miniaturki w Wordpres 2.9

    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:

    add_theme_support( 'post-thumbnails', array( 'post' ) );

    Jeżeli byśmy mieli ochotę załączyć miniaturki tylko dla stron do post zastępujemy page

    Rozmiary są do bani... chcę inne

    Ależ żaden problem. Wystarczy, że w functions.php dopiszesz:

    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 czy add_theme_support() jest dostępne w naszej wersji.

    Najpierw w functions.php:

    if ( function_exists( 'add_theme_support' ) ){
    add_theme_support( 'post-thumbnails' );
    }

    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ę?

    <?php the_post_thumbnail('post-thumbnail', array( 'class' => 'nazwa_klasy' )); ?>

    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.

    Udostępnij ten artykuł:
    • Print
    • Digg
    • del.icio.us
    • Facebook
    • Mixx
    • Google Bookmarks
    • Gwar
    • RSS
    • Technorati
    • Twitter
    • Wykop

  • 54 Responses to “Miniaturki w WordPress 2.9”

    1. Paweł pisze:

      Wreszcie ktoś to krok po kroku wytłumaczył! Dzięki.

    2. JaRo pisze:

      Dzięki – właśnie miałem się za to zabierać a tu proszę, podane jak na tacy :D

      • palmiak pisze:

        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 ;)

        • lpawel25 pisze:

          Witam
          w pliku (functions.php) udał mi się ale nie wiem jak w pliku (index.php) proszę o pomoc

          <div id="column">

          <?php if (have_posts()) : ?>

          <?php while (have_posts()) : the_post(); ?>

          <div class="post">
          <h2>"><?php the_title(); ?></h2>
          <div class="postinfo">
          <div class="info">Autor: <?php the_author_posts_link(); ?> data: <?php the_time('j F, Y'); ?></div>
          <div class="commentnum"><?php comments_popup_link('Brak komentarzy', '1 komentarz', 'Komentarze %'); ?></div><div class="clear"></div>
          </div>
          <div class="category">Ten post został wpisany do kategorii: <?php the_category(', '); ?></div>
          <div class="entry">

          <?php the_excerpt('Czytaj całość…'); ?><div class="clear"></div>
          " class="more-link">Czytaj całość…
          </div>
          <?php the_tags('<div class="tags">Otagowane jako: ', ', ', '</div><div class="clear"></div>'); ?>
          </div>

          Pozdrawiam

    3. Artur pisze:

      Hmm, a może ktoś wie, czy wbudowane miniaturki bardziej obciążają serwer niż timthumb lub php thumb?

      Pozdrawiam,
      Artur

      • palmiak pisze:

        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 ;)

    4. Paweł pisze:

      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
        }

    5. Paweł pisze:

      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ć :)

    6. Paweł pisze:

      Dzięki za odpowiedź, ale po dodaniu tego kodu wyskakuje błąd:
      Fatal error: Call to undefined function has_post_thumbnail()

      • palmiak pisze:

        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 ;)

    7. Paweł pisze:

      Dodałem obsługę ikon wpisów na http://www.gosiunia.pl i mam WP 2.9.1 :) Gdzie problem?

    8. palmiak pisze:

      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.

      • Paweł pisze:

        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ć :)

    9. palmiak pisze:

      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.

    10. Paweł pisze:

      Działa :) Wielkie dzięki!

    11. [...] 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 [...]

    12. 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?

      • palmiak pisze:

        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.

    13. Mariusz pisze:

      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

    14. Jarek pisze:

      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.

    15. Marcin pisze:

      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ć?

    16. Maciek Bielski pisze:

      Nie mogę ustawić klasy, jakaś rada?

    17. [...] 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…) [...]

    18. wojtek pisze:

      Mam pytanie: Jak ustawić ikonę, żeby po kliknięciu na nią wyświetlał się oryginalny obrazek w nowym oknie?

    19. 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ź.

    20. 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ź.

    21. Dzięki wielkie – krótko, zwięźle, i na temat – a przecież to o to właśnie chodziło… :)

    22. visualtouch pisze:

      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?

    23. baranek pisze:

      Bardzo przydatny artykuł…

    24. Piotr pisze:

      Bardzo fajny artykuł

    25. zachaswir pisze:

      Fajnie, łopatologicznie napisane ;)

    26. rumyan pisze:

      Zastanawiam się, czy istnieje możliwość ustawienia 2 różnych rozmiarów ikon wpisu, które powiałyby się na stronie głównej. Dokładnie dwie różnie zdefiniowane set_post_thumbnail_size.

      • rumyan pisze:

        ok, nie było pytania :)
        add_image_size('single_post', 500, 100, true); – single_post zamieniamy na własny tekst i wywołujemy <?php the_post_thumbnail('single_post'); ?>
        Wszystko jest w tekście. Zmylił mnie opis (single_post), że dotyczy to tylko różnych podstron.

    27. [...] Vivee.info: Miniaturki w WordPress 2.9 [...]

    28. Tomasz pisze:

      Witam. Mam też pytanie: jak podlinkować taką miniaturę, żeby po jej kliknięciu otwierał się wpis, do którego jest podczepiona? ;) Poza tym wielkie dzięki za opis!

    29. Witam , mam malutkie pytanie, czyjest możliwość w podstronach (Page) ustawienie innego rozmiaru miniaturki niż w wpisach…

    30. [...] Do dzieła :) Opisując te dwie metody zakładam, że szablon, z którego korzystacie obsługuje już możliwość wstawienia ikon wpisów. [...]

    31. [...] po pierwsze – musimy umożliwić szablonowi WordPressa, którego używamy obsługę ikon wpisów [...]

    32. [...] RSS. Niestety, tak się składa, że sam fakt przystosowania szablonu WordPressa do wyświetlania ikon wpisów nie wystarczy do tego, aby takie ikony były wyświetlanie razem z treścią artykułu [...]

    33. Burger pisze:

      A jak wyciągnąć z tego sam adres ikony? Bez <img >?

    34. Dawid pisze:

      Witam, artykuł jak najbardziej na temat. Niestety mam problem – po kliknięciu ustaw ikonę wpisu i wyborze z galerii interesującego mnie obrazka – klikam na "użyj jako ikony wpisu" i co? i nic.. jedyna akcja jaka się odbywa to przenosi mnie na górę strony zamiast dodać zdjęcie jako ikonę wpisu. Czy jest ktoś wstanie mi pomóc? cały dzień nad tym dziś spędziłem…

    35. [...] tematem polecam fajny artykuł na Vivee lub dokumentację [...]

    36. Adam pisze:

      Chciałbym dodać miniaturkę we wpisach pojawiających się na ścianie w dodatku buddypres. Domyślnie dodawany jest pierwszy wstawiony we wpisie obrazek.
      Proszę o podpowiedz jaki plik mam edytować, żeby to zmienić, bo nie mogę znaleźć?

    37. xoopsor pisze:

      Witam, super artykuł bardzo przydatny. U mnie działa.Mam jednak jedno jeszcze pytanie: jak zrobić żeby tekst opływał miniaturkę na index.php czyli na głównej stronie? w tej chwili tekst mam pod obrazkiem.

      • xoopsor pisze:

        dodam, że w poscie opływa dobrze z prawej strony. Problem występuje tylko na głównej stronie

    Leave a Reply

Komentarze

Kategorie

Top 10

  • 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

  • No bookmarks avaliable.