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

Sidebar o Widget con efecto random

Estas en el tema de Sidebar o Widget con efecto random en el foro de WordPress en Foros del Web. La verdad que no sé cómo poner el título. Querría saber cómo hacer el sidebar como sale en páginas amarillas. Me explico, tengo un post ...
  #1 (permalink)  
Antiguo 04/12/2015, 06:14
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 8 años, 3 meses
Puntos: 2
Sidebar o Widget con efecto random

La verdad que no sé cómo poner el título. Querría saber cómo hacer el sidebar como sale en páginas amarillas. Me explico, tengo un post type que se llama animales y dentro de ese post type tengo entradas tipo blog. En páginas amarillas tienen en el menú ebooks y ahí tienen entradas con todos los ebooks que tienen pero en el sidebar no aparece siempre el mismo si no que va cambiando según se actualiza la página. Lo mismo con proyectos. Cómo podría hacer eso???
Tengo hecho metiendo en widget texto html pero con eso solo saco uno y el que yo pongo y la verdad no creo que esté bien. Lo suyo creo que sería meter un tipo de categoría específica y que se vea con el estilo que quieras pero ni idea de cómo hacerlo
Espero haberme explicado bien

Un saludo

Última edición por elpre; 04/12/2015 a las 06:31
  #2 (permalink)  
Antiguo 06/12/2015, 18:11
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 6 años
Puntos: 39
Respuesta: Sidebar o Widget con efecto random

Puedes meter en un array() todos los ID's de tus post type animales y luego usando la función array_rand() conseguir aleatoriamente uno de ellos y mostrarlo usando WP_Query...
__________________
velarde23.com - Soluciones Web
  #3 (permalink)  
Antiguo 07/12/2015, 06:48
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 14 años, 2 meses
Puntos: 638
Respuesta: Sidebar o Widget con efecto random

Exacto... pero no es necesario usar array_rand(), dentro de WP_Query puedes usar la clausula orderby => rand...

Saludos.
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #4 (permalink)  
Antiguo 07/12/2015, 16:18
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 8 años, 3 meses
Puntos: 2
Respuesta: Sidebar o Widget con efecto random

pensaba que había contestado pero parece que no.
Esto lo tendría que poner en el php del sidebar, en el php de la página donde vaya a estar el sidebar, o en el html del widget???
  #5 (permalink)  
Antiguo 07/12/2015, 21:20
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 6 años
Puntos: 39
Respuesta: Sidebar o Widget con efecto random

Cuando registras un Widget Personalizado tienes una función que imprime el contenido en la web, otra para guardar datos en la base de datos, etc... tienes que tener nociones de php o sino buscar un plugin que te haga el trabajo, aunque no te recomiendo hacer esto último para algo que puede ser tan sencillo...
__________________
velarde23.com - Soluciones Web
  #6 (permalink)  
Antiguo 08/12/2015, 08:02
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 8 años, 3 meses
Puntos: 2
Respuesta: Sidebar o Widget con efecto random

mmmmmmm, donde veo más problema es que estoy utilizando el template de Avada y si por ejemplo me voy a sidebar.php pues está vacío.
Yo por ejemplo si lo hiciese todo a mano, lo haría como suelo hacerlo normalmente, en el content.php, cargaría el sidebar como me estáis diciendo, pero es que con este plugin, no tengo ningún content y ando un poco perdido en ese sentido la verdad
  #7 (permalink)  
Antiguo 09/12/2015, 02:36
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 8 años, 3 meses
Puntos: 2
Respuesta: Sidebar o Widget con efecto random

