Relacja rodzic-dziecko w niestandardowym typie wpisu
Opublikowany: 2020-08-18Kto nie chciałby mieć zorganizowanej witryny WordPress? Właśnie z tego powodu ważne są niestandardowe typy postów. CTP pozwala nam rozdzielać dane i łatwy dostęp oraz aktualizować je w razie potrzeby. Jednak to, co umożliwiło nam uporządkowanie tej treści i nadanie jej hierarchii, to relacja rodzic-dziecko w niestandardowym typie posta . Ale zanim zaczniemy mówić o relacji rodzic-dziecko, zacznijmy od początku.
Długo oczekiwany CPT
Jeśli nie wiesz, dlaczego aktualizacja WordPressa jest ważna, oto oczywisty przykład. Po latach oczekiwania, kiedy pojawił się WordPress 3.0, w końcu byliśmy w stanie tworzyć niestandardowe typy postów. I to była naprawdę okazja, o której chciałeś wiedzieć tak szybko, jak to możliwe. Dzięki niemu witryna WordPress została przekształcona z prostej platformy blogowej w potężny system zarządzania kontrolą. Tylko za pomocą kilku linijek kodu jesteśmy w stanie mieć swój własny typ.
Zanim przejdziemy do relacji rodzic-dziecko w niestandardowym typie posta, zobaczmy przede wszystkim, czym jest niestandardowy typ posta.
Co to jest CPT?
CPT niestandardowych typów postów można uznać za treść. Termin „post” może Cię zmylić, ponieważ w żaden sposób nie jest to post na blogu. CPT może być dowolną treścią i nie ma ścisłych reguł, które by je definiowały. Oczywiście istnieją domyślne i niestandardowe typy postów. Domyślne typy postów to posty na blogu, strony i załączniki, poprawki i menu nawigacyjne.
Z drugiej strony niestandardowe typy postów umożliwiają bardziej kreatywną kontrolę nad tworzeniem, przechowywaniem i edytowaniem informacji.
Nie należy mieszać niestandardowych typów postów z postami na blogu. Jeśli chcesz stworzyć strukturę i hierarchię postów na blogu, masz do dyspozycji kategorie i podkategorie w WordPressie.
Używaj do niestandardowych typów postów
Chociaż istnieją domyślne typy postów WordPress, niektórzy ludzie potrzebują czegoś więcej. Oto kilka przykładów, w których przydatne są niestandardowe typy postów:
- Witryna z listami wydarzeń, z typami wydarzeń i miejscami
- Wykazy nieruchomości
- Witryny e-commerce z opcjami produktu
- System biletowy
- Galeria projektów lub wizytówka
Pamiętaj, że te pomysły to tylko niektóre z sugestii. Jest o wiele więcej pomysłów, w których możesz użyć niestandardowych typów postów, więc pozwól swojej wyobraźni oszaleć.
Relacje i posty rodzic-dziecko
Po przejściu do Ustawień i włączeniu opcji „Hierarchiczna” możesz sprawić, by Twoje posty zachowywały się bardziej jak strony i będziesz mógł uzyskać relacje rodzic/dziecko. Załóżmy na przykład, że masz typ posta o nazwie „napój” i stronę nadrzędną „alkohol” oraz stronę podrzędną „wódka”. Kiedy przeglądałeś post „wódka”, adres URL wyglądałby mniej więcej tak: twojawitryna.com/drink/liquor/vodka/
Zasadniczo wpłynie to tylko na Twoje posty w ramach Twojego typu postu, a nie na inne typy postów, które są ze sobą powiązane. Na przykład wpis typu „napój” nie byłby dzieckiem typu posta „jedzenie”.
Opcje ograniczenia
Mówiąc o relacjach pocztowych, WordPress oferuje bardzo niewiele. Właściwie relacja rodzic/dziecko w postach typu niestandardowego jest jedynym rodzajem relacji, który obsługuje WordPress. Jednak ustawienie niestandardowego typu postu jako nadrzędnego, a innego niestandardowego typu postu jako podrzędnego, może wydawać się trudne.

