Función para generar un botón de ‘Recomendar a un amigo’

Con tal de que nuestros artículos sean publicitados si gustan a la gente, siempre puede ser interesante disponer de un botón que permita enviarlos por mail a alguien a quien el lector crea que les pueden interesar.

Para ello, abriremos functions.php, y pondremos el siguiente código al final de todo:

<?php
function direct_email($text="Enviar un mail a un amigo"){
global $post;
$title = htmlspecialchars($post->post_title);
$subject = 'En '.htmlspecialchars(get_bloginfo('name')).' : '.$title;
$body = 'Te recomiendo : '.$title.'. en esta página : '.get_permalink($post->ID);
$link = '<a rel="nofollow" href="mailto:?subject='.rawurlencode($subject).'&amp;body='.rawurlencode($body).'" title="'.$text.' : '.$title.'">'.$text.'</a>';
return $link;
}
?>

Sólo nos faltará poner allí donde creamos conveniente en nuestro template (dentro del loop) el siguiente nuevo template tag que hemos creado:

Compartir <?php echo direct_email('par mail') ?> con un amigo

Esperamos que lo pongáis en práctica y vuestros comentarios al respecto.

Comentarios
  1. Este template tag, lo coloco en el loop pero en que parte especificamente?

    Escrito el07/03/2010
  2. Por ejeplo en mi loop donde lo cooco Ignacio?
    —-

    <a href="” rel=”bookmark” title=””>

    ——

    Escrito el07/03/2010
  3. No me sale el codigo…como lo inserto?

    Escrito el07/03/2010
  4. Hola Luchosar, tienes que crear functions.php con un editor de texto, o abrirlo si lo tienes en tu tema, y pastear el primer código.

    Luego, debajo de the_content por ejemplo, pones el segundo código. Dime si te funciona.

    Escrito el07/03/2010
  5. luchosar

    me sale este error ignacio:
    Parse error: syntax error, unexpected ‘<' in /home/luchosar/public_html/9c/wp-content/themes/barberiaA/functions.php on line 540

    Escrito el08/03/2010
  6. HOLA:

    Soy nueva en estoy me me gustaria que me enseñaras como hago para crear functions.php. Necesito agregarle un editor de texto? y que pena la otra pregunta que es loop?

    Escrito el09/03/2010
  7. @luchosar, has probado de poner el código al final de todo de functions.php, es decir, como una “isla” de código con respecto al resto ?

    @consejosparamujeres, para crear functions.php lo ideal es hacerlo con Notepad++, o con el bloc de notas : hay que normbrarlo functions.php, salvar, pastaer el código y salvar de nuevo, y luego subirlo con el resto de archivos del tema que estés usando.

    Pero chicos, si queréis usar una forma más directa (que, en vez de depender del programa de envío de mails que el usuario tuviera, dependerá de un servicio tercero), os recomiendo éste : http://www.freetellafriend.com/get_button/

    Podéis construír un botón, copiar su código, y pastearlo después de the_content en el Loop.

    (@consejos, el Loop es el código que sirve para extraer los artículos de tu web en tal o cual parte de la pagina. La función the_content, que tendrás que buscar en el archivo single.php e index.php por ejemplo, está dentro del loop, más info aquí : http://codex.wordpress.org/The_Loop_in_Action)

    Escrito el09/03/2010
  8. uuups aquí

    Escrito el09/03/2010
  9. winner

    Como puedo hacer para adaptar este codigo a una imagen??, para que al hacer clic en esa imagen se pueda recomendar a un amigo?

    Espero ansioso tu respuesta.. saludos!

    Escrito el13/05/2010
  10. Hola winner, tendrás que buscar esta línea:

    function direct_email($text=”Enviar un mail a un amigo”){

    y dentro de $text=”…” poner una imagen en HTML:

    $text="<img src="http://tusite.com/imagenes/boton.png&quot; alt="enviar">"

    cambiando la dirección en la que se encuentra la imagen.

    Luego, la segunda parte del código que va en el template, la puedes poner sin el texto, sólo el php.

    Pero quiero recordar que esto sólo funciona si el usuario tiene un software de mail instalado en su ordenador.

    Para tener algo más seguro, te recomiendo: http://www.freetellafriend.com/get_button/

    Escrito el13/05/2010
  11. winner

    Ignacio: muchas gracias por la pronta respuesta…

    Si, se que sirve solamente si el usuario tiene un software de mail instalado.

    Te cuento, mi idea es adaptar este código a un Formulario, el cual se completaría automáticamente con los datos de esta función: subject, body, etc.

    Lo unico que tendría que hacer el usuario es colocar el o los mails de sus amigos a los que le recomendará el post.

    Espero poder lograrlo, si sabes o tienes algun indicio de como hacerlo, estaré agradecido.

    Saludos!

    Escrito el13/05/2010
  12. Sergio

    Este código no sirve para wordpress 3.0

    Escrito el25/06/2010

DEJA TU COMENTARIO