*

Cómo añadir una pregunta de acceso a un post con contraseña en WordPress

Proteger un post o una entrada es muy sencillo, sólo hay que seleccionar en la columna de la derecha, en la edición del post, la opción Visibilidad y cambiar la opción a Protegida con contraseña.

Ahora bien, cómo podemos usar esta contraseña de forma sencilla para mostrar el contenido del post a través de una pregunta inventada y con respuesta sencilla y, así evitar spammers y demás robots fisgones. ¡Sencillo! Sólo habrá que añadir este código en el fichero functions.php de nuestro Child-theme o tema hijo.

//Pregunta sencilla para dar paso al contenido protegido
function custom_password_form() {
    global $post;
    $label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID );
    $o = '<form class="protected-post-form" action="' . get_option('siteurl') . '/wp-login.php?action=postpass" method="post">
        ' . __( "<p><strong>¿Desea ver el contenido?.</strong><br />Por favor, conteste a la siguiente pregunta: ¿De qu&eacute; color es la leche?</p>" ) . '
    <p><input name="post_password" id="' . $label . '" type="password" size="25" /><input type="submit" name="Submit" value="' . esc_attr__( "Submit" ) . '" /></p></form>';
    return $o; }
    add_filter('the_password_form', 'custom_password_form');

Recuerda, la respuesta tiene que ser la palabra que se ha puesto en la opción Protegida con contraseña en la opción Visibilidad. Este código mostrará el mismo mensaje en los contenidos con la opción Protegida con contraseña activada.