Intereting Posts
Почему wp_mail () не позволяет мне установить заголовок From: когда будет использоваться обычная старая PHP-почта ()? Пользовательские типы сообщений и постоянная ссылка Импорт продуктов в WooCommerce с помощью CSV-страницы не открывается Создать короткий код динамически Как добавить пользовательские поля в пользовательские таксономии в WordPress CLEANLY Использование запросов с несколькими типами сообщений и таксономией Запросить сообщения от автора и / или с помощью тега Не знаю, как я буду делать это в WP .., связанных с пользовательскими тегами html lang = "" вместо lang = "en-us" – почему? Как отключить / запретить теги <script> и <iframe> в TinyMCE? Как перевести несколько установок на одну установку Multisite? запуск произвольных php-файлов Поиск дат для пользовательских типов сообщений Сообщение не работает Импорт базы данных mysql wordpress в неизвестный сервер / домен

Разрешить HTML-профиль для избранных пользователей

Я знаю, что есть тонна сообщений о том, как разрешить html в профилях. Большинство из них предупреждают об угрозе безопасности. Я думаю, что должен быть способ разрешить пользователям использовать html для определенных пользователей. Я пробовал это, но это не работает. Я думаю, это потому, что вы не можете удалить фильтр изнутри фильтра. Любая помощь была бы потрясающей.

add_action('edit user profile update', 'nifty_strip_html'); function nifty_strip_html($user_id) { if ($user_id == 2){ //if user id is 2 then allow html remove_filter('pre_user_description', 'wp_filter_kses'); } else{ return; //keep the filtered html } } 

Solutions Collecting From Web of "Разрешить HTML-профиль для избранных пользователей"

Вы можете подключиться к раннему действию и применить фильтр для вашего прецедента:

 add_action( 'load-profile.php', 'allow_profile_html_wpse_91564' ); function allow_profile_html_wpse_91564() { global $current_user; if( '2' == $current_user->ID ) remove_filter('pre_user_description', 'wp_filter_kses'); } 

load-$pagenow крючок – load-$pagenow работает на всех страницах администрирования по умолчанию (т. load-$pagenow Не добавляется третьей стороной), и объявляется в файле /wp-admin/admin.php .

$pagenow – это страница PHP, работающая в данный момент. Итак, чтобы настроить таргетинг на страницу /wp-admin/user-edit.php?user_id=2 , /wp-admin/user-edit.php?user_id=2 еще один крючок, а также еще одна условная проверка:

 add_action( 'load-user-edit.php', 'callback_function' ); function allow_user_html_wpse_91564() { if( isset( $_REQUEST['user_id'] ) && '2' == $_REQUEST['user_id'] ) remove_filter( 'pre_user_description', 'wp_filter_kses' ); }