0

我正在为客户站点拼凑一个我认为相当简单的小部件,但作为我的第二个小部件,我仍然需要克服相当多的学习曲线。

故事

在这个特定的项目中,我尝试创建一些 textarea 输入以输出到一些简单的段落标签中。但我有点尽可能合乎逻辑地处理它,但我确信这是相当粗略的代码,因为即使按照最精简的标准,我也不是 PHP 专家。

问题

我的问题是我希望我的 textarea 输出带有自动分段功能。例如选中复选框时 wordpress 提供的默认文本小部件。也可以看看我是如何创建文本区域的。我相信有比我放在一起更好的做法。

文本区域示例

<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>

我不知道将tinymce放在他们身上是否有助于解决这个问题(不是我知道该怎么做)但我对建议持开放态度。

看看这里的完整代码。 小部件的 Dropbox Zip

4

2 回答 2

0

我能够使用下面的代码完成此操作。

<p><strong>Admitted to Practice:</strong><br/><?php echo wpautop($this->admitted_practice); ?></p>

谢谢你的回应。

于 2012-10-19T13:17:07.900 回答
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 源代码同样很有用。

于 2012-10-19T02:13:57.407 回答