Tutorial WordPress: Añadir iconos sociales en el footer con HTML y clases nativas del tema

·

·

Introducción

Este tutorial explica, paso a paso y con todo lujo de detalles, cómo añadir iconos sociales en el footer de un sitio WordPress usando HTML y las clases nativas del tema. Se cubren opciones seguras y accesibles: editar el archivo de plantilla del footer (footer.php) en un child theme, usar un menú social registrado, aprovechar las clases CSS que trae el tema (por ejemplo clases de iconos o utilidades) y alternativas basadas en SVG o fuentes de iconos. Incluye ejemplos de código listos para copiar y adaptar.

Requisitos y buenas prácticas previas

Opciones para implementar iconos sociales en el footer

  1. Insertar HTML directamente en footer.php del child theme (ideal si quieres control total).
  2. Crear un menú social en Apariencia → Menús y mostrarlo en el footer con wp_nav_menu (más flexible y editable desde el panel).
  3. Usar un widget o un bloque (si el tema soporta widgets o bloques en el footer).
  4. Usar shortcodes desde functions.php o un bloque HTML personalizado.

1) Ejemplo de HTML simple en el footer usando clases nativas

A continuación un bloque HTML que puedes integrar dentro de la estructura del footer del tema. Asume que el tema tiene una clase contenedora .site-footer o similar y algunas utilidades para iconos como .icon-facebook, .icon-twitter. Si tu tema usa otra convención, reemplaza los nombres de clase por los correctos.

ltdiv class=site-footer__social footer-socialgt
  ltul class=social-linksgt
    ltli class=social-links__itemgt
      lta href=https://facebook.com/tu-perfil class=social-links__link icon-facebook aria-label=Facebook target=_blank rel=noopener noreferrergtFacebooklt/agt
    lt/ligt
    ltli class=social-links__itemgt
      lta href=https://twitter.com/tu-perfil class=social-links__link icon-twitter aria-label=Twitter target=_blank rel=noopener noreferrergtTwitterlt/agt
    lt/ligt
    ltli class=social-links__itemgt
      lta href=https://instagram.com/tu-perfil class=social-links__link icon-instagram aria-label=Instagram target=_blank rel=noopener noreferrergtInstagramlt/agt
    lt/ligt
  lt/ulgt
lt/divgt

Notas sobre el HTML anterior

2) CSS de ejemplo aprovechando clases nativas (o extendiendo)

Ejemplo de estilos que respetan el diseño del tema, usan variables si el tema las define y aplican tamaños, colores y efectos al pasar el ratón.

.footer-social { 
  display: flex
  align-items: center
}
.social-links {
  list-style: none
  margin: 0
  padding: 0
  display: flex
  gap: 0.75rem
}
.social-links__link {
  display: inline-flex
  align-items: center
  justify-content: center
  width: 36px
  height: 36px
  border-radius: 50%
  color: var(--footer-text-color, #ffffff)
  background: transparent
  text-decoration: none
  transition: background-color .18s ease, color .18s ease, transform .12s ease
  font-size: 16px / para icon-font /
}
.social-links__link:hover,
.social-links__link:focus {
  background-color: rgba(255,255,255,0.08)
  transform: translateY(-2px)
  outline: none
  box-shadow: 0 2px 6px rgba(0,0,0,0.12)
}
/ Si usas pseudo-elementos para iconos (tema) /
.icon-facebook::before { content: f09a / ejemplo: código Font Awesome / }
.icon-twitter::before  { content: f099 }
.icon-instagram::before{ content: f16d }
/ Si usas SVG inline, ajustar tamaño /
.social-links__link svg { width: 20px height: 20px display: block }

3) Registrar y mostrar un menú social (recomendado)

Registrar un menú específico para redes facilita la gestión desde Apariencia → Menús. Añade este código al functions.php del child theme para registrar la ubicación social.

// Registrar ubicación de menú (añadir a functions.php del child theme)
function tu_tema_child_register_menus() {
  register_nav_menus( array(
    footer-social => Menú Social Footer,
  ) )
}
add_action( after_setup_theme, tu_tema_child_register_menus )

Luego, en el archivo footer.php del child theme, muestra el menú con wp_nav_menu. Personaliza container, menu_class y link_before si quieres insertar iconos mediante clases:

// Mostrar el menú social en footer.php
if ( has_nav_menu( footer-social ) ) {
  wp_nav_menu( array(
    theme_location => footer-social,
    container      => nav,
    container_class=> footer-social,
    menu_class     => social-links,
    link_before    => ,
    link_after     => ,
    depth          => 1,
  ) )
}

