To jest odpowiedź na wcześniejsze pytanie, które miałem, ale lubię teraz zagłębiać się w szczegóły, aby móc w pełni to rozwiązać.
Ponownie, dzięki (normalnym) postom zmiana bezpośredniego linku jest tak prosta, jak przejście do Ustawienia> Łącze bezpośrednie i zmiana go na dowolne, na przykład szeroko stosowane %category%/%postname%.html
. To wszystko działa. Gdyby to było tak łatwe dla niestandardowego typu postu i jego taksonomii.
To właśnie lubię robić.
- http://mywordpress.com/portfolio.html - Wyświetl wszystkie posty we wszystkich kategoriach.
- http://mywordpress.com/portfolio/music/ - Wyświetl wszystkie posty w tej kategorii.
- http://mywordpress.com/portfolio/music/trance/ - Wyświetl wszystkie posty w tej kategorii (potomnej).
- http://mywordpress.com/portfolio/music/trance/Tiesto.html - Wyświetl post.
Do tej pory mam następujące:
- Najpierw stworzył
custom_post_type
nazwie projektu itaxonomy
project_category . - Utworzyłem portfolio strony i nadałem mu szablon strony, który będzie zawierał listę wszystkich
post_type = project
postów. Jak mogę dodać .html do bezpośredniego linku stron? Teraz linkuje do http://mywordpress.com/portfolio, a ja chcę http://mywordpress.com/portfolio.html . To powinno rozwiązać pierwszy problem. - Wtedy wszystko stanie się trudne, ponieważ nie wiemy z góry, ile jest podkategorii, może nawet nie ma. Więc struktura, której szukamy, jest
portfolio/(CATEGORY PATH FROM TOP TO CHILD)/post.html
. Nadal utknąłem w tym momencie. Myślę, że powinienem w jakiś sposób pobrać ostatnią kategorię dodaną do ścieżki i przekazać ją wzdłuż kategorii project_category , co powinno doprowadzić do pliku taksonomy.php, w którym mogę ją poprawnie przetworzyć. - Nie rozwiązałem tego, ale powinno to mieć coś wspólnego z
%postname%.html
końcem czegoś.
Mam nadzieję, że mój problem jest wyraźny i że są odważni programiści, którzy pomogą mi rozwiązać ten problem, który już zajęło mi cztery PEŁNE dni!
Odpowiedzi:
Ok, myślę, że mogę mieć rozwiązanie. Nie mam pojęcia, czy jest to właściwy sposób, aby to osiągnąć, ale na razie jest to jedyna rzecz, która wydaje się działać.
źródło
2 różne metody:
* Zobacz uwagi na dole tego postu.
na przykład, chcesz mieć taką strukturę bezpośredniego łącza :
/ MAIN_CATEGORY / SUB_CAT_2 / Another_SUBCAT / my-post
Na początku może być konieczne ustawienie permalinków na /% category% /% postname% . Następnie...
METODA 1:
utworzyć kategorie Standard (
MAIN_CATEGORY
,SUB_CAT_1
,and etc..
) i zarejestrować Zwyczaj POST, w tym tego parametru:i użyj tych kodów, aby zmienić permalinki: https://wordpress.stackexchange.com/a/195643/33667
Następnie, po opublikowaniu NIESTANDARDOWEGO POCZTY (jeśli jest dołączony do kategorii), adres URL będzie:
example.com/MAIN_CATEGORY/SUB_CAT_1/my-post
METODA 2:
(ps ta metoda nie jest zalecana, jeśli planujesz opublikować setki lub tysiące postów)
zarejestruj CUSTOM POST (nazwany
MAIN_CATEGORY
), w tym następujące parametry:Następnie, publikować własne posty jak ten: (tj opublikować kilka niestandardowych posty , nazwany Następnie, po opublikowaniu kolejny post, ale wybrać. jako rodzica.
SUB_CAT_2, SUB_CAT_1..
SUB_CAT_2
ps
1) Jeśli jesteś nowicjuszem, przejrzyj : Zarejestruj NIESTANDARDOWY POCZTA i Rejestruj NIESTANDARDOWY POCZTA w TAXONOMY
2), jeśli potrzebujesz funkcji wyszukiwania dla podpoziomów, użyj niestandardowego zapytania wyszukiwania
źródło
Po wielu godzinach walenia głową, ta wtyczka okazała się bardzo pomocna.
https://wordpress.org/plugins/custom-post-type-permalinks/
Poniżej znajduje się zrzut ekranu z podanymi opcjami.
źródło