WordPress 實現通過自定義字段查詢和排序
WordPress建網站時,可以根據指定自定義字段進行排序,也可以按照指定字段查詢需要的類型。這些功能都是通過WP_Query()方法來實現的。下面學做網站論壇分享一下二種代碼。
WordPress通過自定義字段進行排序
<?php
$args?=?array(
'post_type'?=>?'product',//文章類型,可刪除
'orderby'?=>?array(
'meta_value_num'=>'ASC'
),
'meta_key'?=>?'sortnum',//sortnum是字段名
);
$query?=?new?WP_Query(?$args?);
while?($query->have_posts())?:?$query->the_post();??>?<?php?the_title();??>
<?php?endwhile;??>
<?php?wp_reset_query();?>
還可以這樣寫:
<?php
$args=array(
'meta_key'?=>?'views',//字段名
'orderby'?=>?'meta_value_num',//按字段值排序
'post__not_in'?=>?get_option(?'sticky_posts'?),//排除置頂文章
'category__not_in'?=>?array(1,2),//排序指定分類數組
'posts_per_page'=>8,//顯示文章數量
'order'?=>?'DESC'
);
query_posts($args);?while?(have_posts())?:?the_post();?>?<?php?the_title();??>
<?php?endwhile;wp_reset_query();?>
WordPress通過自定義字段進行查詢
<?php
$args?=?array(
'meta_query'=>array(
array(
'key'=>'disabled',
'value'=>1,
'compare'=>'='
)
),
'showposts'?=>6,
);
$query?=?new?WP_Query(?$args?);
while?($query->have_posts())?:?$query->the_post();??>?<?php?the_title();??>
<?php?endwhile;??>
<?php?wp_reset_query();?>
也可以二者結合在一起實現查詢和排序。
<?php
$args?=?array(
'post_type'?=>?'product',//文章類型
'orderby'?=>?array(
'meta_value_num'=>'ASC'
),
'meta_key'?=>?'sort',//排序字段
'meta_query'=>array(
array(
'key'=>'disabled',//查詢字段
'value'=>1,
'compare'=>'='
)
),
'showposts'?=>6,
);
$query?=?new?WP_Query(?$args?);
while?($query->have_posts())?:?$query->the_post();??>?<?php?the_title();??>
<?php?endwhile;??>
<?php?wp_reset_query();?>
如果想多個條件篩選,可以在代碼里多加array,如下:
<?php
$args?=?array(
'orderby'?=>?array(
'meta_value_num'=>'ASC'
),
'meta_key'?=>?'paixu',//排序字段
'meta_query'=>array(
array(
'key'=>'paixu',//篩選字段1
'value'=>'',
'compare'=>'!='//不為空
),
array(
'key'=>'演示網站',//篩選字段2
'value'=>'dedeym',
'compare'=>'LIKE'
)
),
'showposts'?=>300,//顯示數量
);
$query?=?new?WP_Query(?$args?);
while?($query->have_posts())?:?$query->the_post();??>
<li>?<a href="<?php the_permalink(); ?>"?target="_blank"><?php?the_title();??>a>li>
<?php?endwhile;??>
<?php?wp_reset_query();?>
如果您的問題還未解決可以聯系站長付費協助。

有問題可以加入技術QQ群一起交流學習
本站vip會員 請加入無憂模板網 VIP群(50604020) PS:加入時備注用戶名或昵稱
普通注冊會員或訪客 請加入無憂模板網 技術交流群(50604130)
客服微信號:15898888535
聲明:本站所有文章資源內容,如無特殊說明或標注,均為采集網絡資源。如若內容侵犯了原著者的合法權益,可聯系站長刪除。