Your SlideShare is downloading. ×
0
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Секреты WP_Query
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Секреты WP_Query

4,649

Published on

Published in: Technology
1 Comment
1 Like
Statistics
Notes
  • WP_Query очень крутая штука, вот я описывал несколько примеров работы с ней: http://web-jenezis.com/2013/11/28/sekrety-wp_query/
       Reply 
    Are you sure you want to  Yes  No
    Your message goes here
No Downloads
Views
Total Views
4,649
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
10
Comments
1
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. WP_Query
  • 2. is_home()is_single()is_page()
  • 3. query_posts()
  • 4. if ( have_posts() ) while ( have_posts() ) the_post();
  • 5. query_posts( cat=-5 );$posts = get_posts( cat=-5 );$posts = new WP_Query( cat=-5 );
  • 6. 10 posts
  • 7. 10 posts + 10 posts cat = -5
  • 8. max_num_pages = 3 index.php404.php max_num_pages = 5
  • 9. pre_get_posts
  • 10. add_action( pre_get_posts, my_func );function my_func( $query ) { $query->set( cat, -5 );}
  • 11. $query->is_main_query()
  • 12. add_action( pre_get_posts, my_func );function my_func( $query ) { if ( $query->is_main_query() ) $query->set( cat, -5 );}
  • 13. add_action( pre_get_posts, my_func );function my_func( $query ) { if ( $query->is_main_query() ) if ( $query->is_search() ) $query->set( post_type, post );}
  • 14. add_action( pre_get_posts, my_func );function my_func( $query ) { if ( $query->is_main_query() ) if ( $query->is_search() ) $query->set( posts_per_page, 30 );}
  • 15. add_action( pre_get_posts, my_func );function my_func( $query ) { if ( $query->is_main_query() ) if ( $query->is_home() ) $query->set( post_type, array( post, book, ) );}
  • 16. query_posts();$posts = get_posts();$posts = new WP_Query();
  • 17. $popular = new WP_Query( cat=3 );while ( $popular->have_posts() ) { $popular->the_post(); ...}
  • 18. $popular = new WP_Query( cat=3 );while ( $popular->have_posts() ) { $popular->the_post(); ...}// Основной запросwhile ( have_posts() ) { the_post(); ...}
  • 19. // Основной запросwhile ( have_posts() ) { the_post(); ... $category = get_the_category(); $related = new WP_Query( cat= ... ); while ( $related->have_posts() ) { $related->the_post(); ... }}
  • 20. query_posts()
  • 21. $wp_query
  • 22. function have_posts() { global $wp_query; return $wp_query->have_posts();}
  • 23. $wp_query =& $wp_the_query;
  • 24. function &query_posts( $query ) { ... unset( $wp_query ); $wp_query = new WP_Query(); return $wp_query->query( $query );}
  • 25. function wp_reset_query() { ... unset( $wp_query ); $wp_query =& $wp_the_query;}
  • 26. $popular = new WP_Query( cat=3 );while ( $popular->have_posts() ) { $popular->the_post(); ...}// Основной запросwhile ( have_posts() ) { the_post(); ...}
  • 27. query_posts( cat=3 );while ( have_posts() ) { the_post(); ...}wp_reset_query();// Основной запросwhile ( have_posts() ) { the_post(); ...}
  • 28. Если нужно изменить основной запрос pre_get_posts
  • 29. Если нужен вторичный запросnew WP_Query; get_posts()
  • 30. Если нужна головная боль query_posts()

×