程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP基礎知識 >> wordpress無插件和使用插件文章置頂的實現方法

wordpress無插件和使用插件文章置頂的實現方法

編輯:PHP基礎知識
 

WP本身是帶有置頂文章功能,可是好像只有默認主題能看出變化,如果自定義主題就看不出來,當然也可以自己在主題中提取某分類的最新置頂文章。
代碼如下:
<?php query_posts(array('cat'=>73,'posts_per_page' => 5,'post__in' => get_option('sticky_posts'),'caller_get_posts' => 1));?>
<?php if(have_posts()):while(have_posts()):the_post(); ?>
<li><span class="grayz">·</span><a href="<?php the_permalink(); ?>" target="_blank" class="black "><?php echo cut_str($post->post_title,36); ?></a></li>
<?php endwhile;?>
<?php else:?>
<?php endif;wp_reset_query();?>

置頂文章功能引入於WordPress 2.7。在查詢中,被設為“置頂”的文章會顯示在其它文章之前,除非該文章已經被caller_get_posts=1參數排除。

  • array('post__in'=>get_option('sticky_posts')) —— 返回所有置頂文章的數組
  • caller_get_posts=1 —— 排除返回的文章上方的置頂文章,但在返回文章列表時,以自然順序將曾經置頂的文章安插在列表中。


返回第一篇置頂文章

$sticky=get_option('sticky_posts') ;
query_posts('p=' . $sticky[0]);


$args = array(
'posts_per_page' => 1,
'post__in' => get_option('sticky_posts'),
'caller_get_posts' => 1
);
query_posts($args);


返回第一篇置頂文章;若無,則不返回任何內容

$sticky = get_option('sticky_posts');
$args = array(
'posts_per_page' => 1,
'post__in' => $sticky,
'caller_get_posts' => 1
);
query_posts($args);
if($sticky[0]) {
// insert here your stuff...
}


從查詢中排除所有置頂文章
query_posts(array("post__not_in" =>get_option("sticky_posts"))); 


返回某一分類下所有文章,但不在文章列表上方顯示置頂文章。所有設為“置頂”的文章以正常順序(如日期順序)顯示
query_posts('caller_get_posts=1&posts_per_page=3&cat=6');  


返回某一分類下所有文章,完全不顯示置頂文章,保留分頁
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$sticky=get_option('sticky_posts');
$args=array(
'cat'=>3,
'caller_get_posts'=>1,
'post__not_in' => $sticky,
'paged'=>$paged,
);
query_posts($args);


可是我做的是一個門戶網站,希望如果有置頂文章就顯示置頂文章,如果沒有的就顯示最新文章,如果有一部分置頂文章,就讓置頂文章顯示在最新文章前面,可是弄了大半天也沒有能實現這功能,谷歌也沒有找到。最後只能用WP-sticky插件了。將wp-sticky這個文章置頂插件上傳到根目錄下的wp-content/plugins目錄,然後去後台激活。激活後,需要對這個插件進行相關的設置,你可以設置文章置頂的方式、設置顯示的日期,你可以根據自己的需求進行適當的設置,設置完後當你發布新文章或更改文章時,就會在頁面的右下方出現一個“Post Sticky Status”的單選框,有三人選項:
Announcement:如果想長期置頂,就選這個選項
Sticky:如果只是當天置頂,就選這個選項
Normal:不置頂,如果想取消置頂,就選這個選項,默認這個選項
用了這個wp-sticky置頂插件,調整了提取分類文章的展示順序。同時會在標題前加上Announcement:或Sticky:
 

 
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved