【问题标题】:Add some content to woocommerce product single page via a plugin通过插件向 woocommerce 产品单页添加一些内容
【发布时间】:2018-03-14 00:03:05
【问题描述】:

我对为 Wordpress 开发插件有点陌生,我有一个简单的基于 woocommerce 的插件的想法。我需要这个插件只在单个产品页面上做某事,但我根本不知道如何在加载产品时添加一个动作来做某事。

有人有这方面的经验吗?

在我的插件中,我尝试使用一些代码来实现它

public function get_product_variation_data() {
    function get_data() {
        echo '<script>';
        echo "console.log('beep');";
        echo '</script>';
    }
    add_action( 'woocommerce_after_single_product', 'get_data' );
}

但这似乎根本没有在我的产品页面上运行。也许我需要附加一个不同的钩子?

【问题讨论】:

  • 抱歉,我已经在亚历克斯之前回答过了……所以这并不公平,因为我的回答与他的回答解释了同样的事情。我希望你能考虑到这一点。
  • 我发帖子的时候没有看到你已经回复了,但是如果对你很重要,我可以删除它并告诉乔丹接受你的..

标签: php wordpress constructor woocommerce hook-woocommerce


【解决方案1】:

试试这个:

class PluginTest {
    public function __construct(){
       add_action( 'woocommerce_after_single_product', array($this, 'get_product_variation_data'));
    }

    public function get_product_variation_data(){
       echo '<script>';
       echo "console.log('beep');";
       echo '</script>';
    }
}


$plugin_test = new PluginTest();

【讨论】:

  • 很好,您刚刚在“get_product_variation_data”中添加了缺失的引号……
【解决方案2】:

您需要在插件构造函数__construct() 中添加以下内容:

add_action( 'woocommerce_after_single_product', array( $this, 'get_product_variation_data' ), 5 );

然后在构造函数之外:

public function get_product_variation_data() {
    ?> 
       <script> console.log('beep'); </script>
    <?php
}

这应该可行……

【讨论】:

  • 当心你的单引号。您需要避开“哔”周围的那些或加上双引号。并将this 替换为$this
猜你喜欢
  • 2018-04-30
  • 1970-01-01
  • 2016-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 2019-10-02
  • 1970-01-01
相关资源
最近更新 更多