Soporte » Diseño – Temas y plantillas » Error al crear una query

  • Resuelto asego

    (@asego)


    Buenas a tod@s,
    He creado un custom post type, llamado libro, y tambien un fichero single-libro, para mostrar cada uno de los custom que se creen. Ahora necesito visualizarlo en una pagina, y he leido de crear una pagina que liste todos los libros; he creado un fichero llamado page-libro.php, donde esta la query siguiente:

    ———————————————

    $temp = $wp_query;
    $wp_query = null;
    $wp_query = new WP_Query();
    $wp_query->query(post_type=libro);

    if ($wp_query->have_posts()) : while ($wp_query->have_posts()) : $wp_query->the_post();
    the_title();
    the_content();
    endwhile;
    endif;

    get_footer(); ?>
    ———————————————

    Al intentar visualizarlo en mi navegador, me sale el siguiente error.

    ———————————————
    Parse error: syntax error, unexpected ‘=’, expecting ‘,’ or ‘)’ in C:\xampp\htdocs\gimnastica\wp-content\themes\Gimnastica\page-libro.php on line 11
    ———————————————

    Alguien me puede echar una mano?
    Un saludo

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • Moderador almendron

    (@almendron)

    Echa un vistazo a https://codex.wordpress.org/Post_Types

    Hay tienes varios ejemplos de como hacer las consultas. Por ejemplo:

    $args = array( 'post_type' => 'product', 'posts_per_page' => 10 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
      the_title();
      echo '<div class="entry-content">';
      the_content();
      echo '</div>';
    endwhile;

    Hola @asego

    Cuando creas un custom_post_type, si le has puesto en las opciones
    'has_archive' => true puedes usar la jerarquía de plantillas de WordPress.
    Como te describen en https://developer.wordpress.org/themes/basics/template-hierarchy/:

    Custom Post Types use the following path to render the appropriate archive index page.

    archive-{post_type}.php – If the post type is product, WordPress will look for archive-product.php.
    archive.php
    index.php

    Puedes coger el archive.php y colocarlo en tu tema hijo cambiando el nombre a archive-libro.php, y ya hacer las personalizaciones que quieras.

    Moderador almendron

    (@almendron)

    Si el problema es que ha puesto un = en lugar de => y que la construcción de la consulta no es la correcta.

    Buenas,
    Me funciono la primera opcion que propuso @almendron; debido a que la segunda, no sabia donde tengo que sustituir el = por el =>.
    Muchas gracias por vuestras contestaciones. Un saludo.

Viendo 4 respuestas - de la 1 a la 4 (de un total de 4)
  • El debate ‘Error al crear una query’ está cerrado a nuevas respuestas.