Intereting Posts
Функция jquery document ready не называется В том числе post_type = 'wiki' в авторских архивах Переопределение ограничений на основе IP-адреса GD Стили стилей, такие как «Дополнительные CSS» WP Query – условия фильтрации с регулярным выражением Запрос с использованием запроса WP с использованием цены мета-ключа WP Loop. Если показанное изображение является панорамой (соотношение 3: 1), выполните некоторый код Как использовать короткие коды внутри тегов HTML? Пользовательский цикл с условным выражением для разделения каждого условия Почему загрузка jQuery 2.1 в заголовке отсутствует? Создание каталога в uploads: mkdir vs wp_mkdir_p Таксиномия пугает как var на родительской странице архива, не имея конкретной страницы таксономии Как создать собственный администратор WP с настраиваемыми URL-адресами Вставлять изображение автоматически, когда загрузка завершается загрузчиком мультимедиа WordPress Всякий раз, когда я пытаюсь опубликовать сообщение в wordpress, я всегда перенаправляюсь на страницу установки … почему?

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

Как я могу использовать 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 .