IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WordPress PHP Discussion :

modifier une fonction php de woocommerce proprement


Sujet :

WordPress PHP

  1. #1
    Membre averti
    Femme Profil pro
    devellopement sur temps libre
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : devellopement sur temps libre
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut modifier une fonction php de woocommerce proprement
    Bonjour,

    alors j'explique mon soucis par défaut woocommerce affiche les catégories dans des balises "<li> " juste avant les produit j'ai donc trouver la fonction qui recueille les catégories et les enfermer dans un div dans la fonction qui ce trouve dans woocommerce>include>wc-template-functions.php la fonction est la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
     
    		function woocommerce_output_product_categories( $args = array() ) {
    		$args = wp_parse_args( $args, array(
    			'before'    => '',
    			'after'     => '',
    			'parent_id' => 0,
    		) );
     
    		$product_categories = woocommerce_get_product_subcategories( $args['parent_id'] );
     
    		if ( ! $product_categories ) {
    			return false;
    		}
     
    		echo $args['before']; // WPCS: XSS ok.
     
    		foreach ( $product_categories as $category ) {
    			wc_get_template( 'content-product_cat.php', array(
    				'category' => $category,
    			) );
    		}
     
    		echo $args['after']; // WPCS: XSS ok.
     
    		return true;
    	}
    Et je souhaiterai le modifié comme ca
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    function storefront_woocommerce_output_product_categories ( $args = array() ) {
        $args = wp_parse_args( $args, array(
          'before'    => '',
          'after'     => '',
          'parent_id' => 0,
        ) );
     
        $product_categories = woocommerce_get_product_subcategories( $args['parent_id'] );
     
        if ( ! $product_categories ) {
          return false;
        }
     
        echo $args['before']; // WPCS: XSS ok.
    echo "<div>";
        foreach ( $product_categories as $category ) {
          wc_get_template( 'content-product_cat.php', array(
            'category' => $category,
          ) );
        }
    echo "</div>";
        echo $args['after']; // WPCS: XSS ok.
     
        return true;
      }
    mais je n'y arrive pas quelqu'un pourrait-il m'aidez

    merci d'avance

  2. #2
    Membre chevronné Avatar de Inazo
    Profil pro
    Gérant - société de développement web
    Inscrit en
    Avril 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Gérant - société de développement web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2007
    Messages : 417
    Par défaut
    Bonjour,

    En fait tu n'as pas besoin de venir casser le core de la fonction, mais juste de passer en paramètres tes "div" dans le before et after de $args.

    Sinon regarde si il n'y a pas possibilité d'ajouter un filter sur la fonction avec WordPress pour pouvoir modifier comme tu le souhaites.

    @+

  3. #3
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    vous pouvez ajouter ces balises "div" à cet endroit en utilisant ce code dans le fichier "functions.php" du thème enfant :



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    add_action("after_setup_theme", function () {
     
    	remove_filter("woocommerce_product_loop_start", "woocommerce_maybe_show_product_subcategories");
     
     
    	add_filter("woocommerce_product_loop_start", function ($loop_html) {
     
    		$loop_html .= "<div class=\"listeCategories\">";
     
    		$loop_html = woocommerce_maybe_show_product_subcategories($loop_html);
     
    		$loop_html .= "</div>";
     
     
    		return $loop_html;
     
    	});
     
     
    });

  4. #4
    Membre averti
    Femme Profil pro
    devellopement sur temps libre
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : devellopement sur temps libre
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    Merci a vous- le petits bout de code marche nickel.
    Une petite question qui a rien à voir peut que vous allez préférer que j'ouvre un autre post mais connaissez vous des ouvrages(en français) me permettant d’acquérir les compétences nécessaire à la programmation dans wordpress j'ai déjà des connaissance en php sql php html que j'ai appris il y a plusieurs année maintenant mais j'avoue ramer complétement avec wordpresse

  5. #5
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 666
    Par défaut
    vous cherchez des renseignements au sujet de quelle partie de WordPress ?
    vous trouverez beaucoup d'informations techniques et d'exemples dans le Codex :
    https://codex.wordpress.org/

  6. #6
    Membre averti
    Femme Profil pro
    devellopement sur temps libre
    Inscrit en
    Mars 2018
    Messages
    27
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : devellopement sur temps libre
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Mars 2018
    Messages : 27
    Par défaut
    je cherche surtout à mieux comprendre comment fonctionne son cœur de façon a intervenir de façon plus rapide lors de modification un peu complexe(devellopement de plugin, de theme etc, ou de simple problème comme l'actuel) et mon niveau d'anglais n'étant pas au top je préférerai des ouvrages en français

Discussions similaires

  1. Réponses: 7
    Dernier message: 29/05/2007, 15h11
  2. demande d'une fonction php
    Par carmen256 dans le forum Langage
    Réponses: 5
    Dernier message: 20/01/2006, 19h52
  3. Réponses: 6
    Dernier message: 08/01/2006, 12h49
  4. Modifier un champs texte avec une fonction PHP (calcul TVA)
    Par Stella2809 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 22/11/2005, 00h55
  5. Réponses: 3
    Dernier message: 06/11/2005, 18h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo