¿Quiero permitir comas en los nombres de etiquetas? Por ejemplo, "hello, world"
o "portland, or"
pero Wordpress sigue separándolos. Puedo hacerlo desde la página de categorías:
imagen http://img839.imageshack.us/img839/6869/picturepp.png
Y se muestra bien. Pero cualquier cosa agregada desde la barra lateral de publicaciones no aparece bien aquí:
imagen http://img52.imageshack.us/img52/4950/picture1oax.png
Aquí hay una discusión sobre esto: http://core.trac.wordpress.org/ticket/14691, pero parece que no se resolverá, al menos por un tiempo.
Mientras tanto, estoy buscando una solución más fácil que agregar categorías desde la página de categorías.
Intenté buscar complementos y no vi ninguno que pudiera ser útil. Hay algunos que tratan de reemplazar comas con otros caracteres cuando se muestra una lista de categorías o etiquetas, pero no veo ningún complemento que permita al usuario reemplazar el separador predeterminado.
No me importa si tengo que parchear el núcleo yo mismo. Idealmente, podría escribir un complemento, pero después de revisar parte del código, no puedo entender dónde se maneja esto.
¿Alguien tiene una solución o consejos sobre qué funciones y javascript para comenzar a hackear? No estoy seguro de dónde empezar a buscar en el código.
Respuestas:
No es necesario hackear el núcleo, gracias a: HOOKS.
Los ganchos permiten solucionar el problema con una buena combinación de
Aquí está el código:
Tal vez algunos detalles adicionales en la publicación de mi blog sobre ese tema también ayuden ... http://blog.foobored.com/all/wordpress-tags-with-commas/
Saludos, Andi
fuente
_x( ',', 'tag delimiter' )
para atrapar el delimitador real.Es posible y muy fácil guardar etiquetas con comas mediante programación.
Al llamar
wp_set_post_terms( $post_id, $terms, $taxonomy )
, si proporciona una cadena, se explotará en una matriz. Si proporciona su$terms
como una matriz, cada elemento de la matriz se proporcionará como un término propio sin dividirse en varios términos.Ambos
wp_insert_post
y posteriormente sewp_update_post
usanwp_set_post_terms
cuando$arg
tax_input
se establece.La mejor manera de crear términos sobre la marcha utilizando la interfaz de usuario del panel de WordPress, puede requerir que cree su propio cuadro de meta que envíe cualquier cadena incluyendo comas como un solo término. Algunos complementos, como ACF Pro, lo hacen de manera predeterminada cuando crea un campo personalizado para guardar la taxonomía, y selecciona cargar y asignar también los términos cuando se guardan.
Incluso cuando se guarda con una coma, cada parte de esos términos con comas puede aparecer como elementos separados al editar la publicación. En este caso, puede ser mejor desactivar la IU predeterminada y confiar en los meta cuadros personalizados. Esto se puede hacer usando las Opciones de pantalla al editar un tipo de publicación. Las taxonomías personalizadas también se pueden ocultar de la sección de edición rápida al registrarse.
fuente
add_filter( 'pre_tax_input', function( $tax_input ) { return (array) $tax_input; } );
sin embargo, solo le permitirá enviar un término a la vez.Puedes usar un filtro.
Por ejemplo, si desea Agregar una coma después de cada etiqueta en una nube de etiquetas, puede poner lo siguiente en sus funciones.php
fuente
Aquí está su solución de colocación. Preste atención a la línea 2614:
Dentro de wp-includes / taxonomy.php . Buena suerte hackeando el código. No hay ningún gancho. está codificado ... Lo siento. Creo que hackear el código es tu única opción por ahora.
fuente
Las comas en los nombres de las etiquetas no funcionarán correctamente porque, al agregar la etiqueta a una publicación, WordPress la analizará como palabras clave múltiples, rompiendo la coma.
Una solución simple:
Use
,
( el código HTML para la coma ) en lugar de una coma normal.Luego:
,
se mostrará como una buena coma dentro de las publicaciones, los títulos de las páginas de etiquetas y muchos otros lugares.,
, dentro de la interfaz de administración al escribir el nombre de la etiqueta.FYI, usando la entidad HTML,
,
no funciona.fuente