自定义微件不会出现在仪表板>外观>微件中

时间:2016-09-27 作者:krollynn

我最近将我的wp站点从localhost移动到了web,并丢失了所有小部件。

当我浏览到wp仪表板中的Appearance>Widgets时,我看到的是默认的小部件,而不是我的自定义小部件。

我的小部件在mytheme/widgets下的单独php文件中声明。他们使用以下代码注册:

在myWidget中。php:

add_action( \'widgets_init\', function() { register_widget( \'myWidget\' ); } );
主题/功能中。php:

$widgets = glob(get_template_directory().\'/widgets/*.{php}\', GLOB_BRACE);
foreach ($widgets as $widget) {
    $className =  str_replace(\'.php\', \'\', basename($widget) );
    include $widget;
}
我是一名网络开发新手,很难发现并解决这个问题。任何帮助都将不胜感激。

谢谢

1 个回复
SO网友:krollynn

glob函数不支持主机上的glob\\u BRACE。函数中的代码。php可以替换为

$widgets = glob(get_template_directory().\'/widgets/*.php\');
foreach ($widgets as $widget) {
    $className =  str_replace(\'.php\', \'\', basename($widget) );
    include $widget;
}
解决问题。

相关推荐

My widgets do not save

每次我保存我的小部件并离开页面时,我的小部件都会消失。侧边栏已完全清空,不会保存任何更改。控制台或PHP日志中没有任何错误。如果我将小部件直接复制并保存在数据库中widgets_text, 它们将被显示,但我仍然无法在侧边栏中添加或删除任何内容。这只发生在我的右侧边栏上,左侧边栏工作正常,但它们都以相同的方式注册。这是我注册侧边栏的方式:function my_widgets_init() { register_sidebar( array ( \'name\'