Nie znalazłem przydatnej odpowiedzi na to pytanie. Jestem świadomy problemów konfliktu i wszystkich problemów, które może to powodować, jestem ciekawy, czy MOŻLIWE nie SUGEROWANE. Będzie to wymagało przepisywania WP, wiem tyle.
Zasadniczo powiedzmy, że mamy CPT „zdarzeń”. Chcę, aby strona pojedynczego wydarzenia miała adres URL http://domain.com/single-event-name, a NIE http://domain.com/events/single-event-name . Wszelkie pomysły, jak to zrobić?
custom-post-types
url-rewriting
Rob Bennet
źródło
źródło
Odpowiedzi:
W ten sposób możesz wykonać pierwszą część pracy - pozbyć się ślimaka CPT w łączu do postu (np. Typ wiadomości).
Teraz należy przejść do przepisywania reguł dla „wiadomości”, ponieważ pojawi się błąd 404.
Dodaj regułę przepisywania w następujący sposób:
Następnie będziemy musieli opróżnić reguły przepisywania, więc przejdź do Ustawienia - Permalinki i zapisz zmiany.
źródło
Możesz wypróbować tę wtyczkę ( http://wordpress.org/extend/plugins/remove-slug-from-custom-post-type/ ) w celu usunięcia ślimaka, ale zadziała ona tylko wtedy, gdy struktura łącza bezpośredniego to „/% postname % /
źródło
Zawsze możesz podłączyć się do „parse_request”, aby sprawdzić, czy istnieje niestandardowy typ o żądanej nazwie, a następnie odpowiednio zmodyfikować zmienne query_vars. Będziesz potrzebować czegoś podobnego do odpowiedzi @ Bartosza, aby dodatkowo wygenerować bezpośredni link:
Zakłada się jednak, że nie będziesz mieć żadnych nazw postów o takiej samej nazwie jak nazwa postu, w przeciwnym razie post nigdy się nie pojawi, ponieważ najpierw pasuje do typu zdarzenia.
źródło
opróżnij / przetwarza przepisane adresy URL, a następnie edytujesz .htaccess
źródło