Tengo varias publicaciones no publicadas en mi sitio web de Wordpress y estoy tratando de hacer que sea accesible para usuarios normales (que no han iniciado sesión) utilizando los mensajes de publicación normales ( site.com/post-here
). Entiendo que puede que no sea la mejor práctica, pero para mi propósito especial, esto debe hacerse.
Intenté agregar el siguiente fragmento de código en mi functions.php
archivo:
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');
También he intentado init
hook en lugar de after_setup_theme
. Sin suerte.
Tengo entendido que los cambios en los roles se guardan en la base de datos, por lo que solo deben hacerse una vez. Es por eso que estoy usando after_setup_theme
hook para llamar a la función.
Pero cuando intento acceder a la página como un usuario normal, se me muestra una página 404 en lugar de mostrar el contenido de la publicación. También intenté cargar la URL de vista previa ( site.com/?p=212&preview=true
) pero tampoco funcionó.
Estas son mis conjeturas:
- el usuario normal no tiene suficiente
caps
para leer la publicación de borradores. - No es posible probar y ver borradores de publicaciones en el front-end para ningún usuario (incluidos los administradores).
¿Qué cambios tengo que hacer para lograr lo que estoy tratando de hacer? Si no es posible, ¿qué soluciones alternativas sugiere?
Nota: no estoy buscando soluciones basadas en complementos.