我创建并注册了小部件。一切看起来很酷,没有错误。但是,如果我想按名称显示小部件,例如在标题中(我正在使用自定义小部件区域),则它不起作用。它会创建所有div,但不包含任何数据。如果我使用代码显示该区域中的所有小部件 - 它可以工作。
问题:
如何按名称显示小部件?
代码:
它会显示该区域中的所有自定义小部件
<?php if ( is_active_sidebar( 'header-widget' ) ) : ?>
<?php dynamic_sidebar( 'header-widget' ); ?>
<?php endif; ?>
Codex说,这应该有效。但是,它没有。
<?php the_widget( 'widget_simple' ); ?>
感谢您的回答,对不起英语感到抱歉。
答案 0 :(得分:0)
如果您打算使用the_widget,则需要提供WordPress小部件页面上小部件框中通常提供的信息。
所以你需要:
<?php the_widget( 'widget_simple', $instanceData, $args ); ?>
$ instanceData是您在窗口小部件中支持的任何参数,$ args是您在定义侧边栏时指定的参数,例如: &#39; before_widget&#39;,&#39; after_widget&#39;等
两者都是可选的,但如果您的小部件需要一些输入(例如帖子ID)并且您没有指定$ instanceData,那么它可能不会做任何事情。
例如,如果要显示标准的WordPress文本小部件,则值为:
<?php the_widget( 'WP_Widget_Text', array('text' => 'your text') ); ?>
因为&#39; WP_Widget_Text&#34;是标准文本小部件的类和&#39;文本&#39;是指定应显示哪个测试的参数。