WordPress - Quitar comas y la "y" en listado de taxonomias de un Custom Post Type

 
Vista:
Imágen de perfil de Edwing

Quitar comas y la "y" en listado de taxonomias de un Custom Post Type

Publicado por Edwing (6 intervenciones) el 28/02/2018 01:24:20
Buen día, agradezco si me puede ayudar con los siguiente, he creado un CPT con dos taxonomías que quiero listar para mostrar como una "nube de tags", lo he logrado con este código:
1
2
3
4
5
6
7
8
9
10
<?php
	the_taxonomies(array(
		'post' => 0,
		'before' => '',
		'sep' => '',
		'after' => '',
		'template' => '<h2 class="title-2">%s</h2> %l',
		'term_template' => '<a class="call-to-action product-show__link" href="%1$s">%2$s</a>'
	));
?>
Que me genera este resultado:
pic

Como podrán notar donde subrayé con rojo, las palabras están separadas por comas, y la última además tiene la letra "y" de manera automática; quisiera poder generar mi propio separador o también hacer que no tuviese ninguno, he buscado y no he encontrado la manera (si le doy un separador en el código donde dice 'sep'=>'', solo se lo agrega pero las comas y la "y" siguen ahí); de nuevo gracias a quien pueda colaborarme.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Personalizar separador y eliminar comas en lista de taxonomías

Publicado por Alejandro (169 intervenciones) el 10/04/2024 00:15:25
Buen día, Edwing.

Para personalizar el separador y eliminar la coma y la "y" en la lista de taxonomías, puedes utilizar una función personalizada en lugar de la función the_taxonomies(). Aquí te muestro cómo hacerlo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$taxonomies = get_taxonomies(array('post'), 'objects'); // Reemplaza 'post' con el nombre de tu CPT
 
foreach ($taxonomies as $taxonomy) {
    $terms = get_the_terms(get_the_ID(), $taxonomy->name);
 
    if ($terms && !is_wp_error($terms)) {
        echo '<h2 class="title-2">' . $taxonomy->label . '</h2>';
 
        $term_links = array();
 
        foreach ($terms as $term) {
            $term_links[] = '<a class="call-to-action product-show__link" href="' . get_term_link($term) . '">' . $term->name . '</a>';
        }
 
        echo implode(' | ', $term_links); // Reemplaza '|' con el separador que deseas utilizar
    }
}
?>

En este código, hemos utilizado la función get_taxonomies() para obtener todas las taxonomías asociadas a tu CPT. Luego, recorremos cada taxonomía y obtenemos los términos asociados a cada una utilizando get_the_terms(). Finalmente, generamos los enlaces de los términos y los mostramos con el separador personalizado utilizando implode().

Recuerda reemplazar 'post' con el nombre de tu CPT y ' | ' con el separador que deseas utilizar.

Espero que esto te ayude a personalizar la lista de taxonomías en tu "nube de tags". ¡Buena suerte!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar