我有一个使用 XWidgets 插件的 3.3 Wordpress 安装。小部件(尤其是文本小部件)不会保存新实例,Wordpress 在侧边栏中显示默认小部件。
显然,这是一个普遍存在的问题,并且与在小部件 ID 中使用大写字符有关。我发现的最佳解决方法(http://core.trac.wordpress.org/attachment/ticket/6949/widget_id.diff)是让widgets.php 文件全部包含小写。上面的链接包含一个补丁。据我了解,我不再希望 widgets.php 检查 id 是否全部为小写。
不幸的是,我不知道如何实施补丁。它只是注释掉以“$id =”开头的行吗?我可以使用 Notepad++ 编辑文件并通过 FTP 访问。
下面是来自 widgets.php 的代码:
function wp_register_sidebar_widget($id, $name, $output_callback, $options = array()) {
global $wp_registered_widgets;
$id = strtolower($id);
if ( empty($output_callback) ) {
unset($wp_registered_widgets[$id]);
return;
function wp_register_widget_control($id, $name, $control_callback, $options = array()) {
global $wp_registered_widget_controls;
$id = strtolower($id);
( empty($control_callback) ) {
unset($wp_registered_widget_controls[$id]);