en mi tema quiero definir una serie de tipos de publicaciones personalizadas y taxonomías personalizadas, cada una con su propia babosa personalizada; el idioma base de mi tema es el inglés, por lo tanto, las babosas estarán en inglés
por ejemplo, al definir el slug de mensajes personalizados tipo "producto" args:
'rewrite' => array( 'slug' => 'product' ),
¿Hay alguna manera de traducir el "slug" a través de archivos po / mo? puedo ponerlo como:
'rewrite' => array( 'slug' => __('product', 'mytextdomain') )
o no va a funcionar? ¿Cuál es la práctica actual para localizar babosas?
prensa
con un slug establecido enprensa
. Usando WPML, la babosa de la página traducida espress
como no puede ser deprensa
nuevo: / es / press / que no muestra nada (tenga en cuenta que ahora al hacer clic en el enlace ES no lo regresa a / prensa /). PERO, si visitas / es / prensa / funciona ...Respuestas:
No trataría de localizar tus babosas. En cambio, ¿por qué no dar a sus usuarios la opción de cambiarlos agregando otro campo a la página de configuración de enlace permanente?
Conéctate
load-options-permalink.php
y configura algunas cosas para capturar los$_POST
datos y guardar tu babosa. Agregue también un campo de configuración a la página.Luego, la función de devolución de llamada para el campo de configuración:
Luego, cuando registres tu tipo de publicación, toma la babosa con
get_option
. Si no está allí, use su valor predeterminado.Aquí está la parte del campo de configuración como complemento https://gist.github.com/1275867
EDITAR: otra opción
También puede cambiar la babosa en función de lo que se define en la
WPLANG
constante.Simplemente escriba una función rápida que contenga datos ...
Luego obtenga la babosa donde registra su tipo de publicación personalizada.
La mejor opción, IMO, sería darle al usuario una opción y proporcionar valores predeterminados sólidos:
fuente
wpse30021
?Si eso no funciona ¿Por qué no simplemente lo haces?
fuente
Estoy haciendo exactamente eso en un tema que estamos desarrollando. Está disponible en 5 idiomas distintos, y cada idioma tiene un conjunto traducido de categorías. El primer componente de la URL en el tema se analiza para determinar qué idioma se utiliza, en formato de idioma del país:
Y luego las categorías traducidas se analizan como componentes adicionales de la URL.
La URL se analiza en la
parse_request
fase:Este ejemplo carece de las verificaciones necesarias, pero solo se entiende como un ejemplo.
Hay inconvenientes en este enfoque, por supuesto, pero permite URL naturales en todos los idiomas. Los principales inconvenientes que veo son:
1) No utiliza el mecanismo de enlace permanente. Es probable que esto se extienda para que se generen las reglas de enlace permanente adecuadas para todos los idiomas y parse_request no sea necesario, pero hacerlo para todos los idiomas implicaría cargar un archivo MO después de otro en un bucle, y no saber qué tan bien apoyado está eso.
2) Si un traductor cambia una babosa, los enlaces se invalidan.
fuente
Podrías probar esto en tu
functions.php
como se ve aquí
fuente
Yo recomendaría no hacer que las babosas sean traducibles .
La traducción es para el contenido del sitio orientado al usuario . Las babosas se usan internamente y solo son marginalmente "públicas" a través de reescrituras de URL y URL tampoco deben ser traducibles .
Entonces: deja tus babosas en paz, como las definiste. Solo haga cadenas traducibles que estén destinadas al consumo público .
fuente