【发布时间】:2016-08-30 03:09:43
【问题描述】:
我创建了一个使用 woocommerce 挂钩的示例插件。基本上我的要求是基于一些 woocommerce 钩子在 wordpress 页面的页脚添加一些 javascript。但是,这些钩子似乎根本没有被解雇。我安装了 woocommerce。如果我将相同的代码放在主题的函数文件中,则会添加 javsacript,但不会从插件中添加。
在插件中,共有三个动作。第一个动作是一个普通的 wp_footer 动作,它可以工作并添加了 js。其余两个是 woocommerce 行动,不会被解雇。有人可以帮忙吗?我确定我以错误的方式调用钩子,但我无法弄清楚。
<?php
/*
* Plugin Name: Demo Woo Plugin
* Plugin URI:
* Description:
* Version: 1.0
* Author:
* Author URI:
* License: GPLv2
*/
/*
*/
if(!class_exists('Demowoo')) {
class Demowoo {
var $plugin_url;
var $plugin_dir;
public function __construct() {
global $woocommerce;
$this->plugin_url = trailingslashit( WP_PLUGIN_URL . '/' . dirname(plugin_basename(__FILE__)) );
$this->plugin_dir = trailingslashit( plugin_dir_path(__FILE__) );
add_action( 'wp_footer', array($this, 'demowoo_content') );
// initiate woocommerce hooks and activities
add_action('woocommerce_init', array($this, 'on_woocommerce_init'));
add_action('woocommerce_after_cart_contents', 'cart_page_visited');
}
public function install() {
}
public function deactivate() {
}
/**
* Append the required javascript.
*/
public function demowoo_content() {
echo '<script type="text/javascript">console.log("Demo Plugin Content");</script>';
}
public function on_woocommerce_init() {
add_action('wp_footer', 'woocommerce_initialized');
}
public function woocommerce_initialized() {
echo '<script type="text/javascript">console.log("JS through woo commerce init.");</script>';
}
public function cart_page_visited() {
add_action('wp_footer', 'demo_woo_add_to_cart');
}
public function demo_woo_add_to_cart() {
echo '<script type="text/javascript">console.log("JS for added_to_cart on the cart page");</script>';
}
} // End class
$Demowoo = new Demowoo();
if($Demowoo) {
register_activation_hook( __FILE__, array(&$Demowoo, 'install'));
}
}
【问题讨论】:
标签: wordpress woocommerce