-
data publikacji: 03.10.2007
O wyświetlaniu podstron w WordPress
kategoria: CMSy, Inne tutoriale wordpressowe, Tutoriale, Webmaster, Wordpress autor: palmiakWczoraj 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_idto numer ID rodzica.Teraz czas na praktykę.
W naszego
sidebar.phpmusimy 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.
-
6 Responses to “O wyświetlaniu podstron w WordPress”
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























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
Blad masz w skrypcie to nie dziala
Nam nie działa czy Wertowi?
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’”)) {
?>
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
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?