¿Cómo cambiar la estructura del enlace permanente para el tipo de publicación personalizada y sus taxonomías?
-
-
La solución que dien la últimapregunta debería haberfuncionado deesamanera,si laimplementó correctamente.Lo únicoes quenopuede obtener 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í,peroestababloqueadoen una rutaespecífica,por lo que solo categoría/subcategoría/página,mientras quepuede queno haya subcategorías oinclusomás.Estoesmás dinámico.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
-
Ono loimplementé correctamente;)Or I did not implement it properly ;)
- 0
- 2011-09-20
- Mark
-
3 respuestas
- votos
-
- 2011-09-20
Ok,creo quepodríatener una solución.Notengoidea de siestaes laforma correcta de lograrlo,peropor ahoraes lo único queparecefuncionar.
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; }
-
Elfiltro de solicitudes unabuenaforma defiltrar siestamospreguntando una categoría (término de hecho) y unapublicación.Permite agregar solo una regla de reescritura y obtener lapágina depublicación,ya sea que lapublicaciónestéen una categoría,una subcategoría onoestéen absoluto.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
2métodos diferentes:
* Consulte lasnotas alfinal deestapublicación.
porejemplo,deseatener dichaestructura deenlacepermanente:
/MAIN_CATEGORY/SUB_CAT_2/Another_SUBCAT/my-post"Alprincipio ,esposible que debaestablecerenlacespermanentesen /% category%/%postname% . Entonces ...
MÉTODO 1:
cree categorías ESTÁNDAR (
MAIN_CATEGORY
,SUB_CAT_1
,yetc.
),y registreel CUSTOM POST,incluidoesteparámetro:'taxonomías'=> array ('categoría' ..)
y useestos códigospara cambiar losenlacespermanentes: https://wordpress.stackexchange.com/a/195643/33667
Luego,después depublicar una POST PERSONALIZADA (si se adjuntaen una categoría),la URL será:
example.com/MAIN_CATEGORY/SUB_CAT_1/my-post
MÉTODO 2:
(psestemétodo no se recomienda siplaneaspublicar cientos omiles depublicaciones)
registreel CUSTOM POST (llamado
MAIN_CATEGORY
),incluyendoestosparámetros:"supports"=> array ('atributos depágina' ...... "jerárquico"=> cierto,
luego,publiquepublicacionespersonalizadas comoesta:
(es decir,publique varias publicaciones personalizadas,llamadasSUB_CAT_2,SUB_CAT_1 ..
. Después deeso,cuandopublique otrapublicación,peroelijaSUB_CAT_2
comopadre.
PD.
1) Sies unnovato,revise: Registrarse CUSTOM POST y Registro de CUSTOM POST con TAXONOMY
2) sinecesita lafunción debúsqueda de subniveles,utilice consulta debúsquedapersonalizada2 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
Después degolpearme la cabeza durante horas,encontréeste complementomuy útil.
https://wordpress.org/plugins/custom-post-type-enlacespermanentes/
A continuación semuestra la captura depantalla de las opciones que ofrece.
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.
Estaes unanuevapublicación de unapregunta anterior quetenía,perome gustaríaentraren más detalles ahoraparapoder resolverestopor completo.
Denuevo,con laspublicaciones (normales),cambiarelenlacepermanenteestanfácil comoir a Configuración> Enlacepermanente y cambiarlo a cualquier cosa que desee,como
%category%/%postname%.html
. Todoestofunciona. Si soloestofueratanfácilparaeltipo depublicaciónpersonalizada y sustaxonomíastambién.Entonces,estoes lo queme gusta lograr.
Lo que obtuve hasta ahoraes lo siguiente:
custom_post_type
llamado proyecto y unataxonomy
project_category .post_type = project
. ¿Cómopuedo agregar .html alenlacepermanente de laspáginas? Ahora se vincula a http://mywordpress.com/portfolio mientras yo quiero http://mywordpress.com/portfolio.html . Esto debería resolverelprimerproblema.portfolio/(CATEGORY PATH FROM TOP TO CHILD)/post.html
. Todavíaestoyestancadoen estepunto. Creo que de algunamanera debería agregar la última categoría a la ruta ypasarla a lo largo de la categoría_proyecto ,lo que debería llevar a un archivotaxonomy.php dondepuedoprocesarlo correctamente.%postname%.html
alfinal de algo.Espero quemi problemaesté claro y que haya desarrolladores valientes queme ayudarán a abordaresteproblema que yame hamantenido ocupado durante cuatro días COMPLETOS.