Étiqueté : 

4 sujets de 1 à 4 (sur un total de 4)
  • Auteur
    Messages
  • #128574
    Yoann AVENEL
    Participant
    Points: 14 pts

    Bonjour,

    J’aimerai que mes produits soit ordonnés selon un de leurs attributs, connaissez-vous un plugin capable de faire cela ?
    J’ai essayé de modifier le fichier function.php avec un “pa_attribut-name”, ou

     $args_sort_cw['orderby'] = 'meta_value_num';
    
    $args_sort_cw['order'] = 'desc';
    
    $args_sort_cw['meta_key'] = 'attribut-name'; 

    mais je n’arrive pas à modifier l’ordre de tri.
    Auriez vous des pistes pour m’aider ?
    Merci d’avance

    depanagewp
    #128578
    Guy
    Participant
    Points: 5,495 pts
    ModérateurCertifiéFreelance
    Membre 2 étoiles

    Bonjour,

    Une solution non, une piste peut-être 😉

    https://www.cloudways.com/blog/woocommerce-product-sort-and-display/

     

    Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂

    Avant d'appeler à l'aide: Dépannage Woocommerce

    Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !

    depanagewp
    #128581
    Yoann AVENEL
    Participant
    Points: 14 pts

    Merci pour votre retour Guy,

    J’avais testé leur code, mais je dois mal l’intégrer je suppose..

    J’ai deux attributs de tri possible “connexion-type” et “material”
    J’ai donc testé de mettre ce code dans mon fichier function.php :

    function cw_add_postmeta_ordering_args( $args_sort_cw ) {
      $cw_orderby_value = isset( $_GET['orderby'] ) ? wc_clean( $_GET['orderby'] ) :
            apply_filters( 'woocommerce_default_catalog_orderby', get_option( 'woocommerce_default_catalog_orderby' ) );
      switch( $cw_orderby_value ) {
        case 'material':
          $args_sort_cw['orderby'] = 'meta_value_num';
          $args_sort_cw['order'] = 'desc';
          $args_sort_cw['meta_key'] = 'material';
          break;
           case 'connexion-type':
                $args_sort_cw['orderby'] = 'meta_value';
                $args_sort_cw['order'] = 'asc';
                $args_sort_cw['meta_key'] = 'connexion-type';
                break;
      }
      return $args_sort_cw;
    }
    add_filter( 'woocommerce_get_catalog_ordering_args', 'cw_add_postmeta_ordering_args' );
    function cw_add_new_postmeta_orderby( $sortby ) {
       $sortby['connexion-type'] = __( 'Sort By Connexion Type', 'woocommerce' );
       $sortby['material'] = __( 'Sort By Material', 'woocommerce' );
       return $sortby;
    }
    add_filter( 'woocommerce_default_catalog_orderby_options', 'cw_add_new_postmeta_orderby' );
    add_filter( 'woocommerce_catalog_orderby', 'cw_add_new_postmeta_orderby' );

    J’ai également tenté de rajouter :

    function cw_shop_display() {
      global $product;
        $connexion_type = get_post_meta( $product->id, 'connexion-type', true );
        $material = get_post_meta( $product->id, 'material', true );
       if ( ! empty( $connexion_type ) ) {
            echo '
    Connexion type : ' . $connexion_type . '
    '; } if ( ! empty( $material ) ) { echo '
    Material : ' . $material . '
    '; } if ( $product->get_sku() ) { echo '
    SKU: ' . $product->get_sku() . '
    '; } } add_action( 'woocommerce_after_shop_loop_item', 'cw_shop_display', 9 );

    Mais quand je sélectionne “Sort By Connexion Type”/”Sort By Material” l’ordre ne change pas, et en réactualisant la page j’ai le message “Aucun produit ne correspond à votre sélection.”..
    J’ai du mal à comprendre si le problème viens de ma manière d’intégrer le code ou si cela viens du code en lui même..

    depanagewp
    #128591
    Guy
    Participant
    Points: 5,495 pts
    ModérateurCertifiéFreelance
    Membre 2 étoiles

    Euh là, il va falloir attendre qu’un développeur veuille bien passer…

    Je vois seulement 'meta_value_num'
    num suppose des nombres donc à mon avis c’est à modifier

    A part ça regarde si ceci peut t’inspirer:
    https://codex.wordpress.org/Class_Reference/WP_Query#Order_.26_Orderby_Parameters

     

    Content(e) de mon aide ? Vous pouvez m'offrir un café ! 🙂

    Avant d'appeler à l'aide: Dépannage Woocommerce

    Vous manquez de trafic ? Payez le prix d'un seul backlink et obtenez-en beaucoup plus !

    depanagewp
    1 utilisateur a remercié l'auteur de ce message.
4 sujets de 1 à 4 (sur un total de 4)
  • Vous devez être connecté pour répondre à ce sujet.