在WooCommerce产品的“立即购买”按钮之前添加一个文本区域


Adding a text area before the Buy Now button of a WooCommerce product

我一直在尝试通过WooCommerce钩子在每个产品页面上的"立即购买"按钮之前添加一个输入。

这是我一直在使用的操作:

add_action( 'woocommerce_before_single_variation', array( $this, 'insert_text_area'), 10 );

这是函数:

public function insert_text_area() {
    error_log('insert text area called');
    echo "<input type='date' placeholder='01/01/12'>";
}

它不会被触发。我已经检查了单产品模板文件,该文件调用do_action进行woocommerce_before_single_variation

我的日志中没有错误。

有什么想法吗?

也许您在类构建方面遇到问题? 或者您甚至使用类?

您发布的方法仅适用于您的钩子和函数位于类内的情况,

试试这个,这是标准方法,(不在类内)

add_action( 'woocommerce_before_single_variation', 'insert_text_area' );
function insert_text_area() {
    error_log('insert text area called');
    echo "<input type='date' placeholder='01/01/12'>";
}

如果您使用的是类,则需要提供类的完整代码以及如何调用它