Hay una publicación anterior con un título similar, pero no se ve en WordPress 3.3, y eso es importante ya que 3.3 anuncia de manera interesante: "Use la estructura de enlace permanente de nombre de correo sin penalización de rendimiento"
El problema con Wordpress 3.2 y versiones anteriores era que primero buscaba los nombres de las páginas y luego 404. Primero no verificaba los tipos de publicaciones arbitrarias. 3.3, por otro lado, debe buscar tipos de publicaciones, luego páginas y finalmente 404 (ya que anuncia esta característica). Esto implica que los tipos de publicaciones personalizadas sin slug deberían ser simples , si no codificaron en post_type=post
alguna parte.
Sin embargo, todavía no puedo encontrar una solución específica 3.3.
Pregunta : ¿Cómo puedo definir la estructura de enlace permanente "/% postname% /" para cualquier tipo de publicación personalizada "xyz"?
Gracias.
fuente
Respuestas:
Esto no se hace fácilmente en WP 3.3 a menos que engañe a las reglas de reescritura para que estén en el lugar correcto y haga que wp_rewrite piense que se están utilizando reglas detalladas en el front end. La clase de abajo funciona.
fuente
¡Llaves santas del auto!
Creo que esto funciona. Casi funciona, es súper simple, solo una línea:PD: Si prueba esto en casa, después de agregar esta línea Vaya a "Configuración" -> "Enlaces permanentes" y Guardar cambios, se actualizan los enlaces permanentes.
Estaba leyendo el
register_post_type()
código fuente de WP y encontré una línea:No hace falta decirlo, pero sin babosa concluí que debería funcionar,
y lo hizo. ¡Incluso la edición de enlace permanente debajo del título en el editor funciona correctamente!Actualización: Esto rompe los enlaces permanentes de la página, de vuelta al tablero de dibujo ...
fuente
La respuesta de prettyboymp es casi la misma que recibí ayer, pero no estoy contento con eso. La respuesta de prettyboymp tiene un defecto, no funciona cuando /% postname% / se usa simultáneamente en múltiples tipos de publicaciones.
Aquí está mi respuesta, que también analiza la estructura actual y crea una variedad de tipos de publicaciones para respaldar. Sin embargo, también hay una falla en esto, si dos tipos de publicaciones tienen la misma babosa y ambas son /% postname% /, entonces muestra ambas.
fuente
Creé una solución y no pude encontrar un problema con ella. Intenta decirme si encuentras un problema
Cambie 'yemek' con su nombre de tipo de publicación.
fuente
Este enlace debería responder a su pregunta:
http://ottopress.com/2011/how-the-postname-permalinks-in-wordpress-3-3-work/
fuente
La respuesta más clara que se me ocurre para esto (estoy construyendo un complemento que realmente necesita un tipo de publicación personalizado sin ningún slug inicial) es usar una plantilla de página personalizada en lugar de usar un tipo de publicación personalizado.
Al hacer esto, su "tipo de publicación personalizada" puede tener URL como / lo que sea, sin tener que preocuparse de pisar la página o publicar enlaces permanentes.
Para hacer esto, terminé haciendo lo siguiente:
Esto me permitió:
Abra una lista de páginas que usan la plantilla de página usando WP_Query
Agregar procesamiento especial enganchando en add_meta_boxes para almacenar mis datos personalizados
Agregue mi plantilla personalizada a las que se muestran filtrando page_attributes_dropdown_pages_args, theme_page_templates, wp_insert_post_data y template_include. Consulte esta publicación sobre cómo agregar plantillas de página a un complemento
Los lados bajos
Por supuesto, si bien esto no pisotea la página o publica enlaces, tiene un par de desventajas obvias.
Sin archivo No tendrá un archivo (si lo desea), aunque eso se puede resolver creando otra plantilla de página para dibujar un archivo de todas las páginas usando su plantilla personalizada.
Administrado en páginas No obtienes la agradable navegación de la izquierda en el administrador que agrupa todo el tipo de publicación.
Esto podría resolverse parcialmente agregando un filtro a la lista de páginas (para permitirle filtrar por la plantilla de página utilizada), mostrando cualquier plantilla de página utilizada en una nueva columna, etc.
Dicho esto, quería algo que no hiciera que los usuarios se preguntaran por qué crearon una nueva página personalizada y descubrieron que ya no podían llegar a las páginas normales o que la nueva página personalizada hacía que desapareciera una página existente en su sitio.
Sé que no es una solución real , pero es una alternativa que funcionó muy bien para mis necesidades.
fuente