我正在将我认为对于客户端网站来说相当简单的小部件放在一起,但作为我的第二个小部件,我仍然需要克服相当多的学习曲线。
在这个特定项目中,我尝试创建一些textarea输入以输出到一些简单的段落标记中。但我有点逻辑地处理它,但我确信这是非常严格的代码,因为即使是最精简的标准,我也不是PHP专家。
我的问题是我希望我的textarea输出带有自动分段。例如,选中复选框时,默认文本小部件wordpress会提供。也许只是看看我是如何创建textarea的。我确信有更好的做法然后我放在一起。
<p>
<label for="<?php echo $this->get_field_id( 'admitted' ); ?>"><?php _e('Admitted to Practice', 'framework') ?></label>
<textarea class="widefat" id="<?php echo $this->get_field_id( 'admitted' ); ?>" name="<?php echo $this->get_field_name( 'admitted' ); ?>" value="<?php echo $this->get_field_name( 'admitted' ); ?>" /><?php echo $instance['admitted']; ?></textarea>
</p>
我不知道是否可能对他们施加帮助可以帮助解决这个问题(不是我知道如何做到这一点)但我对建议持开放态度。
在这里查看完整代码。 Dropbox Zip of Widget
答案 0 :(得分:0)
您知道可以轻松查看默认小部件的构建方式,对吗?只需转到wp-includes / default-widgets.php
如果我正确理解您的问题,那么您正在该文件的WP_Widget_Text类中查找这段代码,
if ( !empty( $title ) ) { echo $before_title . $title . $after_title; } ?>
<div class="textwidget"><?php echo !empty( $instance['filter'] ) ? wpautop( $text ) : $text; ?></div>
正如你所看到的,正是wpautop函数可以解决问题。
我认为你创建表单的方式很好。如果您想学习最佳实践,请再次使用Wordpress源代码。
答案 1 :(得分:0)
我可以使用下面的代码完成此操作。
<p><strong>Admitted to Practice:</strong><br/><?php echo wpautop($this->admitted_practice); ?></p>
感谢Calle的回复。