我找到了一个教程http://www.makeuseof.com/tag/how-to-create-wordpress-widgets/,它展示了如何创建一个带有标题字段的基本 WP 小部件。
谁能帮我向小部件添加两个字段,以便我收集:
- 标题
- 内容
- 一条链接
我想我知道如何使用它并设置它的样式。
非常感谢帮助!
事件
我找到了一个教程http://www.makeuseof.com/tag/how-to-create-wordpress-widgets/,它展示了如何创建一个带有标题字段的基本 WP 小部件。
谁能帮我向小部件添加两个字段,以便我收集:
我想我知道如何使用它并设置它的样式。
非常感谢帮助!
事件
添加到文件的代码
如果要为内容添加文本区域,可以将以下行放入function form($instance)
:
printf(
'<textarea class="widefat" rows="16" cols="20" id="%1$s" name="%2$s">%3$s</textarea>',
$this->get_field_id( 'content' ),
$this->get_field_name( 'content' ),
$content
);
$content
你之前插入的内容在哪里。
对于文本字段,您可以将以下行放入 samen 函数中:
printf( '<p>
<label for="%1$s">%2$s</label>
<input class="widefat" id="%1$s" name="%3$s" type="text" value="%4$s" />
</p>',
$this->get_field_id( 'link' ),
__( 'Title:', $this->language ),
$this->get_field_name( 'link' ),
esc_attr( $link )
);
$link
你之前插入的内容在哪里。
将以下行添加到function update($new_instance, $old_instance)
:
$instance['content'] = $new_instance['content'];
$instance['link'] = $new_instance['link'];
将以下行添加到function widget($args, $instance)
:
$content = empty( $instance['content'] ) ? '' : wpautop( $instance['content'] );
$link = empty( $instance['link'] ) ? '' : esc_attr( $instance['link'] );
if ( ! empty( $content ) )
echo $content;
if ( ! empty ( $link ) )
echo "<a href='$link'>$link</a>";
如果您不想自动将<p>
' 添加到您的内容中,只需删除wpautop
.
函数的作用
function form($instance)
显示后端小
function update($new_instance, $old_instance)
部件表单在保存小部件表单值时对其进行清理。
function widget($args, $instance)
显示widget的前端显示
因此,如果要更改小部件设置窗口的显示,请编辑function form($instance)
.
希望能帮助到你!
非常感谢您的帮助,有一个小问题:当您保存内容时,所有内容都会从表单中消失。所以我像这样修复了解析: $instance 数组开头的新字段
function form($instance)
{
$instance = wp_parse_args( (array) $instance, array(
'title' => '',
'bannertext' => '',
'link' => ''
) );
$title = $instance['title'];
$bannertext = $instance['bannertext'];
$link = $instance['link'];
然后制作 printf() 内容