Imatge capçalera

Modificat el tema derivat perquè la imatge de capçalera sigui rotatòria (cada 10 dies) entre les que tinc definides, que he deixat en 10.

Faig servir la funcionalitat estàndard del twenty fourteen per incorporar les imatges de la capçalera, però canvio el codi per a triarr-la. Els canvis que hi he fet són:

  • Copio el fitxer header.php del tema original al directori del tema derivat.
  • Edito el fitxer i hi afegeixo una funció que genera la URL de la imatge que toca cada dia:
function nom_imatge () {
  /* Cada quants dies canviarà la imatge */
  $dies_entre_canvis = 10;
  /* Llista de totes les imatges definides com a capçalera */
  $imatges = get_uploaded_header_images();
  /* Número d'imatges que hi ha definides */
  $num_imatges = count($imatges);
  /* Imatge del dia: dividir el número de dia de l'any entre els dies que durarà cada imatge, sense decimals. Dividir el resultat entre el número d'imatges disponibles, i quedar-se amb el reste. */
  date_default_timezone_set("Europe/Andorra");
  $num_imatge_avui = (floor(date("z") / $dies_entre_canvis)) % $num_imatges;
  /* Nom de la imatge: l'element de la posició $num_imatge_avui dins de la llista d'imatges */
  $nom_imatge_avui = array_keys($imatges)[$num_imatge_avui];
  /* URL de la imatge està construïda a la llista d'imatges, només cal bolcar-la a la pàgina */
  echo $imatges[$nom_imatge_avui]["url"];
}
  • Al mateix fitxer,  unes línies més avall hi ha una crida a header_image() que insereix l’adreça de la imatge a la pàgina. La canvio per la meva funció:
<img src="<?php headerimage() nom_imatge(); ?>" width="<?php echo get_custom_header()->width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>">

Deixa un comentari

L'adreça electrònica no es publicarà. Els camps necessaris estan marcats amb *

Aquest lloc utilitza Akismet per reduir els comentaris brossa. Apreneu com es processen les dades dels comentaris.