Mam w swoim motywie niestandardowy typ portfela (portfel ślimakowy) i wszystko działa dobrze oprócz jednej rzeczy. Gdy ludzie tworzą stronę z informacją o portfelu, np .: example.com/portfolio, motyw myśli, że chcę użyć niestandardowej strony archiwum typu posta, a nie mojej strony utworzonej w edytorze.
Czy mogę w jakiś sposób „zarezerwować” zestaw informacji o ślimakach, gdy strony są zapisywane, aby mieć pewność, że nigdy się nie wykorzysta, a może zmienić nazwę na stronę portfolio?
Mój projekt wykorzystuje metody opisane w tym samouczku, oto konflikt, o którym mówię:
„Oprócz konieczności łatania kodu jest tutaj jeszcze jeden haczyk polegający na tym, że nie można nazwać tego ślimaka strony tak samo, jak ślimaka niestandardowego typu postu. Pomyśl o swoim ślimaku niestandardowego typu postu jako zastrzeżonym słowie kluczowym; możesz jednak tytuł strony o tej samej nazwie, co ślimak o niestandardowym typie postu, pod warunkiem, że ślimak strony jest czymś innym. ” - http://wp.tutsplus.com/tutorials/custom-post-type-pagination-chaining-method/
Dziękuję za wszelkie porady!
źródło
Odpowiedzi:
Poniższe 2 filtry pozwalają zaczepić się, gdy WordPress sprawdza ślimak i znajdują się w funkcji wp_unique_post_slug () w pliku wp-include / post.php.
Istnieją 2 filtry, jeden dla postów hierarchicznych i jeden dla niehierarchicznych. Filtr hierarchiczny zapewnia identyfikator postu nadrzędnego, więc jeśli $ post_parent ma wartość 0, wiesz, że jest to post „podstawowy”.
Filtry również przekazują typ $ post_type, jeśli chcesz dodać do logiki określone typy postów.
Zwracając „true”, mówisz WordPressowi, że ten ślimak jest zły, więc WordPress dodaje sufiks, tak jak by to zrobił, gdybyś próbował nam podać nazwę posta / ślimaka, który jest już zajęty.
źródło
Utwórz stronę z informacją o „portfolio” i ustaw ją jako „prywatną”. Zostanie ukryty przed publicznym podczas rezerwowania ślimaka przed dalszym użyciem.
źródło
Dokładnie napotkał ten problem podczas badania problemu paginacji. Mamy stronę główną Wiadomości (ślimak „aktualności”) i paginacja nie udała się ... próby uzyskania dostępu do / news / page / 2 / zawsze kończyły się na „404 - Not Found”.
Problemem okazało się to, że nasz niestandardowy typ wiadomości otrzymał również ślimak „news”. Zmieniając ten ostatni (na przykład na „archiwum_archiwum”) problem został rozwiązany. Dzięki temu odniesienia do oryginalnych adresów URL wiadomości nie uległy zmianie. Zmiana informacji o stronie głównej Wiadomości również działała, ale wtedy wszystkie adresy URL zawierałyby zmienioną informację o pracy.
źródło