Artykuły:

  • data publikacji: 03.10.2007

    O wyświetlaniu podstron w WordPress

    kategoria: CMSy, Inne tutoriale wordpressowe, Tutoriale, Webmaster, Wordpress autor: palmiak

    Wczoraj przypomniał o sobie pewien znajomy, który pyta mnie czasem o problemy związane z WordPressem. Przypomniało mi to jego stare pytanie. Dlatego raz jeszcze opiszę ja w WordPressie zrobić sztuczkę która pozwala na pokazywanie tylko "dzieci" strony.

    Wyobraźmy sobie sytuacje gdzie mamy dwie strony:
    X oraz Y, do X należą podstrony X1, X2, i tak dalej, odpowiedno do Y,
    należą Y1, Y2. Jak narazie nic trudnego. Tutaj pojawia sie
    pytanie: Jak wyswietlić w SIDEBARZE, podstrony X1, X2 [ oraz odpowiednio
    Y1,Y2 ], jednak aby nie wyświetlały sie strony nadrzędne X,Y?

    Najpierw musimy sprawdzić czy strona-rodzic istnieje (może w końcu być zły link czy coś) oraz czy to w co klikneliśmy jest stroną.

    Kiedy już mamy tą pewność pobieramy ID strony i staramy się odnaleźć go w bazie, a następnie namierzyć jego rodzica (robimy to w pętli aż znajdziemy tego ostatecznego rodzica). Wiedząc już coś takiego pozostaje nam tylko wypisać strony-dzieci za pomocą

    <?php wp_list_pages('child_of='. $parent_id); ?>
     

    gdzie $parent_id to numer ID rodzica.

    Teraz czas na praktykę.

    W naszego sidebar.php musimy wkleić następujący kod

    <?php
            global $notfound;
                    if (is_page() and ($notfound != '1')) {
                            $current_page = $post->ID;
                            while($current_page) {
                                    $page_query = $wpdb->get_row("SELECT ID, post_title, post_status, post_parent FROM $wpdb->posts WHERE ID = '$current_page'");
                                    $current_page = $page_query->post_parent;
                            }
                            $parent_id = $page_query->ID;
                            $parent_title = $page_query->post_title;

                            if ($wpdb->get_results("SELECT * FROM $wpdb->posts WHERE post_parent = '$parent_id' AND post_status != 'attachment'")) {
            ?>

            <ul class="list-page">
              <?php wp_list_pages('child_of='. $parent_id); ?>
            </ul>
            <?php } } ?>
     

    Musimy mieć jeszcze menu, które będzie pokazywało strony-rodziców, a takie otrzymamy następującym kodem:

                    <ul>
    <?php wp_list_pages('sort_column=menu_order&title_li=&depth=-1 '); ?>
                    </ul>
     

    I tak oto problem Karola zostaje rozwiązany. Mam nadzieję, że innym też się to przyda.

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

  • 7 Responses to “O wyświetlaniu podstron w WordPress”

    1. wert pisze:

      zaczynam dopiero zabawę z WordPressem – a informacje zamieszczone na vive są naprawdę użyteczne i popychają projekt do przodu . Mam pytanie odnośnie w/w artykułu – podobna sytuacja ale

      menu A – wyświetla tylko strony nadrzędne X, Y, Z (to osiągnałem zmieniając depth=-1 na depth=1)

      menu B – wyświetla strone nadrzędną X oraz strony podrzędne X1, X2, X3 i nic poza tym. (i tu poległem – nie mam pomysłu jak to zrobić)

      będę wdzięczny za pomoc :)

    2. wymagany pisze:

      Blad masz w skrypcie to nie dziala

    3. palmiak pisze:

      Nam nie działa czy Wertowi?

    4. wert pisze:

      u mnie wszystko działa prawidłowo – ale do powyższego kodu faktycznie wkradł się chochlik – zdążyłem rozwiązać mój problem. kod:

      ID;
      while($current_page) {
      $page_query = $wpdb->get_row(“SELECT ID, post_title, post_status, post_parent FROM $wpdb->posts WHERE ID = ‘$current_page’”);
      $current_page = $page_query->post_parent;
      }
      $parent_id = $page_query->ID;
      $parent_title = $page_query->post_title;

      if ($wpdb->get_results(“SELECT * FROM $wpdb->posts WHERE post_parent = ‘$parent_id’ AND post_status != ‘attachment’”)) {
      ?>

    5. Flacktub pisze:

      A ja mam takie pytanie- czy da sie zrobic tak ze-
      Pokazywane beda strony X1, X2, X3 ale bez stron podrzednych pod nimi ?

      Jakby ktos nie rozumial (polskie znaki mi ******* to zrobie strukture)

      - X
      –X1
      —x1.1
      —x1.2
      –X2 <- chodzi mi o to, bez stron nadrzednych i podrzednych
      —x2.1
      —x2.2

    6. Maciek Bielski pisze:

      A ja mam pytanie troszkę z innej beczki: Chciałbym aby dwie podstrony bloga wyglądały zupełnie inaczej. Co mam w takiej sytuacji zmienić w moim theme/czym przypisać różne style, lub content do odpowiednich stron?

    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.