WordPress удаляет атрибуты html, даже когда я говорю это не - PullRequest
0 голосов
/ 04 мая 2020

Я использую функцию WordPress wp_kses() для очистки html перед сохранением содержимого публикации. Я указал, что он должен сохранять все атрибуты div, которые начинаются с tb-*. Тем не менее, функция все еще удаляет эти html атрибуты.

Знаете ли вы, почему wp_kses() удаляет мои атрибуты, когда я сказал это не делать? Может быть, я не могу использовать подстановочные знаки, ie, я не могу использовать tb-* и должен явно определять все разрешенные атрибуты, как это; tb-foo, tb-bar и др. c.? Я на самом деле надеюсь, что нет, потому что у меня есть десятки атрибутов, и я буду добавлять их все время, поэтому для WordPress просто безумно ожидать, что я обновлю код для обработки новых атрибутов каждый раз.

Вот мой код, где он удаляет атрибуты:

$html_filter  = array_merge_recursive(wp_kses_allowed_html('post'), ['div' => ['td-*' => 1]]);
$content      = wp_kses($content, $html_filter);
wp_update_post([
  'ID'              => $post_id,
  'post_content'    => $content,
]);


// if $content = "<div tb-foo=true tb-bar="bar" id="baz"></div>"
// it saves it as <div id="baz"></div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...