Je crée une page de boutique basée sur Wordpress/Woocommerce et je souhaite modifier la logique du thème woocommerce standard, en particulier sur la page produit:
Plus précisément, je veux ajouter un sous-titre de produit qui devrait être affiché juste après le titre du produit. Le sous-titre du produit doit être modifiable en tant que champ de saisie via l'éditeur de produit Woocommerce standard.
Pour y parvenir, j'utilise actuellement le plugin "WooCommerce Product Subtitle" https://de.wordpress.org/plugins/wc-product-subtitle/
Auparavant, j'ai déjà modifié les crochets du modèle de produit woocommerce afin que certains éléments de la page s'affichent dans un ordre différent.
Dans mon functions.php, j'ai écrit:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_excerpt', 20 );
remove_action( 'woocommerce_before_single_product_summary', 'woocommerce_show_product_images', 20 );
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_product_data_tabs', 10 );
remove_action( 'woocommerce_after_single_product_summary', 'woocommerce_output_related_products', 20 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
remove_action( 'woocommerce_single_product_summary', 'WooCommerce_Product_Subtitle' );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_price', 10 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 30 );
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 40 );
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_template_single_title', 0 );
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_template_single_price', 2 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_show_product_images', 0 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_add_to_cart', 1 );
add_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_meta', 2 );
add_action( 'woocommerce_single_product_summary', 'the_content', 20 );
Comme j'ai changé l'ordre du titre du produit:
remove_action( 'woocommerce_single_product_summary', 'woocommerce_template_single_title', 5 );
add_action( 'woocommerce_before_single_product_summary', 'woocommerce_template_single_title', 0 );
J'ai besoin du sous-titre pour refléter les changements. Le problème que j'ai est que le sous-titre du produit ne s'affiche pas à la position que je veux qu'il affiche. Au moment où le sous-titre est affiché après le titre du produit supprimé et non après celui nouvellement ajouté
Je ne comprends pas très bien comment ajouter_action ou supprimer_action pour le sous-titre ou où trouver les hooks/actions/classes correspondants.
De l'aide serait grandement appréciée!!
C'est ce que j'ai utilisé pour afficher la catégorie de produits en sous-titre sur ma page d'archive de boutique
add_action( 'woocommerce_shop_loop_item_title', 'woocommerce_shop_loop_item_subtitle', 20 );
function woocommerce_shop_loop_item_subtitle() {
global $post, $product;
$categ = $product->get_categories();
echo $categ;
}
et c'est ce que j'ai utilisé pour l'afficher sur la seule page du produit
add_action( 'woocommerce_single_product_summary', 'woocommerce_single_item_subtitle', 5 );
function woocommerce_single_item_subtitle() {
global $post, $product;
$categ = $product->get_categories();
?>
<div class="cat-subtitle">
<?php
echo "by " ,$categ;
?>
</div>
<?php
}
Vous pouvez modifier ce qui est répété pour afficher le champ souhaité.