Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Mostrar una Frase aleatoria al día (Aporte + Duda)

Estas en el tema de Mostrar una Frase aleatoria al día (Aporte + Duda) en el foro de WordPress en Foros del Web. Hola, bueno les traigo un codigo que básicamente sirve para poner frase aleatoria cada vez que refrescas la página .. deben de poner esto en ...
  #1 (permalink)  
Antiguo 01/02/2018, 16:19
 
Fecha de Ingreso: agosto-2014
Mensajes: 294
Antigüedad: 9 años, 7 meses
Puntos: 4
De acuerdo Mostrar una Frase aleatoria al día (Aporte + Duda)

Hola, bueno les traigo un codigo que básicamente sirve para poner frase aleatoria cada vez que refrescas la página.. deben de poner esto en function.php:

Código PHP:
 function generar_frase(int $numero_frases

  
    
$resultado rand(1$numero_frases); 
    
$frase

   switch(
$resultado
   { 
      case 
1$frase "Esta es mi frase 1"; break; 
      case 
2$frase "Esta es mi frase 2"; break; 
      case 
3$frase "Esta es mi frase 3"; break; 
      case 
4$frase "Esta es mi frase 4"; break; 
      case 
5$frase "Esta es mi frase 5"; break; 
      case 
6$frase "Esta es mi frase 6"; break; 
      case 
7$frase "Esta es mi frase 7"; break; 
      case 
8$frase "Esta es mi frase 8"; break; 
      case 
9$frase "Esta es mi frase 9"; break; 
      case 
10$frase "Esta es mi frase 10"; break; 
   } 
  
   echo 
$frase

Y esto donde quieren que se vean las frases:

Código PHP:
<?php generar_frase(1); ?>


La pregunta que tengo, es conocen algún código que deje poner una frase diaria ? y no cada vez que se refresque la página ?

Muchas Gracias
  #2 (permalink)  
Antiguo 03/02/2018, 11:02
Avatar de ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 1 mes
Puntos: 1146
Respuesta: Mostrar una Frase aleatoria al día (Aporte + Duda)

Que fea forma de poner una frase aleatoria, aquí te dejo un código de ejemplo que debiera funcionar, no lo he probado ya que lo hice al vuelo rápido.

Código PHP:
Ver original
  1. <?php
  2. // http://php.net/manual/es/timezones.php
  3. date_default_timezone_set('America/Mexico_City');
  4. function generar_frase($excluir = false){
  5.     $frases = array(
  6.         'Mi frase 1',
  7.         'Mi frase 2',
  8.         'Mi frase 3',
  9.         'Mi frase 4',
  10.         'Mi frase 5',
  11.         'Mi frase 6',
  12.     );
  13.  
  14.     if($excluir){
  15.         unset($frases[$excluir]);
  16.     }
  17.  
  18.     $nueva_frase = $frases[rand(0, count($frases) - 1)];
  19.  
  20.     update_option('mi_frase', json_encode(['item'=>$nueva_frase, 'limite'=>strtotime('+1 day')]));
  21.  
  22.     return $nueva_frase;
  23. }
  24.  
  25. add_shortcode('mi_frase', 'shortcode_frase');
  26.  
  27. shortcode_frase{
  28.     $ultima_frase = get_option('mi_frase', null);
  29.     if(!empty($last_item)){
  30.         $frase = json_decode($$ultima_frase);
  31.         if(strtotime($frase['limite']) < time()){
  32.             generar_frase($frase['item']);
  33.         }else{
  34.             return $frase['item'];
  35.         }
  36.     }else{
  37.         generar_frase();
  38.     }
  39. }

si no te funciona, estudialo y corrigelo, estoy seguro que si investigas un poco entenderás la lógica y como funciona.

Etiquetas: aleatoria, frase, php
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:05.