这是从我的Wordpress插件内部,在主文件中:
function my_plugin_install() {
$my_site_url = get_site_url();
$my_options['my_site_url'] = $my_site_url;
// Save
}
register_activation_hook(__FILE__, 'my_plugin_install');
目前,安装成功,但未保存"my_site_url"选项。我假设是因为此时我使用 $my_options 数组的方式没有任何意义。它应将此数据保存到wp_options表中。
我似乎无法保存它,甚至找不到一种方法来测试它,因为使用"echo"会在安装过程中给 Wordpress 一个错误。是否有在安装过程中运行脚本和更新数据库的最佳方法?
提前谢谢。
您需要使用 WordPress 函数update_option来保存您的选项值:
function my_plugin_install() {
$my_site_url = get_site_url();
update_option('my_site_url', $my_site_url);
}
register_activation_hook(__FILE__, 'my_plugin_install');
稍后,当您需要该值时,可以使用get_option:
$my_site_url = get_option('my_site_url');
*更新
由于您似乎想要管理自己的多个选项,那么我建议使用一个简单的"实用程序"函数,如下所示:
function update_my_option($key, $value) {
// Load all of the option values from wp_options
$all_options = get_option('my_options');
// Update just the one option you passed in
$all_options[$key] = $value;
// Save to wp_options
update_option('my_options');
}
并且,适当的吸气功能:
function get_my_option($key, $default = NULL) {
// Load all of your options from wp_options
$all_options = get_option('my_options');
// Return just the one option you are asking for
return (isset($all_options[$key])) ? $all_options[$key] : $default;
}
然后,您将调用此函数,而不是直接调用update_option
,如下所示:
function my_plugin_install() {
$my_site_url = get_site_url();
update_my_option('my_site_url', $my_site_url);
}
并且,要获得您的选项之一:
$my_site_url = get_my_option('my_site_url');