为什么我的WordPress小部件没有保存


Why are my Wordpress widgets not saving?

我有一个使用XWidgets插件的3.3 Wordpress安装。小部件(尤其是文本小部件(不会保存新实例,Wordpress 会在侧边栏中显示默认小部件。

显然,这是一个普遍存在的问题,并且与小部件ID中使用大写字符有关。我发现的最佳修复(http://core.trac.wordpress.org/attachment/ticket/6949/widget_id.diff(是使小部件.php文件包含所有小写。上面的链接包含一个修补程序。据我了解,我不再想要小部件.php检查 id 是否全部小写。

不幸的是,我不知道如何实现补丁。它只是注释掉以"$id ="开头的行吗?我可以使用记事本++编辑文件,并通过FTP访问。

以下是小部件的代码.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]); 

注意:此补丁所指的票证(#6949(在4年前已集成到WordPress中,因此您不太可能需要应用该补丁。

要手动应用补丁,请添加绿线(某些补丁有需要删除的红线(。如果您对 commanline 感到满意,那么您可以使用 patch 命令自动执行此操作。