Inicio Informática Deshabilitar en Wordpress el copiar, pegar, seleccionar texto y la tecla Ctrl

Deshabilitar en Wordpress el copiar, pegar, seleccionar texto y la tecla Ctrl

Probado en Firefox y Chrome con buenos resultados

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Una vez más aquí. Hoy vengo a dejar un pequeño artículo para una usuaria que me ha preguntado cómo puede hacer para deshabilitar el clic derecho del ratón en su página creada con Wordpress, y sin necesidad de añadir más plugins a su instalación. Pues como le dije, esto tiene diferentes formas de hacerlo, por lo que tengo que decir que lo que vamos a ver a continuación, igual no es la mejor de las maneras de hacerlo, pero funciona de forma correcta en los navegadores más populares, y es muy sencillo de implementar en una instalación de Wordpress. Con tan solo una función podremos deshabilitar en Wordpress las acciones de copiar, pegar, seleccionar texto, el clic derecho de ratón y la tecla Ctrl (para evitar los atajos de teclado).

Antes de nada, tengo que decir que esto de deshabilitar el clic derecho del ratón o la posibilidad de seleccionar texto, me parece algo que influye demasiado y de forma muy negativa en la experiencia de usuario a la hora de visitar una web. Por lo que puedes encontrarte con que los usuarios que llegan a tu página no vuelvan. Aun que bien es cierto, que en ocasiones proteger un poco nuestro contenido es algo que todos queremos hacer, tampoco hay que volverse loco. Por eso creo que limitar estos usos en ciertos lugares de tu página está bien, pero tampoco hay que pasarse.

Deshabilitar en Wordpress las acciones de copiar, pegar, el clic derecho de ratón, seleccionar texto y la tecla Ctrl

Como decía, todo esto se puede hacer mediante una pequeña función que podemos añadir el archivo functions.php de nuestro tema hijo, o si lo tenemos (cosa muy recomendable) al plugin de funciones de nuestra instalación.

La función que vamos a ver a continuación solo va a funcionar en las páginas de «Política de cookies«, «Política de privacidad» y en la de «Términos y condiciones» de esta página. Por lo que el slug de las páginas habría que cambiarlo si quieres utilizarla en tu página web. En caso de querer utilizar estas limitaciones en toda la página, serviría con eliminar el condicionar que vamos a utilizar en la función.

El código

/*DESHABILITAR EL USO DEL CLIC DERECHO, DE LA SELECCIÓN Y DE LA TECLA CTRL (PARA EVITAR COMBINACIONES DE TECLAS)*/
add_action('wp_footer', 'entreunosyceros_denegar_copiar_pegar');
function entreunosyceros_denegar_copiar_pegar() {
    /*Limitamos el uso del script a las páginas de política de privacidad, terminos y condiciones y política de cookies. Solo hay que usar el slug de cada página*/
    if ( is_page('politica-de-privacidad-entreunosyceros') || is_page('terminos-y-condiciones-entreunosyceros') || is_page('politica-de-cookies')):
    ?>
        <script>
            (function( $ ) {
                // Evita copiar, pegar y el menu contextual
                $('body').bind('copy contextmenu',function(e) {
                    e.preventDefault(); return false; 
                });

                // Evita la selección del texto
                $(document).ready(function(){
                    $("body").css("-webkit-user-select","none");
                    $("body").css("-o-user-select","none");
                    $("body").css("user-select","none");
                    $("body").css("-moz-user-select","none");
                    $("body").css("-ms-user-select","none");
                   
                });

                //Deshabilitamos la tecla Ctrl, para evitar combinaciones de teclas
            document.addEventListener("keydown", function (event) {
                if (event.ctrlKey) {
                    event.preventDefault();
                }   
            });
            })( jQuery );

            
        </script>
    <?php
    endif; /*Cerramos la condición que se debe cumplir*/
}

Este código solo tenemos que añadirlo al final del archivo functions.php o al final de nuestro plugin de funciones. Pero hay que tener cuidado con el cierre o comienzo de php al principio de la función. Si en nuestro archivo nos encontramos ?>, tendremos que eliminarlo para que todo funcione de forma correcta.

Bueno, pues como decía, esto es un pequeño añadido de seguridad para nuestro contenido, aun que no es infalible. Esto solo lo he podido probar en Firefox y Chrome, por lo que no puedo asegurar que en Opera, Safari o cosas parecidas funcione igual de bien. Pero espero que a la usuaria que me pregunto por ello, le pueda venir bien y solucionarle el problema que tenga.

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.