27mar
6

Por casualidad, y porque me lo propuso un amigo, me puse a investigar como funciona la posibilidad que tiene WordPress de proteger con contraseña los post o entradas.

Mi sorpresa fué al comprobar que los articulos que se protegen con contraseña aparecen con la palabra Protegido (Protected si lo tienes en ingles) : antes del titular. La verdad es que esteticamente no quedaba muy bien asi que me plantee sustituir esa palabra por una imagen que indique que ese articulo esta protegido.
protegido-1.jpg protegido-2.jpg

Rebuscando en los foros de wordpress encontre una entrada que hablaban del tema y que proponian una solución curiosa que paso a contarles.

En la carpeta del theme que estes utilizando, normalmente existe un fichero que se llama functions.php . Editamos este fichero y añadimos la siguiente funcion:

function change_protected_to_image($title)
{
$imax="<IMG src='http://localhost/wp/wp-content/themes/mitheme/images/candado.gif' WIDTH='19' HEIGHT='16' BORDER='0' ALT=''>";
return str_replace('Protegido:',$imax, $title);
}
add_filter('the_title','change_protected_to_image');
?>

Lo que realmente hace esta función es aplicar un filtro y modificar la presentación del titulo del post añadiendo antes una imagen.

Comentaros que he modificado un poquito el código original y he almacenado la ruta de la imagen en la variable $imax y que la ruta debe ser completa.

Fijaros también que he sustituido las comillas dobles que normalmente lleva el HTML por comillas sencillas.

Y después de toda esta historia algun@s se preguntaran ¿y para que vale todo esto? ¿que aplicación práctica tiene?. Pues a simple vista poca, pero por ejemplo se me ocurre que podríamos proteger algunos artículos solo para suscriptores, también se me ocurre que en la web de un colegio existan artículos que solo son para leer los padres que conozcan la clave, etc, etc.

Bueno, por hoy nada más. Espero haber aportado otro grano de arena a esta comunidad de vecinos del edificio WordPress.

Para saber más:

  • http://fernandotellado.com/ Fernando Tellado

    Has aportado y mucho Fonte, muchas gracias por tu post, es muy interesante y práctico en las situaciones que comentas y algunas mas ;)

  • http://www.perrocallejero.com Perro Callejero

    Solo una aclaración.

    La función es dependiente del idioma. Es decir, si tu WP está en inglés debes usar la palabra Protected.

    La modificación entonces no es generalizada y deben cuidar ese aspecto.

  • http://blog.oldskull.net OLDSKULL

    Muchas gracias, fantastico !

  • paquintosh

    Fonte, hay un error en tu escrito, donde pone: $imax=”<IMG src=’http://etcétera

    debería poner $imax=”<IMG src=´http://etcétera

  • andreand

    Hola a todos,

    hablando de protección con contraseña … tengo un problema que quizás el origen sea éste.

    Tengo un blog WordPress en mi alojamiento, q para poder entrar has de acceder con usuario/contraseña.

    Quisiera q mis usuarios puedan recibir los nuevos posts en su mail.

    Es posible, añadir el formulario de Feedburner? Sabiendo q está protegido con usuario/contraseña … me refiero a la pantalla habitual de WordPress.

  • Pilos

    Probamos la funcion con el tema ClassiPress pero nunca funcionó…. Ni con comillas simples…., ni dobles. Evitamos la variable $imax, y colocamos la ruta a la imagen directamente. Pero No. Alguna sugerencia?. Gracias.