将我自己的函数添加到现有的WooCommerce挂钩

时间:2015-11-01 作者:Rhecil Codes

我正在尝试用父主题店面定制我的WooCommerce子主题。父主题创建单个产品模板(content single.php),如下所示:

/**
 * @hooked storefront_post_header - 10
 * @hooked storefront_post_meta - 20
 * @hooked storefront_post_content - 30
 */
do_action( \'storefront_single_post\' );
这些函数被钩住以构建页面(/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 );
作为参考,这是storefront\\u post\\u标题(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() { ?>
    <header class="entry-header">
    <?php

    if ( is_single() ) {
        storefront_posted_on();
        the_title( \'<h1 class="entry-title" itemprop="name headline">\', \'</h1>\' );

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

        the_title( sprintf( \'<h1 class="entry-title" itemprop="name headline"><a href="%s" rel="bookmark">\', esc_url( get_permalink() ) ), \'</a></h1>\' );
    }
    ?>
    </header><!-- .entry-header -->
    <?php
}
我想在storefront\\u post\\u header之后输出我的函数,即storefront\\u post\\u header\\u categories(以下)。我想我可以在我的子主题函数中添加以下内容。php可以做到这一点:

add_action( \'storefront_single_post\', \'storefront_post_header_categories\', 15 );
function storefront_post_header_categories() {
  echo "code to display categories here";
}
这不起作用,或者无法将任何内容输出到前端。is也没有给出WP\\U调试错误。

我做错了什么?谢谢你的帮助,如果你需要更多信息,请告诉我。

1 个回复
最合适的回答,由SO网友:Scriptonomy 整理而成

storefront\\u single\\u post挂钩仅适用于单立柱,而不适用于产品,尽管产品被视为“product”类型的立柱

这是您需要的挂钩:

add_action( \'woocommerce_single_product_summary\', \'storefront_post_header_categories\', 6 );
function storefront_post_header_categories() {
    echo "code to display categories here";
}
您可以在插件/woocommerce/内容单一产品中找到它。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\' );

相关推荐

Adding custom Bulk Actions

我一直在寻找将自定义批量操作添加到类别页面的方法。他们中的大多数人说,不可能用干净的方式来做这件事,因为这件事没有挂钩。大多数解决方案包括在客户端使用JS通过DOM操作添加选项。虽然这是可行的,但它仍然是一个相当丑陋的解决方案。我读过的大多数文章都是2年前的,所以我一直在想,从那时起到现在,这个问题已经添加了一个新的挂钩或解决方案,以便对这个问题有一个更及时的解决方案。