Статьи

Совет: изменение защищенного паролем текста в WordPress

Когда пароль защищает сообщение в WordPress, текст по умолчанию часто бывает не совсем правильным. В этом кратком совете вы узнаете, как легко изменить защищенное паролем сообщение в WordPress.

Обратите внимание, что в следующем уроке вы узнаете, как изменить текст как плагин, однако вместо этого основной код можно просто добавить в файл functions.php вашей темы.

Вы должны создать новую папку в каталоге плагинов вашего сайта WordPress и дать ей название — я назову ее protected-text .

Создайте новый файл с именем protected-text.php и добавьте в него следующую информацию о плагине:

1
2
3
4
5
6
7
8
9
<?php
/*
Plugin Name: Password Protected Text
Plugin URI: http://code.tutsplus.com
Description: This plugin changes the default password protected text.
Version: 1.0
Author: code.tutsplus.com
Author URI: http://code.tutsplus.com
*/

Этот текст просто сообщает WordPress о плагине и обеспечивает его отображение на странице плагинов в администраторе WordPress.

В первом разделе кода проверяется, защищена ли запись паролем и сохранен ли файл cookie от предыдущего успешного входа в систему.

1
2
3
function password_protected_change( $content ) {
 global $post;
 if ( ! empty( $post->post_password ) && stripslashes( $_COOKIE[‘wp-postpass_’.COOKIEHASH] ) != $post->post_password ) {

Если сообщение защищено паролем, а cookie еще нет, выдается форма пароля. Этот плагин перезаписывает всю защищенную паролем функцию, поэтому нам нужно добавить форму, а также наше новое сообщение.

Вы можете добавить свое основное сообщение в место, где я написал «Добавьте свое собственное сообщение!», И метку для поля пароля в label for="post_password" раздела label for="post_password" .

01
02
03
04
05
06
07
08
09
10
11
12
13
14
$output = ‘
 
   <form action=»‘ . get_option( ‘siteurl’ ) . ‘/wp-pass.php» method=»post»>
     ‘.__( «Add your custom message!» ).’
 
       <label for=»post_password»>Password:</label>
       <input name=»post_password» class=»input» type=»password» size=»20″ />
       <input type=»submit» name=»Submit» class=»button» value=»‘ . __( «Submit» ) . ‘» />
 
   </form>
 
   ‘;
   return $output;
 }

Есть еще оператор else, так что если сообщение не защищено паролем или файл cookie уже существует, он знает, что делать. В этом случае он просто отобразит содержание сообщения.

1
2
3
} else {
    return $content;
}

Последний шаг — сказать WordPress использовать нашу новую функцию при загрузке любого контента. Это может быть достигнуто с помощью простой команды add_filter .

1
add_filter( ‘the_content’,’password_protected_change’ );

Вот и все — вы сделали простой плагин для перезаписи стандартной защищенной паролем формы! Вы можете скачать исходный код этого проекта выше.

Если у вас есть какие-либо вопросы, пожалуйста, не стесняйтесь оставлять комментарии ниже.