Cita:
Iniciado por elpre Ver Mensaje
mmmmmmm, donde veo más problema es que estoy utilizando el template de Avada y si por ejemplo me voy a sidebar.php pues está vacío.
Yo por ejemplo si lo hiciese todo a mano, lo haría como suelo hacerlo normalmente, en el content.php, cargaría el sidebar como me estáis diciendo, pero es que con este plugin, no tengo ningún content y ando un poco perdido en ese sentido la verdad
Bueno, siguiendo con el tema he encontrado lo que creo que tengo que poner para hacer el random de animales
Código PHP:
$args = array(
    
'post_type' => 'animales',
    
'orderby'        => 'rand',
    
'posts_per_page' => '1',
    ),
);
$query = new WP_Query$args ); 
Dentro de animales tengo categorías, que son gatos y perros. Si quisiese coger solo perros tendría que poner supongo algo así (esto lo saco de dentro de mi lógica), pero vamos, que con lo de arriba de primeras me vale
Código PHP:
$args = array(
    
'post_type' => 'animales',
    
'tax_query' => array(
        array(
            
'taxonomy' => 'perros',
            
'orderby'        => 'rand',
            
'posts_per_page' => '1',
        ),
    ),
$query = new WP_Query$args ); 
Hasta ahí bien, pero esto dónde lo tengo que poner??? esto va en el function.php al crear un nuevo sidebar o cómo. Ahí es donde me pierdo un poco. Como ya he comentado los sidebar los puedo crear desde wordpress porque el avada me lo permite

Última edición por elpre; 09/12/2015 a las 02:48
  #8 (permalink)  
Antiguo 10/12/2015, 07:14
Avatar de rogertm
Mod->Cuba
 
Fecha de Ingreso: julio-2005
Ubicación: /home/Cuba/Habana/rogertm/
Mensajes: 2.922
Antigüedad: 14 años, 2 meses
Puntos: 638
Respuesta: Sidebar o Widget con efecto random

Para que no pases por lo que muchos hemos pasado, te recomiendo que crees un Child Theme y allí hagas todas las modificaciones que necesitas...

Entonces, en el functios.php de tu Child Theme creas una función que te genere todo el código que quieres, así como vas está OK...

Código PHP:
Ver original
  1. <?php
  2. function my_child_theme_function(){
  3.     // Tu código aquí
  4. }
  5. ?>
Luego en el archivo sidebar de tu Child Theme llamas la función, de todas maneras fíjate si en el sidebar.php de la platilla que usas no existe algo como:
Código PHP:
Ver original
  1. do_action( 'action_name' )
De ser así, en lugar de crear un nuevo archivo sidebar.php, agregas esto al final de la función que tienes, osea, fuera de la función
Código PHP:
Ver original
  1. add_action( 'action_name', 'my_child_theme_function' );
Te recomiendo este enlace https://codex.wordpress.org/Plugin_API

Ojo: Si creas un archivo llamado sidebar.php en tu Child Theme, este sobreescribirá el otro, y aunque no tiene mucho que ver con el tema, también te recomiendo este otro enlace https://developer.wordpress.org/them...ate-hierarchy/

Saludos
__________________
Friki y Blogger por Cuenta Propia:213
Twenty'em: Theming is Prose
  #9 (permalink)  
Antiguo 10/12/2015, 17:18
Avatar de siddartha23  
Fecha de Ingreso: septiembre-2013
Mensajes: 357
Antigüedad: 6 años
Puntos: 39
Respuesta: Sidebar o Widget con efecto random

O puedes crear un nuevo WP_Widget y pegar tu código ahí, de paso que agregas una opción para que puedas administrar si se van a ver los post de "perros" o "gatos"...
__________________
velarde23.com - Soluciones Web
  #10 (permalink)  
Antiguo 07/01/2016, 03:19
 
Fecha de Ingreso: junio-2011
Mensajes: 151
Antigüedad: 8 años, 3 meses
Puntos: 2
Respuesta: Sidebar o Widget con efecto random

Perdonad que no contestase hasta ahora ya que he estado ausente con una buenas y merecidas vacaciones.
Estas 2 últimas cosas que me habéis comentado tengo que probarlas.
Para salir un poco del paso instalé el plugin "Advanced Random Posts Widget" que hace que aparezca un poco lo que quiero ya que se puede filtrar por categorías , solo que en el foro del plugin estuve mirando y no se podía hacer que apareciese un botón de "ver más" con un texto explicativo. Se puede hacer que aparezca un número de palabras del post y el título sería el enlace, pero creo que voy a probar estas soluciones a ver qué pasa.

Muchas gracias

Etiquetas: efecto, página, post, random, sidebar
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 18:36.