Editar número de widget de nube de etiquetas

5

De forma predeterminada, el widget de nube de etiquetas WordPress tiene una cantidad establecida de 45 etiquetas para mostrar. Esto se puede ver en el archivo wp-includes/category-template.php .

Por defecto, el complemento WooCommerce que he instalado, y su widget de nube de etiquetas de productos también se parece a esto.

¿Cómo modifico esta cantidad dentro de mi archivo wp-content/themes/functions.php para mostrar, por ejemplo, solo 15 etiquetas de producto?

Esto es lo que tengo hasta ahora, pero no funciona.

function custom_tag_cloud_widget($args) {
    $args['smallest'] = 8; //smallest tag
    $args['largest'] = 22; //largest tag
    $args['number'] = 15; //adding a 0 will display all tags
    $args['unit'] = 'pt'; //tag font unit
    return $args;
}

add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );

Sin embargo, al cambiar el número dentro del archivo core wp-includes.php/category-template.php a 15, funciona.

Obviamente, no deseo editar ningún archivo principal y estoy buscando una solución alternativa.

Gracias.

    
pregunta user1752759 20.07.2014 - 18:07

3 respuestas

6

Agrega lo siguiente a function.php de tu tema. Los valores predeterminados se muestran a continuación, excepto el cambio de 'número' de 45 a 15. Solo se deben incluir los valores modificados, por lo que puede dejar los valores predeterminados o eliminar / comentar esas líneas.

Para el widget de Wordpress Tag Cloud:

function custom_tag_cloud_widget() {
    $args = array(
        'smallest' => 8, 
        'largest' => 22, 
        'unit' => 'pt', 
        'number' => 15,
        'format' => 'flat', 
        'separator' => "\n", 
        'orderby' => 'name', 
        'order' => 'ASC',
        'exclude' => '', 
        'include' => '', 
        'link' => 'view', 
        'taxonomy' => 'post_tag', 
        'post_type' => '', 
        'echo' => true
    );
    return $args;
}
add_filter( 'widget_tag_cloud_args', 'custom_tag_cloud_widget' );

Para el widget de etiquetas de productos de WooCommerce:

function custom_woocommerce_tag_cloud_widget() {
    $args = array(
        'number' => 15,
        'taxonomy' => 'product_tag'
    );
    return $args;
}
add_filter( 'woocommerce_product_tag_cloud_widget_args', 'custom_woocommerce_tag_cloud_widget' );
    
respondido por el Gabriel 20.07.2014 - 18:32
0

Este hilo fue un punto de partida hoy. Los cambios que realicé en mi sitio web pueden estar relacionados con los que haría en WooCommerce. Quería que aparecieran más términos de búsqueda útiles en la Nube de etiquetas de productos que en los anteriores. Mi sitio web tiene WP E-Commerce, versión antigua. No se encontraron respuestas en ninguna otra parte, por lo que fue al archivo wp-includes/category-template.php , se buscó 45, se cambió a 60 y se probó. Funcionó para Blog Tag Cloud, pero no para Product Tag Cloud. El código se veía así:

function wp_tag_cloud( $args = '' ) {
    $defaults = array(
        'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45,
        'format' => 'flat', 'separator' => "\n", 'orderby' => 'name', 'order' => 'ASC',
        'exclude' => '', 'include' => '', 'link' => 'view', 'taxonomy' => 'post_tag', 'echo' => true
    );

En los archivos de comercio electrónico de WP, que se encuentran en wp-content/plugins/wp-e-commerce/tagging_functions.php , una sección similar (se buscaron 45).

function product_tag_cloud(){
    product_tag_init();
    $defaults = array(
        'smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 60,
        'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC',
        'exclude' => '', 'include' => ''

Cambió de 45 a 60, guardado y probado. Funcionó. La nube de etiquetas aumentó a 60.

Cambié el número de nuevo a 45 en el Blog Cloud y lo probé de nuevo. Blog Cloud tiene 45 términos ahora, y la Nube de etiquetas de producto tiene 60. No hay conflictos aparentes.

He estado editando las etiquetas en cada producto para eliminar las antiguas y enfatizar las nuevas. La nube se está ajustando gradualmente, eliminando algunos términos y agregando otros.

    
respondido por el KCR 06.01.2017 - 03:45
0

Encontré una solución simple, coloque este enlace en su archivo function.php . Funciona bien para mí. Solo cambia el valor del parámetro del número de acuerdo a su necesidad.

//Register tag cloud filter 
add_filter('widget_tag_cloud_args', 'tag_widget_limit');

//Limit number of tags inside widget
function tag_widget_limit($args){

 //Check if taxonomy option inside widget is set to tags
 if(isset($args['taxonomy']) && $args['taxonomy'] == 'post_tag'){
  $args['number'] = 10; //Limit number of tags
 }

 return $args;
}

Aquí está la fuente enlace

    
respondido por el Vijay Dhanvai 25.03.2017 - 15:32

Lea otras preguntas en las etiquetas