WordPress主題開發:WP_Query基本用法


為什么要學WP_Query?

wordpress默認會根據網址調用數據,不能滿足我們所有建站要求,而WP_Query可以用於查詢任何你想要的內容,相當於自定義數據調用。

便於記憶,在講用法之前我們回顧一下循環的寫法:if..else 其他>>>

<?php if( have_posts() ) : while( have_posts() ) : the_post(); ?>
<!-- 在這里調用數據 -->
<?php endwhile; ?>
<?php endif; ?>

 

WP_Query用法:設定條件->查詢->循環調用,下面可以看出循環的用法就是比以前的多了$myquery->

<?php
 // 1.用於查詢的參數或者參數集合
$args = array(
  'post_type'=>'post'
);

// 2.查詢
$myquery=new WP_Query($args);

// 3.判斷查詢的結果,有內容則循環
if($myquery->have_posts()):while($myquery->have_posts()):$myquery->the_post();
?>

//輸出循環結構

<?php 
endwhile;
endif;
// 4.重置請求數據
wp_reset_postdata();
?>

 

然后我們搜索不同的內容只需要修改里面的條件就可以了~實戰一下吧

調用單篇信息:

根據文章id查詢文章信息=http://localhost/wordpress/?p=36 數據

$query = new WP_Query( 'p=36' );

等同:

$args = array(
  'p'=>'36'
);
$query = new WP_Query( $args  );

 

根據文章分類調用數據 = http://localhost/wordpress/?cat=8 數據

$query = new WP_Query( 'cat=9' );

 

根據頁面的ID調用數據 =http://localhost/wordpress/?page_id=7 數據

$query = new WP_Query( 'page_id=7' );

 

...

=================================================================

如果調用多篇信息呢?

調用文章id為34、32、30的,

$args = array(
  'post__in'=>array(34,32,30)
);

 還有排除法,除了文章id為3的都顯示:

$args = array(
'post__not_in'=>array(3)
);

post__in默認調用的是文章信息,如果要調用頁面,則需要指定類型

$args = array(
'post_type'=>'page',
'post__in'=>array(3)
);

 

=================================================================

調用全部頁面

$query = new WP_Query( 'post_type=page' );

調用全部文章

$query = new WP_Query( 'post_type=post' );

 

基本的練習完成了,想必你已經知道函數的用法了,給自己列個條件清單吧~那以后就可以直接拿來用了

▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼

>>>>>官方函數說明>>>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM