我在插件中使用以下代码来显示<textarea>
页面上的字段:
echo \'<textarea required="required" name="Message" class="textarea" cols="70" rows="10">\'.esc_textarea($message).\'</textarea>\';
然而,WordPress似乎正在插入
<p>
和
<br />
如果消息包含换行符,则标记为textarea内容。我假设这是由默认的wpautop()过滤器引起的。
是否有方法禁用筛选<textarea>
页面上的内容?
Edit
有关我的插件如何工作的更多信息。它为
the_content
, 它会将数据附加到某些页面的内容中。我还是想要
wpautop
要应用于附加内容的格式,但不适用于
<textarea>
领域
以下是我的插件的大致设置:
function get_special_content()
{
$text = \'\';
// Customized content is appended to text here
// including the textarea field
return $text;
}
function my_plugin_content_hook($content)
{
if(is_some_special_page()) {
return $content.get_special_content();
}
return $content;
}
add_action(\'the_content\', \'my_plugin_content_hook\');
最合适的回答,由SO网友:s_ha_dum 整理而成
添加优先级以将函数推到挂钩队列的末尾。
add_action(\'the_content\', \'my_plugin_content_hook\', 1000);
然后,在你的
get_special_content
需要应用的函数
wpautop
手动应用到要应用它的内容。
function get_special_content()
{
$text = \'\';
$autopeed = \'content to autop\';
$text .= apply_filters(\'wpautop\',$autopeed);
$text .= "your textarea code";
return $text;
}
我相信这会解决你的问题。