我目前正在写一个wordpress插件,我遇到了一些问题。我的功能在插件激活时不运行。。。谁能告诉我问题出在哪里?
class my_plugin { public $ajaxurl; public $excanvas; public $plugin_path = ''; function __construct() { register_activation_hook(__FILE__,array(&$this, 'install')); } public function wpmon_install() { //Copy my page template to current theme. $plugin_path = getcwd() . DIRECTORY_SEPARATOR . 'wp-content'. DIRECTORY_SEPARATOR . 'plugins' . DIRECTORY_SEPARATOR . 'wpmon' . DIRECTORY_SEPARATOR; $target_path = get_stylesheet_directory(). DIRECTORY_SEPARATOR; $target_path = str_replace('/',DIRECTORY_SEPARATOR,$target_path); $template_files = glob($plugin_path . 'page_template'.DIRECTORY_SEPARATOR.'*.php'); foreach($template_files as $files) { $basename = basename($files); try{ $target = $target_path . $basename; copy($files , $target); } catch(Exception $e){ $this->log_error( $e->getMessage()); } } }
但不幸的是,安装功能不起作用......但当外部类中的代码安装功能是工作
你有Wordpress试图调用一个函数称为安装
在你的类,但它不存在。所以试着改变:
register_activation_hook(__FILE__,array(&$this, 'install'));
到
register_activation_hook(__FILE__,array(&$this, 'wpmon_install'));
请检查如果你正在使用softlink,插件必须完全在/path/to/wordpress/wp-Content/plugins/your plugin
中,意思是说your plugin
不是一个softlink。
从发布的代码我可以看到两个问题。安装应该改为wpmon_install。还应该添加一些代码来初始化类。
即$wp_mon=newmy_plugin();
后的类my_plugin{}
我正在尝试为短代码创建一个插件。但我的激活钩不起作用。插件在我的页面中被激活,但在我的代码中没有任何东西可以工作,比如:我的 请帮帮我。我卡住了
我写我的第一个WordPress插件和有问题的register_activation_hook......我想要的是在register_activation_hook中声明一个变量,并在其中一个菜单页面上进行响应。 我已经把我的代码分解成单独的文件,并在下面的两个文件中包含了一个简短的版本: 在test_plugin_settings.php我使用: 我知道test_plugin_settings
我的文件夹: 在文件my-plugin.php: 在文件class-my-plugin.php: 但当我激活或停用时,它不起作用。有人能帮我吗?
安装帮助 有关安装问题的帮助信息,请访问安装支持中心,网址是 www.adobe.com/go/cs4install_cn。 许可激活 在安装过程中,您的 Adobe 软件会联系 Adobe 以完成许可激活过程。不会传输个人数据。有关产品激活的详细信息,请访问 Adobe 官方网站 www.adobe.com/go/activation_cn。 单用户零售许可激活支持两台计算机。例如,您可以在办公
问题内容: 我正在学习有关如何使用钩子注册事件的Udemy课程,讲师给出了以下代码: 现在效果很好,但我不认为这是正确的方法。原因是,如果我理解正确,则每次重新渲染时,事件都会每次都在注册和注销,并且我根本认为这样做不是正确的方法。 所以我对下面的钩子做了一些修改 通过使用一个空数组作为第二个参数,使组件只运行一次效果,即模仿。当我尝试结果时,奇怪的是,在我键入的每个键上都没有附加,而是被覆盖了。
问题内容: 使用Java 8 API,我想按照以下方式注册“完成钩子”: 之所以要这样做,是因为我想将资源包装在供API客户端使用的资源中,并且我希望资源一旦被使用就自动清除。如果可能的话,客户可以致电: 而不是当前需要什么: 理想情况下,我想了解的各种方法,例如: 使用现有的JDK 8 API有没有简便的方法? 问题答案: 除了基于解决方案(由@Holger提出)以外,任何拦截终端操作的解决方案