Tutoriales de WordPress de Confianza, cuando más los necesitas.
Guía para Principiantes de WordPress
Copa WPB
25 Millones+
Sitios web que usan nuestros plugins
16+
Años de experiencia en WordPress
3000+
Tutoriales de WordPress de expertos

Cómo agregar un enlace "Leer más" al texto copiado en WordPress

Es posible que hayas notado cómo algunos sitios web populares (como eHow, etc.) adjuntan un enlace de "leer más" a cualquier texto que se copie de su sitio. Esta es una excelente manera de conseguir nuevos usuarios. A menudo, la gente copia y pega texto de sitios web en correos electrónicos. Algunos lo usan para guardar la información para el futuro, mientras que otros simplemente la comparten con sus amigos, familiares y colegas. En este artículo, te mostraremos cómo puedes agregar fácilmente un enlace de "leer más" a cualquier texto copiado de tu blog de WordPress, para que puedas obtener tráfico adicional.

Nota: Para ver esto en acción, copia cualquier cosa de esta publicación y pégala en tu correo electrónico o bloc de notas.

Lo primero que debes hacer es copiar el siguiente código en el archivo functions.php de tu tema o en un plugin específico del sitio:

function add_copyright_text() {
	if (is_single()) { ?>

<script type='text/javascript'>
function addLink() {
	if (
window.getSelection().containsNode(
document.getElementsByClassName('entry-content')[0], true)) {
    var body_element = document.getElementsByTagName('body')[0];
    var selection;
    selection = window.getSelection();
	var oldselection = selection
    var pagelink = "<br /><br /> Read more at WPBeginner: <?php the_title(); ?> <a href='<?php echo wp_get_shortlink(get_the_ID()); ?>'><?php echo wp_get_shortlink(get_the_ID()); ?></a>"; //Change this if you like
    var copy_text = selection + pagelink;
    var new_div = document.createElement('div');
	new_div.style.left='-99999px';
	new_div.style.position='absolute';

    body_element.appendChild(new_div );
    new_div.innerHTML = copy_text ;
    selection.selectAllChildren(new_div );
    window.setTimeout(function() {
        body_element.removeChild(new_div );
    },0);
}
}


document.oncopy = addLink;
</script>

<?php
}
}

add_action( 'wp_head', 'add_copyright_text');

Ahora, cada vez que alguien visite tu sitio web e intente copiar tu contenido, se incluirá un enlace de "leer más" junto con él. No olvides cambiar el texto de derechos de autor y agregar el título de tu propio sitio allí.

Edición: Inicialmente estábamos obteniendo la URL de la ventana, pero como uno de nuestros usuarios señaló, hacía que las URL se vieran torpes. Hemos actualizado el código para que solo se muestre en páginas de publicaciones individuales y use wp_shortlink. Así que usaría algo como esto: tucsitio.com/?p=23. Si estás usando un enlace corto personalizado como nosotros: wpbeg.in, entonces mostrará el enlace corto de marca.

Descargo de responsabilidad: Nuestro contenido es compatible con el lector. Esto significa que si haces clic en algunos de nuestros enlaces, podemos ganar una comisión. Consulta cómo se financia WPBeginner, por qué es importante y cómo puedes apoyarnos. Aquí está nuestro proceso editorial.

El Kit de herramientas definitivo para WordPress

Obtén acceso GRATUITO a nuestro kit de herramientas: ¡una colección de productos y recursos relacionados con WordPress que todo profesional debería tener!

Interacciones del lector

