Когда вы устанавливаете пароль на запись в WordPress, стандартный текст, который при этом выводится, не всегда отражает корректную суть. В сегодняшней статье мы покажем вам как быстро изменить защищенное паролем сообщение в WordPress.
Обратите внимание, что в статье описывается изменение текста в виде плагина, однако, основной код может просто быть добавлен в файл functions.php вашей темы.
Шаг 1
Для начала создайте новую папку в папке с плагинами в вашем WordPress и задайте ей название по вашему усмотрению. Мы назвали директорию protected-text.
Шаг 2
Создайте новый файл под названием protected-text.php и добавьте в него следующую информацию о плагине:
<?php /* Plugin Name: Password Protected Text Plugin URI: https://wpincode.com Description: This plugin changes the default password protected text. Version: 1.0 Author: wpincode.com Author URI: https://wpincode.com */
Этот текст сообщает WordPress информацию о плагине и позволяет последнему корректно отображаться на странице плагинов в административной панели WordPress.
Шаг 3
Первая часть кода проверяет, защищена ли запись паролем, и если сохранены ли куки с предыдущей сессий успешного входа в админку.
function password_protected_change( $content ) { global $post; if ( ! empty( $post->post_password ) && stripslashes( $_COOKIE['wp-postpass_'.COOKIEHASH] ) != $post->post_password ) {
Шаг 4
Если же запись защищена паролем, а куки при этом отсутствует, выводится форма ввода пароля. Плагин перезаписывает всю функцию защиты паролем, поэтому нам необходимо добавить эту форму, как и добавить наше новое сообщение.
Вы можете добавить ваше основное сообщение в том месте, где мы написали «Добавьте Ваше произвольное сообщение!», а также лейбл для поля с паролем в разделе label for=»post_password».
$output = ' <form action="' . get_option( 'siteurl' ) . '/<span class="skimlinks-unlinked">wp-pass.php</span>" method="post"> '.__( "Добавьте Ваше произвольное сообщение!" ).' <label for="post_password">Пароль:</label> <input name="post_password" class="input" type="password" size="20" /> <input type="submit" name="Submit" class="button" value="' . __( "Отправить" ) . '" /> </form> '; return $output; }
Шаг 5
Также мы добавим условие, чтобы в случае, если запись не защищена паролем, или куки уже присутствует, плагин знал, что нужно делать. В этом случае он просто выведет содержимое записи.
} else { return $content; }
Шаг 6
Последний шаг состоит в том, чтобы сообщить WordPress о том, что нужно использовать нашу новую функцию при загрузке контента. Этого можно достичь путем добавления простой команды add_filter.
add_filter( 'the_content','password_protected_change' );
Заключение
Вот и все, вы создали простой плагин для перезаписи стандартной формы защиты записи паролем.
По всем вопросам и отзывам просьба писать в комментарии ниже.
Не забывайте, по возможности, оценивать понравившиеся записи количеством звездочек на ваше усмотрение.