【发布时间】:2021-10-31 03:35:27
【问题描述】:
我想在文本区域中添加换行符。我尝试使用 标签,但它不起作用。你能帮我在文本区域中插入换行符吗?请在上面找到通用联系表的代码。我应该在哪里添加换行符的标签?
public function cs_form_textarea_render($params = '') {
global $post, $pagenow;
extract($params);
if ( $pagenow == 'post.php' ) {
$cs_value = get_post_meta($post->ID, 'cs_' . $id, true);
} else {
$cs_value = $std;
}
if ( isset($cs_value) && $cs_value != '' ) {
$value = $cs_value;
} else {
$value = $std;
}
$cs_rand_id = time();
if ( isset($force_std) && $force_std == true ) {
$value = $std;
}
$html_id = ' id="cs_' . sanitize_html_class($id) . '"';
$html_name = ' name="cs_' . sanitize_html_class($id) . '"';
if ( isset($array) && $array == true ) {
$html_id = ' id="cs_' . sanitize_html_class($id) . $cs_rand_id . '"';
$html_name = ' name="cs_' . sanitize_html_class($id) . '_array[]"';
}
$cs_required = '';
if ( isset($required) && $required == 'yes' ) {
$cs_required = ' required="required"';
}
$cs_output = '<div class="' . $classes . '">';
$cs_output .= ' <textarea' . $cs_required . ' rows="5" cols="30"' . $html_id . $html_name . ' placeholder="' . $name . '">' . sanitize_text_field($value) . '</textarea>';
$cs_output .= $this->cs_form_description($description);
$cs_output .= '</div>';
if ( isset($return) && $return == true ) {
return force_balance_tags($cs_output);
} else {
echo force_balance_tags($cs_output);
}
}
【问题讨论】:
-
类方法中的全局变量完全违背了封装的概念,请改为注入这些值
-
extract($params);也打开了另一个完整的噩梦,即使它在方法的范围内......所有这些参数来自哪里?谁可能知道,当它们不存在时,它们应该来自哪里 -
提示:文本区域包含纯文本,而不是 HTML
-
我不想去想
sanitize_html_class()做了什么:)
标签: php textarea line-breaks contact-form-7