我正在创建一个主题,我对小部件和小部件区域有问题。我使用主题定制器让用户编辑内容、颜色等。
我知道如何创建小部件区域。我需要能够将小部件区域添加到主题定制器中的特定部分。例如zerif-lite 主题(如下图所示)在
我们的焦点部分-面板
我们的焦点部分小部件
我想在我的主题中做同样的事情,能够选择小部件区域在定制器中的显示位置。
Note: 我确实看过zerif-lite, 然而,我仍然不知道他们是怎么做到的。
此外,我知道如何创建Panels
, Sections
, Settings
和Controls
, 只是不知道如何创建小部件区域。
SO网友:cjbj
只需访问数据结构并为面板指定不同的值,就可以在自定义程序中移动各个部分。因此,假设以通常方式创建的小部件区域被调用wpse210938_area
你想把它移到面板上wpse210938_panel
, 您可以这样做:
add_action( \'customize_register\', \'wpse210938_move_widget_area\' );
function wpse210938_move_widget_area () {
global $wp_customize;
$wp_customize->get_section (\'sidebar-widgets-wpse210938_area\')->panel = \'wpse210938_panel\';
}
唯一的缺点是,如果启用调试模式,您将收到一条php警告“从空值创建默认对象”,可能是因为WP最后加载小部件部分,所以当您移动它们时,它们仍然是空的。