59 CommentsLeave a Reply

  1. Hola,
    este código no parece funcionar, ni en tu sitio web aquí ni en mi sitio web usando tu fragmento (WP 6.2). ¿Podrías revisar esto, por favor? Gracias.

    • El código todavía nos funciona, te recomendamos intentar deshabilitar cualquier plugin y/o usar un navegador de incógnito para evitar que los complementos vean si alguno puede estar causando un conflicto.

      Administrador

  2. ¡Hola, gracias por tu buena información!

    Apliqué el código que me dijiste con el plugin BItly en mi sitio web, pero a veces funciona y a veces no.

    ¿Tiene este código relación con el plugin de caché? ¿Puedes decirme dónde en mi sitio web debo mirar?

  3. Hola,

    Gracias, funciona bien en artículos de 2019, pero ¿es posible hacerlo funcionar en tipos de publicación personalizados?

    Tengo Eventon y WP News and Scrolling Widgets.

    • Necesitarías modificar `is_single` por `is_singular` y agregar el nombre de tu tipo de publicación personalizado.

      Administrador

  4. ¿Tienes algún consejo sobre cómo agregar parámetros de seguimiento de Google al final de cada URL? Considerando que ya estás usando `?p=` para el nombre de la publicación al final.

  5. Gracias por esto, funciona muy bien para las publicaciones, pero cuando el texto se copia de los eventos, no extrae la URL de la página. ¿Algún consejo? Gracias.

    • Esto es genial. Gracias. Cuando dice class – entry content, eso significó que no funcionó para aproximadamente el 90% del texto en mi sitio porque mi texto no usaba ese nombre de clase. Así que si alguien más encuentra este problema, puede cambiar "entry content" por "body". Eso es lo que hice.
      var body_element = document.getElementsByTagName(‘body’)[0]; (línea 13)
      Ahora funciona en todas partes.

  6. Muchas gracias, todo el formato del texto se cambió y se pegó como una sola línea. Pero necesito el formato del texto tal como está. Así que por favor ayúdenme a conseguir esto.

  7. Acabo de agregar el script a mi blog de WordPress, pero no obtengo un apéndice al final del portapapeles...

    Any ideas? I am not sure, if its because I am working on a mac… but I guess the javascript should work on Firefox on a mac too… :-(

  8. Al pegarlo en Blogger, aparece el siguiente error
    Error al analizar XML, línea 2237, columna 96: El valor del atributo "href" asociado con un tipo de elemento "a" no debe contener el carácter "<”.
    ¿Alguna solución?
    Gracias.

  9. Esta función hace que copiar y pegar sea más frustrante. Por ejemplo, si copio y pego un titular para editar Wikipedia, puede arruinar el formato si no tengo cuidado y requiere trabajo adicional.

  10. Desafortunadamente, el código no funciona con WP 3.8

    Lo he probado en una instalación limpia. Por favor, siéntete libre de confirmarlo. ¿Tienes planes de actualizar el código para que funcione?

    • Hola,

      Al principio, no podía hacer que esto funcionara. Pero tras un examen minucioso, descubrí el culpable:

      En la línea 8 del código, verás esto:
      document.getElementsByClassName(‘entry-content’)[0], true))

      Esta es la línea que le dice al código: “oye, si alguien copia texto de texto con este nombre de clase, entonces pon un enlace de leer más”.

      Todo lo que necesitas hacer es usar Firebug para averiguar bajo qué nombre de clase está el contenido de tu publicación.

      Tengo un tema hijo que he editado una y otra vez, así que el mío no era el predeterminado, “entry-content”. Sospecho que el nombre de tu clase también es diferente.

      Mucha suerte,
      Roselle

  11. Hola,

    Muchas gracias por este gran artículo, pero tengo un problema. Me gustaría obtener el permalink y no el enlace acortado. ¿Alguien puede decirme cómo puedo hacerlo?

    Saludos

  12. Interesante y útil; sin embargo, me sorprendió que la prueba de copia no funcionara (al menos para mí) al componer un correo en Gmail — no apareció nada después de pegar el texto copiado, y el área de texto del cuerpo en la ventana de redacción de correos se congeló. Probar una parte copiada en el Bloc de notas funcionó bien, así que no sé cuál podría ser el problema con Gmail.

    ¡Gracias por el consejo!

  13. Esa es una buena opción, Syed. Gracias por compartir. Pero si pudiéramos imprimir la URL corta de la publicación, eso sería aún mejor para los propietarios de sitios web.

    Actualmente está imprimiendo la URL larga. Si llegué aquí a través de la suscripción al boletín de Feedburner, también viene la URL de seguimiento UTM.

    Espero que entiendas. ¿Es posible?

      • Eso es rápido e inteligente.

        Una pregunta: ¿Por qué eliminaste la URL del autor en el formulario de comentarios? Siempre he visto que muchos blogs con WordPress dan crédito al autor del comentario en el campo de URL con el atributo NoFollow.

        ¿Hay alguna razón específica para eliminar el campo de URI del autor? ¿O hay algún experimento para la actualización Penguin?

        Entre, no estoy recibiendo ninguna notificación de comentarios, incluso después de seleccionar la opción “Notifícame los comentarios de seguimiento por correo electrónico”.

  14. ¡Wow, ahora este es un gran consejo! Facilita citar y mostrar atribución, además de dejar un enlace para aquellos que escanean y roban contenido. ¡Muy bueno!

Deja una respuesta

Gracias por elegir dejar un comentario. Ten en cuenta que todos los comentarios son moderados de acuerdo con nuestra política de comentarios, y tu dirección de correo electrónico NO será publicada. Por favor, NO uses palabras clave en el campo del nombre. Tengamos una conversación personal y significativa.