Edite o número do widget da nuvem de tags

5

Por padrão, o widget da nuvem de tags WordPress tem uma quantidade definida de 45 tags para exibir. Isso pode ser visto no arquivo wp-includes/category-template.php .

Por padrão, o plug-in WooCommerce que eu instalei e o widget de nuvem de tags de produtos também se parecem com isso.

Como modifico esse valor de dentro do meu arquivo wp-content/themes/functions.php para exibir, por exemplo, apenas 15 tags de produto?

Aqui está o que eu tenho até agora, mas não está funcionando.

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' );

Ao alterar o número no arquivo wp-includes.php/category-template.php do núcleo para 15, no entanto, ele funciona.

Obviamente, não desejo editar nenhum arquivo principal e estou procurando uma solução alternativa.

Obrigado.

    
por user1752759 20.07.2014 / 18:07

3 respostas

6

Adicione o seguinte ao function.php do seu tema. Os valores padrão são mostrados abaixo, exceto a alteração do 'número' de 45 para 15. Somente os valores alterados precisam ser incluídos, para que você possa deixar os valores padrão ou remover / comentar essas linhas.

Para o widget 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 o widget de tags de produto 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' );
    
por Gabriel 20.07.2014 / 18:32
0

Este tópico foi um ponto de partida hoje. As alterações que fiz no meu site podem estar correlacionadas com as que você faria no WooCommerce. Eu queria que os termos de pesquisa mais úteis fossem exibidos na Nuvem de tags de produto do que os antigos. Meu site tem WP E-Commerce, versão antiga. Nenhuma resposta apareceu em outro lugar, então fui para o arquivo wp-includes/category-template.php , procurei por 45, mudei para 60 e testei. Funcionou para o Blog Tag Cloud, mas não para o produto Tag Cloud. O código ficou assim:

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
    );

Nos arquivos do WP E-Commerce, encontrados em wp-content/plugins/wp-e-commerce/tagging_functions.php , uma seção similar (pesquisada por 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' => ''

Alterado de 45 a 60, salvo e testado. Funcionou. A nuvem de tags aumentou para 60.

Alterei o número para 45 no Blog Cloud e testei novamente. O Blog Cloud tem 45 termos agora e o Product Tag Cloud tem 60. Nenhum conflito aparente.

Eu tenho editado as tags em cada produto para remover as antigas e enfatizar as novas. A nuvem está se ajustando gradualmente - removendo alguns termos, adicionando outros.

    
por KCR 06.01.2017 / 03:45
0

Eu encontrei uma solução simples, coloque este gancho em seu arquivo function.php . Isso funciona bem para mim. Você apenas altera o valor do parâmetro numérico de acordo com sua necessidade.

//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;
}

Aqui está a fonte enlace

    
por Vijay Dhanvai 25.03.2017 / 15:32