Spanish (Español) translation by Eva Collados Pascual (you can also view the original English article)
Cuando proteges con contraseña una entrada en WordPress, el texto predeterminado frecuentemente no está muy bien. En este rápido truco, aprenderás como cambiar fácilmente el mensaje de protección por contraseña en WordPress.
Advierte que el siguiente tutorial te muestra como cambiar el texto en forma de un plugin, aunque, el código principal también puede ser añadido de forma sencilla al archivo functions.php de tu tema.
Paso 1
Debes crear una nueva carpeta en el directorio de los plugins de tu sitio WordPress, y darle un título - yo le llamo protected-text.
Paso 2
Crea un nuevo archivo, llamado protected-text.php y añade la siguiente información sobre el plugin en el archivo:
1 |
<?php
|
2 |
/*
|
3 |
Plugin Name: Password Protected Text
|
4 |
Plugin URI: https://code.tutsplus.com
|
5 |
Description: This plugin changes the default password protected text.
|
6 |
Version: 1.0
|
7 |
Author: code.tutsplus.com
|
8 |
Author URI: http://code.tutsplus.com
|
9 |
*/
|
Este texto simplemente informa a WordPress sobre el plugin, y se asegura de que éste lo muestre en la página de plugins de la administración de WordPress.
Paso 3
La primera sección de código comprueba que la entrada esté protegida por contraseña, y si ya existe una cookie almacenada de un acceso exitoso.
1 |
function password_protected_change( $content ) { |
2 |
global $post; |
3 |
if ( ! empty( $post->post_password ) && stripslashes( $_COOKIE['wp-postpass_'.COOKIEHASH] ) != $post->post_password ) { |
Paso 4
Si la entrada está protegida con contraseña, y no hay ninguna cookie, el formulario de la contraseña se mostrará. Este plugin sobreescribe toda la función de protección de contraseña, así que necesitaremos añadir de nuevo el formulario así como nuestro nuevo mensaje.
Puedes añadir tu mensaje principal en el espacio en el que he escrito "Add your custom message!", y la etiqueta para el campo de la contraseña en la sección label for="post_password".
1 |
$output = ' |
2 |
|
3 |
<form action="' . get_option( 'siteurl' ) . '/wp-pass.php" method="post"> |
4 |
'.__( "Add your custom message!" ).' |
5 |
|
6 |
<label for="post_password">Password:</label>
|
7 |
<input name="post_password" class="input" type="password" size="20" />
|
8 |
<input type="submit" name="Submit" class="button" value="' . __( "Submit" ) . '" /> |
9 |
|
10 |
</form>
|
11 |
|
12 |
'; |
13 |
return $output; |
14 |
}
|
Paso 5
También existe una frase más, para el caso en que la entrada no esté protegida por contraseña, o ya haya una cookie almacenada, sepa que hacer. En este caso, simplemente mostrará el contenido de la entrada.
1 |
} else { |
2 |
return $content; |
3 |
}
|
Paso 6
El último paso es decirle a WordPress que use nuestra nueva función cuando cargue cualquier contenido. Esto puede lograrse con un sencillo comando add_filter.
1 |
add_filter( 'the_content','password_protected_change' ); |
Resumiendo
Eso es todo - ¡acabas de crear un sencillo plugin para reemplazar el formulario de protección por contraseña estándar! Puedes descargar el código fuente para este proyecto.
Si tienes cualquier pregunta, por favor siéntete libre de dejar un comentario abajo.



