2017-08-14 6 views
1

Je parviens à afficher les attributs personnalisés mais ils sont affichés après les produits liés. Comment puis-je les faire apparaître avant?Afficher les attributs personnalisés avant les upsells de WooCommerce (produits liés)

A gauche: ce que j'ai actuellement, à droite le résultat souhaité

Merci enter image description here

+0

@LoicTheAztec, merci pour vos conseils – pipelian

+0

Ok .. la position est compris, mais maintenant je ne peux pas afficher l'attribut personnalisé du poste, j'ai eu cette pièce de code sur single-product.php que j'avais déplacé vers le fichier mu functions.php: add_action ('woocommerce_after_single_product_summary', 'custom_code_after_single_product_summary', 12); function code_personnalisé_after_single_product_summary() { global $ product; // ===> Votre code va ici \t echo '

ID du produit:'. get_post_meta ($ post-> ID, 'TABLE', true). '

'; } – pipelian

Répondre

1

Si vous regardez le modèle de WooCommerce-simple contenu product.php vous verrez que:

/** 
* woocommerce_after_single_product_summary hook. 
* 
* @hooked woocommerce_output_product_data_tabs - 10 
* @hooked woocommerce_upsell_display - 15 
* @hooked woocommerce_output_related_products - 20 
*/ 
do_action('woocommerce_after_single_product_summary'); 

cela signifie que dans le crochet woocommerce_after_single_product_summary, ce qui suit est affiché:

  1. d'abord (avec une priorité de 10) Les onglets de produits,
  2. ensuite (avec une priorité de 15) Les upsells,
  3. Et pour finir (avec une priorité de 20) Les produits connexes.

Donc, si vous voulez afficher votre code personnalisé entre les onglets de produits et les gammes supérieures, vous aurez besoin d'utiliser une fonction personnalisée accroché dans le crochet d'action woocommerce_after_single_product_summary avec une priorité de 11 à 14

vous pouvez le faire de cette façon:

add_action('woocommerce_after_single_product_summary', 'custom_code_after_single_product_summary', 12); 
function custom_code_after_single_product_summary() { 
    global $product; 

    // Set here your post "meta_key" for your custom product attribute 
    $meta_key1 = 'pa_when-to-use'; 

    // Your code (related to your comment): 
    echo get_post_meta($product->get_id(), $meta_key1, true); 
} 

code va dans le fichier function.php de votre thème enfant actif (ou le thème) ou encore dans un fichier de plug-in.

testé et fonctionne sur WooCommerce 3 + ...

+0

Ok .. la position est comprise, mais maintenant je ne peux pas afficher l'attribut personnalisé de la poste, j'ai eu ce morceau de code sur single-product.php: ID, 'TABLE', vrai); ?>, où 'TABLE' est le nom de l'attribut personnalisé – pipelian

+0

Merci beaucoup! – pipelian