Hace un tiempo veíamos como modificar el texto de una página protegida por contraseña en WordPress.
El problema surge cuando en nuestra web tenemos diferentes tipos de recursos protegidos y el texto que queremos que aparezca en cada caso es diferente.
En el caso de esta web, por ejemplo, la página de recursos para suscriptores está protegida, y aparece el texto correspondiente:
Pero en la misma web también tengo otras páginas protegidas para otro tipo de contenido que nada tienen que ver con los recursos, y que no quiero que aparezca ese texto.
Para poder personalizarlo en cada caso, utilizaremos las misma función que ya habíamos visto, pero añadiendo un condicional según el ID de la página correspondiente.
[Recuerda que para poder saber el ID de una página, entrada o cualquier elemento en WordPress, sólo tienes que editarla y fijarte en el parámetro «post» de la url]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
function my_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">' . 'El acceso a los recursos es sólo para suscriptores ¡Suscríbete ahora!. Tendrás acceso a recursos, descuentos y las Guías prácticas sobre WooCommerce y WordPress.' . '<label for="' . $label . '">' . __( "Password:" ) . ' </label><input id="' . $label . '" maxlength="20" name="post_password" size="20" type="password" /><input name="Submit" type="submit" value="Acceder" /></form>'; if(is_page(4108)) { $o ='<form class="protected-post-form" action="' . get_option('siteurl') . '/wp-login.php?action=postpass" method="post">' . 'Acceso restringido para clientes. Introduce tu contraseña para continuar' . '<label for="' . $label . '">' . __( "Password:" ) . ' </label><input id="' . $label . '" maxlength="20" name="post_password" size="20" type="password" /><input name="Submit" type="submit" value="Acceder" /></form>'; } return $o; } add_filter( 'the_password_form', 'my_password_form' ); |
Es una forma fácil de disponer de contenido protegido para determinados usuarios sin tener que complicarnos con plugins adicionales si simplemente necesitas que no pueda acceder cualquiera.
Recuerda que es recomendable también poner este tipo de páginas como no-index para evitar que aparezcan en los resultados de Google y otros buscadores.
Deja un comentario