web-dev-qa-db-fra.com

Modifier le numéro de widget du nuage de tags

Par défaut, le widget nuage WordPress tag comporte un nombre défini de 45 tags à afficher. Ceci peut être vu dans le fichier wp-includes/category-template.php.

Par défaut, le plug-in WooCommerce que j'ai installé et son widget de nuage de tags de produits ressemblent également à ceci.

Comment modifier ce montant dans mon fichier wp-content/themes/functions.php pour afficher, par exemple, seulement 15 balises de produit?

Voici ce que j'ai jusqu'à présent, mais cela ne fonctionne pas.

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

Lorsque vous modifiez le numéro dans le fichier wp-includes.php/category-template.php de base à 15, cela fonctionne.

De toute évidence, je ne souhaite éditer aucun fichier de base et je recherche une solution alternative.

Merci.

5
user1752759

Ajoutez les éléments suivants au fichier function.php de votre thème. Les valeurs par défaut sont indiquées ci-dessous, à l'exception de la modification du nombre entre 45 et 15. Seules les valeurs modifiées doivent être incluses. Vous pouvez donc laisser les valeurs par défaut ou supprimer/commenter ces lignes.

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

Pour le widget Tags de produit 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' );
6
Gabriel

Ce fil était un point de départ aujourd'hui. Les modifications que j'ai apportées à mon site Web peuvent être en corrélation avec celles que vous feriez dans WooCommerce. Je souhaitais que des termes de recherche plus utiles apparaissent dans le nuage de tags de produit que les anciens. Mon site Web contient WP E-Commerce, ancienne version. Aucune réponse n’a été trouvée ailleurs, nous sommes donc allés dans le fichier wp-includes/category-template.php, recherché 45, remplacé par 60 et testé. Cela a fonctionné pour Blog Tag Cloud, mais pas pour le produit Tag Cloud. Le code ressemblait à ceci:

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

Dans WP fichiers de commerce électronique, trouvés dans wp-content/plugins/wp-e-commerce/tagging_functions.php, une section similaire (recherche 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' => ''

Changé de 45 à 60, enregistré et testé. Ça a marché. Le nuage de tags a augmenté à 60.

J'ai changé le nombre à 45 dans Blog Cloud et l'ai testé à nouveau. Blog Cloud a 45 termes maintenant, et le produit Tag Cloud en a 60. Pas de conflits apparents.

J'ai modifié les balises de chaque produit pour supprimer les anciennes et mettre l'accent sur les nouvelles. Le nuage s'ajuste progressivement - en supprimant certains termes et en ajoutant d'autres.

0
KCR

J'ai trouvé une solution simple, placez ce crochet dans votre fichier function.php . Ça fonctionne bien pour moi. Vous venez de modifier la valeur du paramètre nombre en fonction de vos besoins.

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

Voici la source https://w3reign.com/change-tag-cloud-widget-limit-in-wordpress/

0
Vijay Dhanvai