Wordpress Password Protect Archive и отдельные сообщения для пользовательского типа сообщений
Есть ли простой способ защитить паролем архив и отдельные сообщения произвольного типа?
Я нашел эту статью о защите паролем отдельных сообщений, но все еще теряюсь в архивном цикле. Я бы хотел, чтобы он отображал только поле пароля, пока пользователь не войдет в систему.
Для отдельных страниц вы можете просто отредактировать single.php и добавить что-то вроде:
<?php
if ( is_user_logged_in() ) {
// Show Post to Logged in User
}
else {
//Show password field
}
?>
Если, как вы упомянули, вы используете пользовательский тип записи или шаблон архива, вы можете применить тот же метод, что и выше, к single-[custom-post-type-name].php или archive.php.
Единственный найденный мной способ быстро защитить архив паролем — это создать шаблон, который извлекает данные пользовательского типа записи и связывает его со страницей, которую можно защитить паролем. http://codex.wordpress.org/Page_Templates
Как только эта страница защищена паролем, вы найдете идентификатор сообщения, чтобы применить его к файлу single-{your_custom_post_type}.php следующим образом:
<?php
if ( !post_password_required('{protected_post_id}') ) : ?>
//protected content here
<?php else:
//show the password form of the protected page
echo get_the_password_form('{protected_post_id}');
endif; ?>
Это избавляет вас от необходимости защищать паролем каждую публикацию вашего пользовательского типа.