Relacja rodzic-dziecko w niestandardowym typie wpisu

Opublikowany: 2020-08-18

Kto 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.

WordPressa.
WordPress zezwala tylko na relację rodzic-dziecko w niestandardowym typie postu

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.

Kod na laptopie, niezbędny do nawiązania relacji rodzic-dziecko w niestandardowym typie postu
Czas na kodowanie

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.

Mama z dziećmi i tabletem.
Aby dać ci lepszy obraz

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