Tengo varias publicaciones no publicadas en mi sitio web de Wordpress y estoy tratando de hacerlas accesibles para usuarios normales (que no están registrados) utilizando las babosas de correos normales ( site.com/post-here
). Entiendo que puede que no sea la mejor práctica, pero para mi propósito especial, esto debe hacerse.
He intentado agregar el siguiente fragmento de código en mi archivo 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');
También probé 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 es necesario hacerlo 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 he intentado 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 los borradores. - no es posible probar y ver las publicaciones preliminares en el front-end para ningún usuario (incluidos los administradores).
¿Qué cambios debo 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.