Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Wybieranie wpisów z kilku kategorii, a z jednej nie. Jak to zrobić?, Aktualnie wybiera z jednej kategorii
kamil9012
post 13.11.2010, 01:32:39
Post #1





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


Witam.
Posiadam kilka kategorii na stronie o id=1, id=2, id=3, id=4, id=5. Każda kategoria posiada swoje wpisy. Dla ułatwienia podaję aktualny kod PHP, który wyświetla 5 wpisów z jednej kategorii o id=1:
  1. <?php $recent = new WP_Query("cat=1&showposts=5"); while($recent->have_posts()) : $recent->the_post();?>
  2. <?php if( get_post_meta($post->ID, "thumbnail", true) ): ?>
  3. <a href="<?php the_permalink() ?>" rel="bookmark"><img style="float:left;margin:0px 10px 0px 0px;" src="<?php echo get_post_meta($post->ID, "thumbnail", true); ?>" alt="<?php the_title(); ?>" /></a>
  4. <?php else: ?>
  5. <a href="<?php the_permalink() ?>" rel="bookmark"><img style="float:left;margin:0px 10px 0px 0px;" src="<?php bloginfo('template_url'); ?>/images/thumbnail.png" alt="<?php the_title(); ?>" /></a>
  6. <?php endif; ?>
  7. <b><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></b>
  8. <?php the_content_limit(80, ""); ?>
  9.  
  10. <div style="border-bottom:1px dotted #94B1DF; margin-bottom:10px; padding:0px 0px 10px 0px; clear:both;"></div>
  11.  
  12. <?php endwhile; ?>

gdzie główną rolę odgrywa kod:
  1. <?php $recent = new WP_Query("cat=1&showposts=5"); while($recent->have_posts()) : $recent->the_post();?>
  2. <?php if( get_post_meta($post->ID, "thumbnail", true) ): ?>

Decyduje on o tym, że wyświetlane jest 5 wpisów z kategorii o id=1. Chciałbym zrobić tak, żeby było wyświetlane 5 wpisów z kategorii o id=2, id=3, id=4, id=5. Wpisy z kategorii id=1 miałyby być nie wyświetlane. Niestety nie mam pojęcia jak mogę to zrobić, dlatego bardzo Was proszę o pomoc w tej kwestii.

Z góry dziękuję
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
thek
post 13.11.2010, 01:48:18
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Pytanie zasadnicze... Co rozumiesz pod pojęciem "5 wpisów z kategorii o id=2, id=3, id=4, id=5"? Czy po 5 z każdej kategorii, czy może ogólnie 5 z wszystkich tych kategorii. Inna sprawa to taka, że zanim bym zaczął pisać na forum, to zerknąłbym w kod WordPressa i zobaczył jak działa funkcja WP_Query i czy pozwala na przesłanie tablicy danych lub w jakiś inny sposób dająca zapytanie z wielokrotnie wykorzystanym tym samym parametrem. Jeśli nie to będziesz miał mały problem...


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
kamil9012
post 13.11.2010, 02:03:01
Post #3





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


rozumiem 5 najnowszych wpisów łącznie z kategorii o id=2,3,4,5 oprócz 1 smile.gif

niestety nie mam pojęcia na co pozwala funkcja WP_Query i nawet nie przyszło mi do głowy żeby poszukać.

Zaraz poszukam w google i może się dowiem. Jak już będę wiedział to napiszę tutaj.

edit:
znalazłem. Wszystko o tej funkcji znajduje się tutaj: http://codex.wordpress.org/Function_Reference/WP_Query

Ten post edytował kamil9012 13.11.2010, 02:04:38
Go to the top of the page
+Quote Post
sebekzosw
post 13.11.2010, 03:03:58
Post #4





Grupa: Zarejestrowani
Postów: 437
Pomógł: 42
Dołączył: 16.04.2007

Ostrzeżenie: (0%)
-----


Pewnie chodzi mi o takie coś - http://blog.desmart.com/2009/07/03/mysql-g...owanie-wynikow/

tylko czy znacie jakiś skuteczny sposób ?
Go to the top of the page
+Quote Post
kamil9012
post 13.11.2010, 16:54:23
Post #5





Grupa: Zarejestrowani
Postów: 71
Pomógł: 0
Dołączył: 7.02.2008

Ostrzeżenie: (0%)
-----


Czy wie może ktoś jak ułożyć tą linijkę kodu?

  1. <?php $recent = new WP_Query("cat=1&showposts=5"); while($recent->have_posts()) : $recent->the_post();?>


próbowałem coś takiego:
  1. <?php $recent = new WP_Query("cat=1&showposts=0" && "cat=2&showposts=5" && "cat=3&showposts=5" && "cat=4&showposts=5" && "cat=5&showposts=5"); while($recent->have_posts()) : $recent->the_post();?>



Ale też nie działa sad.gif
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:42