Intereting Posts
Перенос контента автора на автора WordPress с php5-fpm и nginx Реализация страницы профиля в wordpress Есть ли (предпочтительный встроенный) способ проверить, какие пользовательские запросы используются в теме? Переопределение перевода родительских тегов по дочерней теме get_query_var ('paged'), дающий тот же результат Как использовать ajax для получения нескольких выходов? Странная проблема в выражении if Как действует таксономия WordPress Parent-Child? Можно ли удалить атрибуты высоты и ширины из встроенных видеороликов Скрыть определенное название категории без его удаления? Получите идентификатор Nav Nav, который используется виджетами Custom Menu с данным ID? Создано новое пользовательское меню. как его применять? Должен ли я использовать переходные процессы с кэшированием APC Total Cache? Область выбора шаблона не отображается на боковой панели редактора страниц в wordpress twentty шестнадцати стандартных темах

Шифрование / расшифровка заголовка и данных

Как я могу использовать WordPress для шифрования заголовка сообщения и его деталей до того, как он будет сохранен в базе данных?

Затем, как я могу нажать на WordPress, чтобы расшифровать заголовок сообщения и детали, прежде чем он снова появится на панели администратора (чтобы его можно было прочитать снова)

Solutions Collecting From Web of "Шифрование / расшифровка заголовка и данных"

Чтобы изменить содержимое сообщения до его сохранения, вы можете использовать фильтр wp_insert_post_data .

Я использую в этом примере просто простой / фиктивный способ представления шифрования, я просто заменяю каждый символ соответствующим кодом ascii. Он должен быть заменен вашим методом шифрования.

add_filter( 'wp_insert_post_data' , 'encrypt_post' , 99, 1 ); function encrypt_post( $data ) { // check if it's a post if('post' !== $data['post_type']) { return $data; } // this is just for demonstration purposes (a simple char to ascii code conversion), it should be replaced by your encryption method $title = str_split( $data['post_title'] ); $title = array_map( function($n) { return ord( $n ); }, $title ); $title = implode( ".", $title ); $data['post_title'] = $title; return $data; } 

Затем, чтобы расшифровать заголовок сообщения на странице редактирования, вы можете использовать фильтр title_edit_pre:

 function decrypt_post_title( $title, $post_id ) { if( 'post' !== get_post_type( $post_id ) ) { return $title; } // same dummy ascii code to char conversion $title = explode( '.', $title ); $title = array_map( function($n) { return chr( $n ); }, $title ); $title = implode( "", $title ); return $title; } add_filter( 'title_edit_pre', 'decrypt_post_title', 99, 2 ); 

Чтобы расшифровать другие поля, вам нужно будет проверить другие динамические фильтры * _edit_pre .