Czy posty mają mieć rodziców? Jeśli tak, co to znaczy, że post ma rodzica?
Ponadto, jeśli istnieją ograniczenia dotyczące postów mających rodziców, to gdzie to jest egzekwowane? Nie w DB, tak jak ja to widzę.
Czy posty mają mieć rodziców? Jeśli tak, co to znaczy, że post ma rodzica?
Ponadto, jeśli istnieją ograniczenia dotyczące postów mających rodziców, to gdzie to jest egzekwowane? Nie w DB, tak jak ja to widzę.
Odpowiedzi:
Po wyjęciu z pudełka nie, posty nie mogą mieć rodziców. Można je przypisać do kategorii, które można uporządkować hierarchicznie. Strony mogą jednak mieć rodziców i można z nich zbudować strukturę menu za pomocą tej funkcji.
Jeśli chodzi o to, gdzie jest to wymuszone: element nadrzędny postu jest przechowywany w kolumnie „post_parent” w „wp_posts”. Nie jest tak naprawdę egzekwowany, tylko domyślny interfejs użytkownika nie daje możliwości ustawienia go, a domyślne kodowanie WP nie używa tej wartości dla postów. Nie byłoby jednak trudno stworzyć niestandardowy typ postu, aby mieć posty z rodzicami.
post_parent
do innego „post_id”, jak byłoby 0
inaczej.
Wp ma wbudowane „Strony” (hierarchiczne, dozwolone dla rodziców) i „Posty” (niehierarchiczne). Istnieją również inne typy postów, ale zostawmy to.
Jeśli Q powoduje:
Czy mogę mieć hierarchiczne posty?
Odpowiedź brzmi: tak ,… możesz mieć „posty” hierarchiczne. Ponieważ jednak nie są one wbudowane, musisz zarejestrować własny niestandardowy typ postu - patrz: Argumenty »hierarchiczne.
Takie „posty” (lub artykuły, cokolwiek,…) następnie - w przypadku, gdy mają post nadrzędny - ustawią identyfikator nadrzędny wewnątrz swojego obiektu. W pętli można wykonać następujące czynności:
if ( have_posts )
{
the_post();
// etc.
global $post;
// call parent: http://codex.wordpress.org/Function_Reference/get_post
$parent = get_post( $post->post_parent );
echo "<h2>{$post->post_title} is a child of {$parent->post_title}";
// etc.
} // endif;
Z perspektywy wyszukiwarki dwie z tych odpowiedzi łącznie pomogą Google w śledzeniu hierarchii twoich postów oraz oczywiście użytkowników.
Dodaj stronę i użyj jej do hostowania swoich postów. „Najlepszym sposobem ustawienia strony nadrzędnej za pomocą wszystkich swoich postów jest menu (Wygląd -> Dostosuj). Możesz ustawić stronę statyczną strony głównej lub strony postów. Po ustawieniu strony statycznej strona będzie być rodzicem dla każdego posta na blogu ”.
Zmień strukturę łącza bezpośredniego na / blog /% postname%, jak wspomniano powyżej. „Załóżmy, że chcesz dołączyć blog przed opublikowaniem w adresie URL, a nie upewnij się, że nazwa ślimaka Twojej strony blogowej to blog.
Następnie przejdź do WP-admin-panel> ustawienia> bezpośredni link i wybierz ostatnią opcję „struktura niestandardowa” i dodaj w niej następujące elementy:
/ blog /% postname% /
i zapisz zmiany. Zostanie zastosowany tylko do strony bloga, na innej stronie blog nie będzie wyświetlany jako nadrzędny ”.
W ten sposób Google widzi hierarchię w mapach witryn jako domain.com/page/post (w tej kolejności), a także znajdzie treść w tym samym miejscu. Podobnie jak użytkownicy. Zadanie wykonane.
Załóżmy, że chcesz dołączyć blog przed opublikowaniem w adresie URL, a nie upewnij się, że nazwa ślimaka Twojej strony blogu to blog.
Następnie przejdź do WP-admin-panel> ustawienia> bezpośredni link i wybierz ostatnią opcję „struktura niestandardowa” i dodaj w niej następujące elementy:
/blog/%postname%/
i zapisz zmiany.
Zostanie zastosowany tylko do strony bloga, na innej stronie blog nie będzie wyświetlany jako nadrzędny.
Wiem, że to stary post. Jednak żadna z tych odpowiedzi nie jest poprawna i chciałem opublikować rozwiązanie, którego użyłem do rozwiązania tego problemu. Najlepszym sposobem na ustawienie strony nadrzędnej we wszystkich swoich postach jest menu (Wygląd -> Dostosuj). Możesz ustawić stronę statyczną dla swojej strony głównej lub strony postów. Gdy ustawisz statyczną stronę posta, strona ta będzie nadrzędna dla każdego posta na blogu.
post_parent
kolumny, aby zidentyfikować stronę / post (w tym niestandardowe typy postów), do których są dołączone.