我正在尝试开发我的第一个Wordpress插件,并且我在第一阶段就陷入了困境.我正在尝试在插件激活时设置一些选项和数据库表,但没有运气.无论我做什么,插件都会激活,但数据库不受影响且选项不存储在DB中.我尝试在构造函数...

我正在尝试开发我的第一个Wordpress插件,并且我在第一阶段就陷入了困境.我正在尝试在插件激活时设置一些选项和数据库表,但没有运气.无论我做什么,插件都会激活,但数据库不受影响且选项不存储在DB中.我尝试在构造函数中回显,但似乎它永远不会到达它.我在WP中激活了调试,但没有报告错误.该功能没有被挂钩.有人能发现我的代码有什么问题吗?
在此先感谢您的帮助.
class Myplugin {
private static $instance;
public static function get_instance() {
if ( ! self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
private function __construct() {
register_activation_hook( __FILE__, array( &$this, 'plugin_activate' ) );
}
public function plugin_activate() {
if ( version_compare( get_bloginfo( 'version' ), '3.8.2', ' < ' ) ) {
deactivate_plugins( basename( __FILE__ ) );
} else {
$rlm_rsvplus_options = array(
'db_version' => '1.0',
'event_name' => '',
'end_date' => '',
);
update_option( 'rlm_myplugin_options', $rlm_myplugin_options );
require_once( "includes/rlm_myplugin_db_setup.php" );//It never reaches this file.
}
}
}
$myplugin = Myplugin::get_instance();
解决方法:
register_activation_hook调用需要在类本身之外.
就像是:
class Myplugin {
private static $instance;
public static function get_instance() {
if ( ! self::$instance ) {
self::$instance = new self();
}
return self::$instance;
}
private function __construct() {
// do other stuff here
}
public function plugin_activate() {
if ( version_compare( get_bloginfo( 'version' ), '3.8.2', ' < ' ) ) {
deactivate_plugins( basename( __FILE__ ) );
} else {
$rlm_rsvplus_options = array(
'db_version' => '1.0',
'event_name' => '',
'end_date' => '',
);
update_option( 'rlm_myplugin_options', $rlm_myplugin_options );
require_once( "includes/rlm_myplugin_db_setup.php" );
}
}
register_activation_hook( __FILE__, array( 'Myplugin', 'plugin_activate' ) );
您可以阅读Francis Yaconiello关于How to write WordPress plugin的以下教程的更多内容.
沃梦达教程
本文标题为:php – 插件激活挂钩无法在wordpress中工作


基础教程推荐
猜你喜欢
- PbootCMS伪静态配置教程以及各web容器配置规则 2023-07-08
- dedecms支付宝支付成功后发送邮件通知站长的方法 2023-07-09
- 织梦dedecms首页列表页ajax无限下拉加载瀑布流效果 2022-06-23
- WordPress致命错误:在1832行的wp-includes / wp-db.php中,允许的内存大小为536870912字节(试图分配77个字节) 2023-10-08
- 【wordpress】wordpress插件之自动采集发布工具 2023-10-08
- php – 如何在wordpress插件中获取会话变量 2023-10-08
- PHP-WordPress:从数据库中检索值 2023-10-08
- 64MB内存VPS安装Lighttpd-SQLite-PHP搭建WordPress博客教程 2023-10-08
- linux-使用wget在WordPress上进行身份验证 2023-10-08
- WordPress在其他PHP文件中使用wp_config.php变量连接到数据库 2023-10-08