Come modificare la struttura del permalink per il tipo di post personalizzato e le sue tassonomie?
-
-
La soluzione che ho datonell'ultima domanda avrebbe dovutofunzionarein questomodo,se l'haiimplementata correttamente.L'unica cosa è chenonpuoi ottenere laparte htmlThe solution I gave in the last question should have worked that way, if you implemented it correctly. The only thing is you can't get the html part
- 1
- 2011-09-20
- Manny Fleurmond
-
Sì,maerabloccato su unpercorso specifico,quindi solo categoria/sottocategoria/paginamentrepotrebberononesserci sottocategorie o anche dipiù.Questo èpiù dinamico.Yes but it was locked to a specific path, so only category/subcategory/page while there might not be subcategories or even more. This is more dynamic.
- 0
- 2011-09-20
- Mark
-
Onon l'hoimplementato correttamente;)Or I did not implement it properly ;)
- 0
- 2011-09-20
- Mark
-
3 risposta
- voti
-
- 2011-09-20
Ok,penso dipoter avere una soluzione.Non hoidea se questo siailmodogiustoperfarlo,maper ora è l'unica cosa che sembrafunzionare.
add_filter('rewrite_rules_array', 'mmp_rewrite_rules'); function mmp_rewrite_rules($rules) { $newRules = array(); $newRules['portfolio/(.+)/(.+?).html$'] = 'index.php?project=$matches[2]'; $newRules['portfolio/(.+)/?$'] = 'index.php?project_category=$matches[1]'; return array_merge($newRules, $rules); } add_filter('request', 'mmp_rewrite_request'); function mmp_rewrite_request($vars) { if (isset($vars['project_category'])) { if (strpos($vars['project_category'], '/') !== false) { $categories = explode('/', $vars['project_category']); $vars['project_category'] = $categories[count($categories) - 1]; } } return $vars; }
Ok I think I might have a solution. I have no idea if this is the right way to accomplish this, but as for now it's the only thing that seems to work.
add_filter('rewrite_rules_array', 'mmp_rewrite_rules'); function mmp_rewrite_rules($rules) { $newRules = array(); $newRules['portfolio/(.+)/(.+?).html$'] = 'index.php?project=$matches[2]'; $newRules['portfolio/(.+)/?$'] = 'index.php?project_category=$matches[1]'; return array_merge($newRules, $rules); } add_filter('request', 'mmp_rewrite_request'); function mmp_rewrite_request($vars) { if (isset($vars['project_category'])) { if (strpos($vars['project_category'], '/') !== false) { $categories = explode('/', $vars['project_category']); $vars['project_category'] = $categories[count($categories) - 1]; } } return $vars; }
-
Ilfiltro di richiesta è unbuonmodoperfiltrare se stiamo chiedendo una categoria (terminein effetti)e unpost.Consente di aggiungere solo una regola di riscritturae ottenere lapagina delpost,indipendentemente dalfatto cheilpost siain una categoria,sottocategoria onon lo sia affatto.The request filter is a good way to filter if we're asking a category (term in fact) and a post. It allows adding only one rewrite rule and get post page whether if post is in a category, a subcategory or not at all.
- 0
- 2018-10-30
- ZalemCitizen
-
- 2014-11-10
2metodi diversi:
* Vedi lenotein fondo a questopost.
adesempio,vuoi avere una struttura dipermalink simile:
/MAIN_CATEGORY/SUB_CAT_2/Another_SUBCAT/my-post"All'inizio ,potresti doverimpostarei permalink su /% category%/%postname% . Quindi ...
METODO 1:
crea categorie STANDARD (
MAIN_CATEGORY
,SUB_CAT_1
,e così via
)e registrail POST CUSTOM,incluso questoparametro:"tassonomie"=> array ('categoria' ..)
e utilizza questi codicipermodificarei permalink: https://wordpress.stackexchange.com/a/195643/33667
Quindi,dopo averpubblicato un POST PERSONALIZZATO (se allegatoin una categoria),l'URL sarà:
example.com/MAIN_CATEGORY/SUB_CAT_1/my-post
METODO 2:
(ps questometodo non è consigliato seprevedi dipubblicare centinaia omigliaia dipost)
registrail CUSTOM POST (denominato
MAIN_CATEGORY
),includendo questiparametri:"supports"=> array ('attributi dipagina' ...... "hierarchical"=> vero,
quindi,pubblicapostpersonalizzati come questo:
(es.pubblica diversi post personalizzati,denominatiSUB_CAT_2,SUB_CAT_1 ..
. Successivamente,quandopubblichi un altropost,ma scegliSUB_CAT_2
comegenitore.
p.s.
1) Se sei unprincipiante,controlla: Registra POST PERSONALIZZATO e Registrazione di CUSTOM POST con TAXONOMY
2) se haibisogno dellafunzionalità di ricercaperi livelli secondari,utilizza query di ricercapersonalizzata2 Different Methods:
*See notes in the bottom of this post.
for example, you want to have such permalink structure:
/MAIN_CATEGORY/SUB_CAT_2/Another_SUBCAT/my-postAt first, you may need to set permalinks to /%category%/%postname%. Then...
METHOD 1:
create STANDARD categories (
MAIN_CATEGORY
,SUB_CAT_1
,and etc..
) , and register the CUSTOM POST, including this parameter:'taxonomies' => array('category'..)
and use this codes to change permalinks: https://wordpress.stackexchange.com/a/195643/33667
Then, after publishing a CUSTOM POST (if attached under a category), URL will be:example.com/MAIN_CATEGORY/SUB_CAT_1/my-post
METHOD 2:
(p.s. this method is not advised if you plan to publish hundreds or thousands of posts)
register the CUSTOM POST (named
MAIN_CATEGORY
), including these parameters:"supports" => array('page-attributes'...... "hierarchical" => true,
then, publish custom posts like this:
(i.e. publish several custom posts, namedSUB_CAT_2, SUB_CAT_1..
. After then, when you publish another post, but chooseSUB_CAT_2
as parent.
p.s.
1) If you are newbie, review: Register CUSTOM POST and Registering CUSTOM POST with TAXONOMY
2) if you will need search functionality for sub-levels, then use custom search query -
- 2016-04-07
Dopo aver sbattuto latestaper ore,hotrovato questopluginmolto utile.
https://wordpress.org/plugins/custom-post-type-permalinks/
Di seguito è riportata la schermata delle opzioni che offre.
After banging my head for hours, I found this plugin very helpful.
https://wordpress.org/plugins/custom-post-type-permalinks/
Below is the screen shot of options it gives.
Questa è la ripubblicazione di una domandaprecedente che avevo,ma orami piaceentrarenei dettagliperesserein grado di risolverlo completamente.
Quindi,ancora una volta,coni post (normali) cambiareilpermalink èfacile come andare su Impostazioni> Permalinke cambiarloin qualsiasi cosati piaccia comeil
% category%/%postname% .html . Funzionatutto. Se solofosse cosìfacileperiltipo dipostpersonalizzatoe ancheper le suetassonomie.
Quindi questo è ciò chemi piace realizzare.
Quello che ho ottenutofinora èil seguente:
custom_post_type
denominato project e unatassonomia
project_category .post_type=project
. Comeposso aggiungere .html alpermalink dellepagine? Ora si collega a http://mywordpress.com/portfolio mentre desidero http://mywordpress.com/portfolio.html . Questo dovrebbe risolvereilprimoproblema.portfolio/(CATEGORY PATH FROM TOP TO CHILD)/post.html
. Sono ancorabloccato a questopunto. Penso che dovreiin qualchemodo aggiungere l'ultima categoria alpercorsoe passarla lungo project_category ,che dovrebbeportare a unfiletaxonomy.phpin cuipossoelaborarlo correttamente.%postname% .html
allafine di qualcosa.Spero cheilmioproblema sia chiaroe che ci siano sviluppatori coraggiosi chemi aiuteranno ad affrontare questoproblema chemi hagiàtenutoimpegnatoper quattrogiorni INTERI!