Füge meine eigene function zu bestehenden WooCommerce-Hooks hinzu

Ich versuche mein WooCommerce-Kindthema mit dem übergeordneten Theme Storefront anzupassen. Das übergeordnete Thema erstellt eine einzelne Produktvorlage (content-single.php) wie folgt:

/** * @hooked storefront_post_header - 10 * @hooked storefront_post_meta - 20 * @hooked storefront_post_content - 30 */ do_action( 'storefront_single_post' ); 

und diese functionen sind angehängt, um die Seite aufzubauen (/inc/structure/hooks.php):

 add_action( 'storefront_single_post', 'storefront_post_header', 10 ); add_action( 'storefront_single_post', 'storefront_post_meta', 20 ); add_action( 'storefront_single_post', 'storefront_post_content', 30 ); 

Als Referenz ist dies die function storefront_post_header (inc / structure / post.php):

 if ( ! function_exists( 'storefront_post_header' ) ) { /** * Display the post header with a link to the single post * @since 1.0.0 */ function storefront_post_header() { ?> 
<?php if ( is_single() ) { storefront_posted_on(); the_title( '

', '

' ); } else { if ( 'post' == get_post_type() ) { storefront_posted_on(); } the_title( sprintf( '

', esc_url( get_permalink() ) ), '

' ); } ?>
<?php }

Ich möchte meine function storefront_post_header_categories (unten) nach storefront_post_header ausgeben. Ich dachte, ich wäre in der Lage, zu meinem Kind theme functions.php Folgendes hinzuzufügen:

 add_action( 'storefront_single_post', 'storefront_post_header_categories', 15 ); function storefront_post_header_categories() { echo "code to display categories here"; } 

Dies funktioniert nicht oder gibt nichts an das Front-End aus. Es gibt auch keinen WP_DEBUG-Fehler.

Was mache ich falsch? Vielen Dank für Ihre Hilfe und lassen Sie es mich wissen, wenn Sie weitere Informationen benötigen.

Solutions Collecting From Web of "Füge meine eigene function zu bestehenden WooCommerce-Hooks hinzu"

storefront_single_post Hook bezieht sich nur auf einzelne Posts und nicht auf Produkte, obwohl Produkte als Posts des Typs “Produkt” betrachtet werden.

Das ist der Haken, den du brauchst:

 add_action( 'woocommerce_single_product_summary', 'storefront_post_header_categories', 6 ); function storefront_post_header_categories() { echo "code to display categories here"; } 

Sie finden es in plugins / woocommerce / content-single-product.php:

 /** * woocommerce_single_product_summary hook * * @hooked woocommerce_template_single_title - 5 * @hooked woocommerce_template_single_rating - 10 * @hooked woocommerce_template_single_price - 10 * @hooked woocommerce_template_single_excerpt - 20 * @hooked woocommerce_template_single_add_to_cart - 30 * @hooked woocommerce_template_single_meta - 40 * @hooked woocommerce_template_single_sharing - 50 */ do_action( 'woocommerce_single_product_summary' );