Oto przykład z jednego projektu, w którym można zobaczyć różne typy postów i przypisywać posty dzieci do postu nadrzędnego.
- Niestandardowy typ wpisu o nazwie „Sąsiedztwo”
- W przypadku miejsc w tej okolicy będziemy mieć niestandardowy typ wpisu o nazwie „Miejsca”
- Pamiętaj, że te niestandardowe typy postów nie są hierarchiczne
- Celem jest przypisanie każdego miejsca do sąsiedztwa, które będzie stanowiło nadrzędny post
Przypisywanie stanowiska nadrzędnego
Mam nadzieję, że już wiesz trochę o typach postów i wiesz, jak one działają. Jednak, aby przypisać post nadrzędny, musisz trochę kodować. Jeśli nie znasz skrótów w WordPressie, spróbuj zrozumieć podstawy. Podstawy powinny wystarczyć, ponieważ wystarczy dodać poniższy kod do plików administratora wtyczki, aby przypisać post nadrzędny.


Dla wyjaśnienia użyjemy tutaj typów słupków płaskich Okolica i Miejsce. A teraz czas na kodowanie:
/* Hook meta box to just the 'place' post type. */ add_action( 'add_meta_boxes_place', 'my_add_meta_boxes' ); /* Creates the meta box. */ function my_add_meta_boxes( $post ) { add_meta_box( 'my-place-parent', __( 'Neighborhood', 'example-textdomain' ), 'my_place_parent_meta_box', $post->post_type, 'side', 'core' ); } /* Displays the meta box. */ function my_place_parent_meta_box( $post ) { $parents = get_posts( array( 'post_type' => 'neighborhood', 'orderby' => 'title', 'order' => 'ASC', 'numberposts' => -1 ) ); if ( !empty( $parents ) ) { echo '<select name="parent_id" class="widefat">'; // !Important! Don't change the 'parent_id' name attribute. foreach ( $parents as $parent ) { printf( '<option value="%s"%s>%s</option>', esc_attr( $parent->ID ), selected( $parent->ID, $post->post_parent, false ), esc_html( $parent->post_title ) ); } echo '</select>'; } }
Nie zapomnij zmienić nazw typów postów na własne typy postów. Aby lepiej zrozumieć kod i wykorzystać go w swojej witrynie, oto kolejny przykład na GitHub, który może Ci się przydać.
Opublikuj relacje
Chociaż relacje rodzic-dziecko w niestandardowych typach wpisów są przydatne, są również dość ograniczone. Jeśli chcesz mieć bardziej złożone rozwiązania, musisz szukać gdzie indziej. Jest to kilka wtyczek, które mogą pomóc w osiągnięciu podobnych efektów relacji postów.

Dlaczego potrzebujemy relacji pocztowych?
Jeśli chcemy tworzyć połączenia między postami w witrynie, zasadniczo używamy relacji postów. A powodem, dla którego są tak dobre, jest to, że pozwalają nam tworzyć zaawansowane strony internetowe . Gdy połączymy ze sobą niestandardowe posty typu post, możemy uniknąć powielania danych i zapewniamy, że wszyscy nie muszą edytować informacji więcej niż raz. Ponadto, ponieważ czas to pieniądz, potrzebujemy jakiejkolwiek metody, która pomoże nam uniknąć przyziemnych zadań.
Korzyści z używania relacji rodzic-dziecko w niestandardowych typach postów
Jedną z oczywistych korzyści wynikających z używania relacji rodzic-dziecko w niestandardowym typie wpisu jest to, że możesz uporządkować swoją witrynę. Wyszukiwarki i użytkownicy uwielbiają witryny o zorganizowanej strukturze . Pamiętaj jednak, że aby naprawdę doświadczyć korzyści z tego płynących, musisz stworzyć dobry plan i się go trzymać.