У мене на веб-сайті Wordpress є кілька неопублікованих публікацій, і я намагаюся зробити його доступним для звичайних користувачів (які не ввійшли в систему) за допомогою звичайних поштових слупок ( site.com/post-here
). Я розумію, що це може бути не найкраща практика, але для моєї особливої мети це потрібно зробити.
Я спробував додати у свій functions.php
файл такий фрагмент коду :
function enable_view_drafts() {
$role = get_role( 'subscriber' );
$role->add_cap( 'read_private_posts' );
$role->add_cap( 'edit_posts' );
}
add_action( 'after_setup_theme', 'enable_view_drafts');
Я також спробував init
гак замість after_setup_theme
. Не вдалося.
Я розумію, що зміни ролей зберігаються в базі даних, тому їх потрібно зробити лише один раз. Ось чому я використовую after_setup_theme
гачок для виклику функції.
Але коли я намагаюся отримати доступ до сторінки як звичайний користувач, мені показують сторінку 404, а не вміст публікації. Я також спробував завантажити URL-адресу попереднього перегляду ( site.com/?p=212&preview=true
), але це також не спрацювало.
Це мої здогадки:
- звичайному користувачеві недостатньо
caps
для читання чернетки. - тестування та перегляд чернетки публікацій на передній частині неможливе для будь-яких користувачів (включаючи адміністраторів).
Які зміни я повинен внести, щоб виконати те, що намагаюся зробити? Якщо це неможливо, які альтернативні рішення ви пропонуєте?
Примітка. Я не шукаю плагінних рішень.