我将通过修改wp_kses
. wp_kses
是一个在内容上运行的函数,用于过滤掉不需要的标记和属性。它代表KSES剥离邪恶的脚本,但它所做的远不止这些。
这是一个很大的函数,有时很复杂,但如果您想扩展或修改它过滤掉的内容,它非常有用。
请记住,这仅适用于没有unfiltered_html
能力。
这个wp_kses_allowed_html
过滤器允许您修改允许的标记和属性。数组结构为$allowedtags[\'tag_name\'][\'attribute\']
, 所以你会寻找$allowedtags[\'table\'][\'width\']
, 例如
function my_modify_tags( $tags, $context ) {
if ( \'post\' !== $context ) {
return $tags;
}
if ( isset( $tags[\'table\'][\'width\'] ) ) {
unset( $tags[\'table\'][\'width\'] );
}
if ( isset( $tags[\'td\'][\'width\'] ) ) {
unset( $tags[\'td\'][\'width\'] );
}
if ( isset( $tags[\'th\'][\'width\'] ) ) {
unset( $tags[\'th\'][\'width\'] );
}
return $tags;
}
add_filter( \'wp_kses_allowed_html\', \'my_modify_tags\', 1, 2 );
The
$context
此处允许将此应用于要修改标记的特定实例。通过确定目标
post
, 您可以将此筛选后的允许标记列表仅应用于帖子内容。