Общеизвестно, что WordPress, по умолчанию, не выводит в пользовательскую часть сайта данные со страниц или записей, на которых установлен пароль.
О том, как установить пароль, мы писали в одной из предыдущих статей. Но все же иногда бывает необходимо показать некоторую часть контента запароленного материала. Такая необходимость часто возникает на сайтах с платным контентом, где для просмотра всей публикации необходимо заплатить.
Как на сайте вывести цитату для защищенной паролем записи?
Наша задача – вывести короткую цитату записи с паролем, т.е. несколько первых слов для ознакомления с ее содержимым. Для этого необходимо добавить специальный код в файл functions.php Вашей активной WordPress-темы.
Если Вы не знаете, как редактировать functions.php, то в этом случае Вам поможет плагин ProFunctions.
Итак, в указанный файл нужно добавить следующие строки на языке PHP:
function wpschool_show_protected_excerpt( $excerpt ) { if ( post_password_required() ) { $post = get_post(); $excerpt=$post->post_excerpt; } return $excerpt; } add_filter( 'the_excerpt', 'wpschool_show_protected_excerpt' ); function wpschool_show_protected_excerpt_posts( $content ) { if ( post_password_required() && is_single() ) { $post = get_post(); return $post->post_excerpt.$content; } } add_filter( 'the_content', 'wpschool_show_protected_excerpt_posts', 10 );
После сохранения вставленного кода следует перейти на страницу редактирования защищенной паролем записи, где нажать кнопку Настройки экрана.
В настройках экрана необходимо отметить опцию Отрывок. Дальше, под полем для контента, появился блок Отрывок, в котором следует вписать те слова, которые нужно будет показать посетителям на сайте.
Для сохранения всех изменений нужно нажать кнопку Обновить. Теперь, открыв на сайте запароленную запись, Вы сможете увидеть введенный для нее отрывок.
Нажмите, пожалуйста, на одну из кнопок, чтобы узнать понравилась статья или нет.
как убрать: “Отрывка нет, потому что запись защищена”?
И как вырезать слово “Защищено” из Title самого поста?
не работает у меня вообще. Все посты пропали.