Wordpress web sitemde birkaç yayınlanmamış mesajım var ve normal kullanıcılara () giriş yapmamış olan normal kullanıcılar için erişilebilir hale getirmeye çalışıyorum site.com/post-here
. Bunun en iyi uygulama olmadığını anlıyorum ama özel amacım için bunun yapılması gerekiyor.
Aşağıdaki kod snippet'i dosyama eklemeyi denedim 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');
Ben de init
yerine kanca denedim after_setup_theme
. Şanssız.
Anladığım kadarıyla rollerdeki değişiklikler veritabanına kaydedilir, bu yüzden sadece bir kez yapılması gerekir. Bu yüzden after_setup_theme
işlevi çağırmak için kanca kullanıyorum .
Ancak sayfaya normal kullanıcı olarak erişmeye çalıştığımda, yazı içeriğini göstermek yerine 404 sayfası gösteriliyor. Ayrıca önizleme URL'sini ( site.com/?p=212&preview=true
) yüklemeyi denedim ancak bu da çalışmadı.
Bunlar benim tahminlerim:
- normal kullanıcının
caps
taslak gönderisini okumak için yeterli değeri yoktur . - taslak yayınların ön uçta test edilmesi ve görüntülenmesi hiçbir kullanıcı için (yöneticiler dahil) mümkün değildir.
Yapmaya çalıştığım şeyi başarmak için ne gibi değişiklikler yapmam gerekiyor? Mümkün değilse, hangi alternatif çözümleri önerirsiniz?
Not: Eklenti tabanlı çözümler için aramıyorum.