我正在开发一个 wordpress 插件,该插件需要能够检测当前活动的主题是否具有支持小部件的侧边栏,以便它知道是否可以添加小部件。那么,如何检测当前主题是否支持小部件?
2 回答
You'll be glad to hear there's a couple of variables which WP uses:
$wp_registered_sidebars and $wp_registered_widgets
Then, as per wp-admin/widgets.php:
$sidebars = array_keys($wp_registered_sidebars);
Don't forget, WordPress does this itself - if there are no widget-read sidebars in a theme, the widgets.php page tells you so (if you look at wp-admin/widgets.php in the core, you'll see how, but those 2 variables are the basis of it)
如果不安装主题并尝试确定侧边栏和小部件是否真的有效,就没有好方法。我保留了一个备用域,仅用于测试 WordPress 中的主题和小部件。WordPress 是一个很棒的工具(我用它运行了至少十几个域),但有些主题是不稳定的。
要测试的另一件事是,当您将小部件放在特定侧边栏中时,它们是否正确显示。我发现了几个将小部件数据从左侧边栏复制到右侧栏的主题,反之亦然。
默认侧边栏(未添加小部件)与您开始移动小部件时获得的侧边栏完全不同。
欢迎来到实验计算机科学的精彩世界。