我对这个 Wordpress 很陌生,现在我已经制作了自己的主题,并想创建一个插件来处理我的幻灯片。
(稍后我必须为一些学生教这个,所以我不能只使用现有的插件)
我已经从底部的http://www.php-fig.org/psr/psr-0实现了自动加载器,它工作正常。
我可以调用我班级中的所有方法和所有内容,这很好。这是实际的问题:
当。。。的时候
register_activation_hook(__FILE__, array('vendor\Keystroke\KeystrokeSlider', 'install'));
被调用,然后它运行该方法
class KeystrokeSlider{
const VERSION = '1.0.0';
static public function install(){
global $wpdb;
$charset_collate = $wpdb->get_charset_collate();
$tableName = $wpdb->prefix . 'ks_albums';
$sql = "CREATE TABLE IF NOT EXISTS $tableName (
id INT(11) NOT NULL AUTO_INCREMENT,
name VARCHAR(255) NULL,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP NULL,
PRIMARY KEY (id)
) $charset_collate;";
self::upgrade();
dbDelta($sql);
add_option('keystroke_slider_version', self::VERSION);
}
}
但 dbDelta() 是一个未定义的函数。我可以看到它试图在函数前面设置命名空间(我不知道为什么,因为它不是类方法,而是一个函数,对吧?)。无论如何,我试过这样称呼它
\dbDelta()
这似乎有效,但它仍然找不到该功能。我可以在课堂上手动要求 dbDelta 还是有其他问题?
对不起,很长的问题......
乌尔里克·麦卡德尔