Ver Mensaje Individual
  #2 (permalink)  
Antiguo 03/02/2018, 11:02
Avatar de ArturoGallegos
ArturoGallegos
Moderador
 
Fecha de Ingreso: febrero-2008
Ubicación: Morelia, México
Mensajes: 6.774
Antigüedad: 16 años, 2 meses
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.