Foros Programación Servidor
Duda con código para rotar banners en Wordpress
7 7 Respuestas Sábado 10 de abril, 2010
Hola a todos. Estoy buscando la forma de que unos banners colocados entre las entradas de un blog en wordpress puedan rotar cada vez que se entra en la página. Para colocar los banners entre los post he usado esto
¿Se os ocurre algo para hacer que cambien de posición cuando se entra de nuevo en la página?¿alguien me guía un poco?
Gracias
<?php if ($count == 4) : ?>
<div id="banner1">aqui va el primer banner</div
<?php elseif ($count == 14) : ?>
<div id="banner2">Aqui va el segundo banner</div
<?php elseif ($count == 19) : ?>
<div id="banner3">Aqui va el tercer banner</div
<?php endelseif; ?>
<?php endif; $count++; ?>
¿Se os ocurre algo para hacer que cambien de posición cuando se entra de nuevo en la página?¿alguien me guía un poco?
Gracias
-
Cloudstudio
Registrado desde 05/05/09 / Número de posts: 537
<?php if ($count == 4) : ?>
<div id="banner<?php echo rand(1,3); ?>">aqui va el primer banner</div
<?php elseif ($count == 14) : ?>
<div id="banner<?php echo rand(1,3); ?>">Aqui va el segundo banner</div
<?php elseif ($count == 19) : ?>
<div id="banner<?php echo rand(1,3); ?>">Aqui va el tercer banner</div
<?php endelseif; ?>
<?php endif; $count++; ?>
Asi, es una forma rapida, pero te arriesgas a que te salgan 2 iguales.
Para que los 3 sean diferentes puedes hacerlo de la siguiente forma :
Tendras que crear un array, con 3 posiciones, 1, 2 , 3
Con la funcion : http://php.net/manual/en/function.shuffle.php , puedes recorrer el array y desordenarlo, con eso consigues que nunca se repita los numeros.
Tambien podrias hacerlo con : http://php.net/manual/en/control-structures.switch.php y usando la funcion rand
-
daf77
Registrado desde 09/04/03 / Número de posts: 128
Gracias Curviline por tu respuesta. Voy a intentar lo que me dices, pero lo veo complicado ya que mis conocimientos de php son bastante básicos. -
Esteban
Registrado desde 17/10/08 / Número de posts: 27
Hola!! Yo tengo en mi web http://e2desarrollo.com rotación de cabeceras. El código que uso es el siguiente:/*El rand es una funcion de random de php, tienes que poner entre parentesis el minimo y el maximo numero por el cual va a hacer el aleatorio*/
<?php $n = rand(1,11); ?>
<img src="logo<?php echo $n ?>.gif" alt="E2 Desarrollo"/>
El problema de esto es, como dice Cuviline, que existe la posibilidad de que las imagenes se repitan. -
daf77
Registrado desde 09/04/03 / Número de posts: 128
Gracias Esteban. Ese es mi gran problema como solucionar que no se repitan los banners... -
Cloudstudio
Registrado desde 05/05/09 / Número de posts: 537
Pues con las 2 funciones que te puse, puedes lograr eso -
daf77
Registrado desde 09/04/03 / Número de posts: 128
No lo dudo Curviline, pero es que no soy nada experto en php y no logo imaginar como hacerlo. -
markshock
Registrado desde 21/03/05 / Número de posts: 780
No es mejor que te instales un plug-in que haga todo eso por si solo...
http://ahinosvemos.com/wp-ads/
http://www.maxblogpress.com/plugins/mba/
Son mucho mas sencillos de usar, sobre todo para alguien que no tiene mañana con PHP...Desarrollo web, servicios integrales en internet
Work: http://www.estadoactivo.com
Yo: http://www.marctorres.es
Blog: http://www.marc-torres.com
Áreas Domestika
- Diseño (gráfico, web, industrial, producto)
- Programación (cliente, servidor, accesibilidad)
- Ilustración (autores, inspiración, técnicas)
- Fotografía (técnica, equipo, autores)
- Motion Graphics (showreels, software, estudios)
- Publicidad (campañas, anuncios, ideas)
- Informática (software, hardware, trucos)
- 3D (técnicas, iluminación, modelado)
- Experiencia de Usuario (usabilidad, AI, HCI)
- Cine, vídeo y televisión (críticas, producción)
- Música y Audio (sonidos, loops, discos)
- Espacios (arquitectura, interiorismo)