Consejo: al crear los enlaces en el menú, coloca como Texto visible el nombre de la red (ej. Facebook) o utiliza el campo clase del enlace para añadir una clase como icon-facebook y ocultar el texto visualmente mediante CSS si empleas sólo iconos.

4) Uso de SVG inline (mejor rendimiento y accesibilidad)

Si el tema no incluye una librería de iconos, los SVG inline ofrecen alta calidad y control de color. Inserta el SVG dentro del enlace para que sea accesible añade role=img y aria-label o un title dentro del SVG.

lta href=https://instagram.com/tu-perfil class=social-links__link aria-label=Instagram target=_blank rel=noopener noreferrergt
  ltsvg role=img viewBox=0 0 24 24 xmlns=http://www.w3.org/2000/svg aria-hidden=false focusable=falsegt
    lttitlegtInstagramlt/titlegt
    ltpath d=M12 2.2c3.2 0 3.6 0 4.9.1 1.2.1 1.9.2 2.4.4.6.2 1 .4 1.5.8.5.4.9.9 1.3 1.4.4.5.6.9.8 1.5.2.5.3 1.2.4 2.4.1 1.3.1 1.7.1 4.9s0 3.6-.1 4.9c-.1 1.2-.2 1.9-.4 2.4-.2.6-.4 1-.8 1.5-.4.5-.9.9-1.4 1.3-.5.4-.9.6-1.5.8-.5.2-1.2.3-2.4.4-1.3.1-1.7.1-4.9.1s-3.6 0-4.9-.1c-1.2-.1-1.9-.2-2.4-.4-.6-.2-1-.4-1.5-.8-.5-.4-.9-.9-1.3-1.4-.4-.5-.6-.9-.8-1.5-.2-.5-.3-1.2-.4-2.4C2.2 15.6 2.2 15.2 2.2 12s0-3.6.1-4.9c.1-1.2.2-1.9.4-2.4.2-.6.4-1 .8-1.5.4-.5.9-.9 1.4-1.3.5-.4.9-.6 1.5-.8.5-.2 1.2-.3 2.4-.4C8.4 2.2 8.8 2.2 12 2.2z /gt
  lt/svggt
lt/agt

5) Accesibilidad y SEO

6) Detectar y aprovechar las clases nativas del tema

  1. Inspecciona la estructura del footer con las herramientas de desarrollo del navegador (clic derecho → Inspeccionar).
  2. Localiza contenedores y clases que el tema ya aplica (p. ej. .site-footer, .footer-widgets, utilidades de espaciado o colores).
  3. Reutiliza esas clases en tu HTML para garantizar coherencia: por ejemplo envuelve el bloque social dentro de la clase del footer para heredar paddings y colores.
  4. Si el tema incluye un sistema de icon-font, revisa la documentación o el archivo CSS para saber las clases exactas (p. ej. .icon-xxx o .social-xxx).

7) Comprobaciones finales y pruebas

Ejemplo completo: footer.php mínimo combinando wp_nav_menu y estructura

lt?php
// En footer.php (child theme), lugar donde quieras mostrar el bloque social
?gt

ltfooter class=site-footer role=contentinfogt
  ltdiv class=wrapgt
    lt!-- Otros elementos del footer --gt

    ltnav class=footer-social aria-label=Redes socialesgt
      lt?php
      if ( has_nav_menu( footer-social ) ) {
        wp_nav_menu( array(
          theme_location => footer-social,
          container      => false,
          menu_class     => social-links,
          depth          => 1,
          link_before    => ,
          link_after     => ,
        ) )
      } else {
        // Fallback: enlaces estáticos
        ?gt
        ltul class=social-linksgt
          ltli class=social-links__itemgtlta href=https://facebook.com/tu-perfil class=social-links__link aria-label=Facebook target=_blank rel=noopener noreferrergtFacebooklt/agtlt/ligt
          ltli class=social-links__itemgtlta href=https://twitter.com/tu-perfil class=social-links__link aria-label=Twitter target=_blank rel=noopener noreferrergtTwitterlt/agtlt/ligt
        lt/ulgt
        lt?php
      }
      ?gt
    lt/navgt

  lt/divgt
lt/footergt

Consejos finales y mantenimiento



Leave a Reply

Your email address will not be published. Required fields are marked *