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

El mismo contenido en todas las entradas

Estas en el tema de El mismo contenido en todas las entradas en el foro de WordPress en Foros del Web. Hola amigos. Estoy bien perdido con un error que me ha pasado. Resulta que, cuando creo una entrada nueva, el contenido de las otras entradas ...
  #1 (permalink)  
Antiguo 18/09/2014, 09:34
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 7 años, 1 mes
Puntos: 1
[Ayuda] El mismo contenido en todas las entradas

Hola amigos.

Estoy bien perdido con un error que me ha pasado.
Resulta que, cuando creo una entrada nueva, el contenido de las otras entradas no aparece y siempre sale el contenido de la mas nueva.

Entonces, si tengo 1 entrada el contenido es el correcto, si agrego otra nueva el contenido de la primera no aparece si no que aparece el de la segunda.
Es como si siempre ingresara a la ultima mas nueva.
Otro detalle es que el titulo de pagina si aparece como debe de ser.

Mi codigo del single es:
Código PHP:
<div id="contenedor_post">

  <?php if(have_posts()) : ?>

    <?php while(have_posts()) : the_post(); ?>

      <div id="titulo_post">
        <h3><?php the_title(); ?></h3>
      </div>

      <div id="cover_post">
        <?php echo get_cover(); ?>
      </div>

      <?php 
        
echo get_sinopsis();
        echo 
get_datos_tecnicos();
        echo 
get_capturas();
        echo 
get_trailer();
        echo 
get_enlaces();
      
?>

  <?php endwhile; ?>

<?php endif; ?>

  </div>
Las funciones get_sinopsis() y demas, son porque utilizo el plugin Advanced Custom Fields, y con ellas saco la información.

He cambado todas esas funciones por 'the _content()' y el problema persiste.

Gracias!

Última edición por rodo593; 18/09/2014 a las 09:56
  #2 (permalink)  
Antiguo 18/09/2014, 10:09
 
Fecha de Ingreso: agosto-2013
Mensajes: 90
Antigüedad: 7 años, 1 mes
Puntos: 1
Respuesta: El mismo contenido en todas las entradas

Resulta que el problema al parecer no era en ese bloque php, si no en este otro:
Código PHP:
<ul id='carrusel_elementos'>
                    
                        <?php
                            $posts 
get_posts'cat=peliculas&numberposts=15' );
                            foreach( 
$posts as $post ) : ?>
                                <li>
                                    <a href='<?php the_permalink(); ?>' title="<?php the_title(); ?>"><?php the_post_thumbnail'full' );?></a>
                                </li>
                            
                            <?php endforeach; 
                        
?>

                    </ul>
Ese lo tengo en el header, se supone que no debería de afectarme, pero si lo hace.
Lo he quitado y las entradas se muestran tal como deben de ser.

// Edito

Al parecer ya lo he solucionado.
Lo que he hecho es reescribir la una linea diferente, quedando así:
Código PHP:
Ver original
  1. $pts = get_posts( 'cat=peliculas&numberposts=15' );
  2.                             foreach( $pts as $post ) : ?>

No entiendo bien porque al renombrar $posts por $pts me ha funcionado.

¿Alguna idea?

Gracias!
  #3 (permalink)  
Antiguo 19/09/2014, 03:21
Avatar de AlejandroGalvez  
Fecha de Ingreso: noviembre-2013
Mensajes: 189
Antigüedad: 6 años, 11 meses
Puntos: 49
Respuesta: El mismo contenido en todas las entradas

En Wordpress el contenido de la consulta actual suele almacenarse en la global $posts. Tú estabas modificando su contenido, por eso al cambiar el nombre te ha vuelto a funcionar. Por cierto deberías añadir la siguiente línea justo después de terminar tu foreach:

Código PHP:
Ver original
  1. <?php wp_reset_postdata(); ?>

Por último te digo que get_posts hace uso directo de WP_Query y fue ideado para usarse en un contexto muy específico. Concretamente para mostrar las entradas listadas en el front-end. Puedes usarlo como te dé la gana pero yo te recomiendo que en su lugar utilices directamente WP_Query. Más potente, cómodo y sencillo.

wp_reset_postdata documentación: http://codex.wordpress.org/Function_...reset_postdata
WP_Query documentación: http://codex.wordpress.org/Class_Reference/WP_Query

Etiquetas: contenido, entradas, php, plugin, post, todas
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 03:33.