• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Themes / Mostrar elementos según día y hora en WordPress

Mostrar elementos según día y hora en WordPress

[ 1 junio 2023 ] [ Autor: Jhon Marreros Guzmán ][ Themes - Intermedio] [ ]

mejoras

Suscríbete a DecodeCMS:  

En este artículo veremos cómo seleccionar cualquier elemento de nuestro sitio web para que sólo sean visibles determinados días y horas, realizaremos esto utilizando código Javascript.

 

Agregar código Javascript

En un artículo anterior habíamos visto diferentes formas en que podemos agregar código Javascript en WordPress, por lo que te sugiero revisarlo antes.

 

Seleccionando el elemento que quieres ocultar

Para la selección del elemento, puedes hacerlo de manera similar a como seleccionas un elemento para dar estilos CSS.

seleccionar elemento a ocultar

 
En la imagen anterior para seleccionar el ítem de menú de contacto, podemos utilizar tanto el ID como las clases del elemento, por ejemplo:

#menu-item-2447
.menu-item-2447

En el caso anterior estas clases no se repetirán ya que incluyen el identificador del menú como parte del nombre, sin embargo es recomendable usar una clase o identificador padre.

 

Código Javascript

Una vez que tienes identificado el elemento a ocultar, entonces solo sera necesario usarlo en la constante selection del código Javascript. Ten en cuenta que puedes seleccionar varios elementos separándolos por una coma.

En este código también puedes configurar el horario de acuerdo a los días (1-7) y rango de horas (0-24) en la constante shedule, este horario indica sólo los días y horas en que el elemento estará visible.


(function( $ ) {
	'use strict';

    // Datos de ejemplo
    const schedule = {
        '1' : '8-10-15-20', // rango de horas
        '2' : '10-12'
    };

    // Selector, pueden selecionarse varios
    const selection = '#menu-item-2447, form.woocommerce-product-search';

    const current = new Date();
    const day = current.getDay();
    const hour = current.getHours();

    $(selection).hide();

    if ( schedule[day] ) {
        const hours = schedule[day].split('-')
                        .map( h => parseInt(h));

        if  ((hour >= hours[0] && hour <= hours[1]) ||
              (hour >= hours[2] && hour <= hours[3])) {
            $(selection).show();
        } 
    } 

})( jQuery );

En el código anterior:

  • Usamos la constante schedule para definir los días y horas en los que se mostrará el elemento o elementos seleccionados
  • La constante selector almacena el elemento o elementos a ocultar fuera del horario
  • Obtenemos la fecha actual, el día y hora del ordenador del usuario
  • Ocultamos los elementos seleccionados
  • Hacemos comprobaciones, si estamos en el día y el rango de horas, entonces mostramos el elemento

 

Conclusión

Tal como has podido comprobar puedes mostrar determinados elementos de tu sitio web sólo en determinados días y horas y hemos visto como realizar esto directamente a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Quitar el menú de WooComerce en la administración de WordPress para ciertos usuariosQuitar el menú de WooComerce en la administración de WordPress para ciertos usuarios
  • Eliminar automáticamente las imágenes al borrar una entradaEliminar automáticamente las imágenes al borrar una entrada
  • Ocultar precios de productos a usuarios visitantesOcultar precios de productos a visitantes en WooCommerce
  • Deshabilitar Información de Usuarios de la REST API de WordPressDeshabilitar Información de Usuarios de la REST API de WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. Sal Castanedo

    19 enero, 2024

    Excelente código!
    Muy limpio y simple. En caso de querer mostrar / ocultar un elemento dependiendo del día del mes, cómo habría que manejar las constantes y el «if»
    Gracias!

    • Jhon Marreros Guzmán

      23 enero, 2024

      Hola, el primer valor de la variable schedule indica el número de mes, por defecto todos los días están ocultos, salvo lo que aparecen en esa variable.

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad SEO social woocommerce

Populares

Cambiar el rango de precios de productos variables en WooCommerce

Usar el Media Uploader de WordPress en tus plugins y temas

Letra capital en párrafos en WordPress

Poner WordPress en Mantenimiento sin plugins

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2026 Todos los derechos reservados