Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] WP wyświetlanie postów
Forum PHP.pl > Forum > Przedszkole
qpaa
Chciałbym wyświetlać na stronie głównej wpisy tylko z jednej strony. Nie potrafię sobie z tym poradzić. Kod strony głównej dotyczący wpisów. Można określić po ID że tylko ta strona ma być wyświetlania

  1. <?php if (have_posts()) :
  2. while (have_posts()) : the_post(); ?>
  3.  
  4. <div class="postid" id="post-<?php the_ID(); ?>">
  5.  
  6. <div class="story">
  7.  
  8. <div class="page_title"><h2><?php the_title(); ?></h2></div>
  9. <div class="storyContent">
  10. <?php the_content(); ?>
  11. <div style="clear:both;"></div>
  12. <?php wp_link_pages(array('before' => '<p><strong>Strony:</strong> ', 'after' => '</p>', 'next_or_number' => 'number')); ?>
  13. </div>
  14. </div>
  15.  
  16. </div><!-- close postid-->
  17.  
  18. <?php endwhile; else: ?>
SmokAnalog
Nie rozumiem kompletnie o co chodzi. Co nazywasz stroną? Podstronę?
qpaa
tak, na stronie głównej chciałbym wyświetlać posty tylko z jednej podstrony.
kosmos
Nie jestesmy tutaj wróżbitami, nie czytamy w myślach. Zadałeś bardzo, ale to bardzo niezrozumiałe (przynajmniej dla mnie) pytanie.
Już wiemy, że strona to strona główna, czym w takim razie jest dla Ciebie podstrona?
Czy nie chodzi Ci przypadkiem o to że np. chcesz aby na danej stronie wyświetlało sie z bazy danych tylko i wyłącznie 50 rekordów? na następnej kolejne 50 rekordów czyli 50-100 ?
Opisz dokładnie jakie są wymagania aplikacji.
patryczakowy
WP_Query to powinno ci pomóc
qpaa
Chodzi mi o to że na stronie głównej są wyświetlane wszystkie posty, a na podstronach tylko z danej podstrony. Tak np. na podstronie aktualności są posty tylko z aktualności. W jaki sposób określić na stronie głównej wyświetlanie tylko postów z podstrony np. aktualności a nie wszystkich postów z kolejnych podstron ?

Próbując wykorzystać wp_query zmieniłem stronę główną w taki sposób:

  1. <?php get_header(); ?>
  2.  
  3.  
  4. <!-- ************************************************************* -->
  5. <?php
  6. // the query
  7. $query = new WP_Query( 'paged=213' ); ?>
  8.  
  9.  
  10.  
  11. <!-- pagination here -->
  12.  
  13. <!-- the loop -->
  14.  
  15.  
  16.  
  17. <?php if ( $the_query->have_posts() ) : ?>
  18.  
  19. <div class="navigation">
  20. <div class="alignleft"><?php next_posts_link('&laquo; Starsze wpisy') ?></div>
  21. <div class="alignright"><?php previous_posts_link('Nowsze wpisy &raquo;') ?></div>
  22. <div style="clear:both;"></div>
  23. </div>
  24.  
  25. <?php while ( $the_query->have_posts() ) : $the_query->the_post();
  26.  
  27. ?>
  28.  
  29. <div <?php post_class(); ?> id="post-<?php the_ID(); ?>">
  30.  
  31. <!-- ************************************************ -->
  32.  
  33. <div class="story">
  34. <div class="story_title">
  35. <div class="title_bg">
  36. <div class="title_top">
  37. <div class="title_bottom">
  38. <h2><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h2>
  39. <div class="story_category"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/cat_bullet.gif" alt="" /> Kategoria: <?php the_category(',') ?> autor: <?php the_author(); ?></div>
  40. <div class="story_date"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/date_bullet.gif" alt="" /> <?php the_date('j.M.Y'); ?></div>
  41. <div style="clear:both;"></div>
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="storyContent">
  47. <?php the_content('Czytaj dalej...'); ?>
  48. <div style="clear:both;"></div>
  49. </div>
  50. <div class="postmeta">
  51. <p class="story_tags"><?php the_tags('<img src="'.get_bloginfo("stylesheet_directory").'/images/tag_bullet.gif" alt="" />&nbsp; Tagi: ', ', ', '<br />'); ?></p>
  52. <p class="read_more"><img src="<?php bloginfo('stylesheet_directory'); ?>/images/bullet2.gif" alt="" />&nbsp; <a href="<?php the_permalink(); ?>">Czytaj dalej...</a></p>
  53. <div style="clear:both;"></div>
  54. </div>
  55.  
  56. </div><!-- close story -->
  57.  
  58. <!-- ************************************************ -->
  59.  
  60. </div><!-- close postid-->
  61.  
  62. <?php endwhile; ?>
  63.  
  64. <div class="navigation">
  65. <div class="alignleft"><?php next_posts_link('&laquo; Starsze wpisy') ?></div>
  66. <div class="alignright"><?php previous_posts_link('Nowsze wpisy &raquo;') ?></div>
  67. <div style="clear:both;"></div>
  68. </div>
  69.  
  70. <?php wp_reset_postdata(); ?>
  71.  
  72. <?php else: ?>
  73.  
  74. <h2 class="error">Nie znaleziono</h2>
  75. <p class="error">Niestety, nie ma tutaj tego, co szukasz.</p>
  76. <?php //get_search_form(); ?>
  77.  
  78. <?php endif; ?>
  79.  
  80.  
  81. <!-- ************************************************************* -->
  82. </div>
  83. </div>
  84. <div class="content_bottom"></div>
  85. </div>
  86.  
  87. <?php get_sidebar(); ?>
  88.  
  89. <?php get_footer(); ?>


Teraz wywala mi błąd przy linijce $query = new WP_Query( 'paged=213' ); ?> . Jak zainstalować to wp_query w wordpressie ?
patryczakowy
A jaki błąd ci wywala?
JAk już to powinno wyglądać w taki sposób
  1. $query = new WP_Query( array('paged'=>213 ));

i to oznacza że chcesz wyświetlić 213 stronę
jeśli chcesz stronę o id 213 powinno wyglądąć to tak:
  1. $query = new WP_Query( array('page_id' =>213 ));
qpaa
Ok zmieniłem na:
$query = new WP_Query( array('paged'=>213 ));
ale pokazuje taki komunikat:

  1. Fatal error: Call to a member function have_posts() on a non-object in /home/triatlondr/www/wp-content/themes/tree-house/index.php on line 17

linijka 17:
  1. <?php if ( $the_query->have_posts() ) : ?>
patryczakowy
bo przypisujesz do zmiennej $query a pużniej używasz $the_query
qpaa
rzeczywiście masz rację po poprawce na $query nie pokazuje błędu, ale też nie pokazuje postów tylko wykonuje koniec kodu class="error":

Nie znaleziono
Niestety, nie ma tutaj tego, co szukasz.
patryczakowy
to widocznie niema tego co szukasz
  1. $query = new WP_Query( array('paged'=>213 ));

w wpisie szukasz strony nr 213 nie o id 213 tylko 213 - tej podstrony
qpaa
to jest końcówka odnośnika bezpośredniego strony /?p=213 oznacza to nr strony tak ?
patryczakowy
Permalink Types to powinno cię naprowadzić
qpaa
Dziękuję bardzo za pomoc teraz działa.

  1. $the_query = new WP_Query( array('p' =>213 )); ?>
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.