前段時間研究WP(WordPress)遏插,整理了一些WP的常用函數(shù),對于一個要求不高的主題來說蔫磨,這些函數(shù)足夠了。
以后有時間再整理主穗。
提示:使用Ctrl+F搜索你想找到功能或
本文主要參考了(無特殊說明泻拦,參考均來自WordPress 中文文檔)
更新于2015-11-06
函數(shù)
have_posts()
遍歷WordPress,看看是否當(dāng)前的查詢有任何結(jié)果忽媒,返回false或true
一般與the_post()
配合使用以循環(huán)出文章列表
return:無
參數(shù):無
使用方法:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<!-- code -->
<?php endwhile; ?>
<?php else : ?>
<!-- code -->
<?php endif; ?>
the_post()
迭代主循環(huán)
return:true/false
參數(shù):無
使用方法:參考have_posts()
the_permalink()
在循環(huán)函數(shù)(the_post())中返回當(dāng)前URL争拐,該標(biāo)簽必須在循環(huán)中,由于是動態(tài)生成的URL(每次循環(huán)返回不同)晦雨,所以不能用于指定某一特定的文章架曹,如果想指定到特定文章,使用
get_permalink()
并指明文章的ID
參數(shù):無
return:string
闹瞧,即當(dāng)前循環(huán)的URL
the_title()
類似
the_permalink()
绑雄,在循環(huán)函數(shù)(the_post())中返回當(dāng)前文章標(biāo)題,該標(biāo)簽必須在循環(huán)中奥邮,如果想獲取到特定文章万牺,使用get_the_title()
并指明文章的ID
參數(shù):無
return:string
,即當(dāng)前循環(huán)的標(biāo)題
the_tags($before,$sep,$after)
循環(huán)列出文檔標(biāo)簽洽腺,若沒有杏愤,返回空
參數(shù):都是字符串,且都是可選的已脓,依次是標(biāo)簽之前,之間通殃,之后顯示什么內(nèi)容
return:string
度液,
<!-- 代碼 -->
<span><?php the_tags('標(biāo)簽:', ', ', ''); ?></span>
<!-- 返回內(nèi)容 -->
<span>
標(biāo)簽:
<a rel="tag">兜兜</a>
,
<a rel="tag">哈市f</a>
</span>
edit_post_link($link, $before, $after, $id)
必須在循環(huán)中,如果登錄并且有權(quán)限修改該文章画舌,那么顯示編輯鏈接
參數(shù):都是字符串堕担,都可選,1.默認為“編輯”曲聂,傳入?yún)?shù)即可修改2.之前顯示內(nèi)容3.之后顯示的內(nèi)容4.文章的id霹购,在循環(huán)中不要使用
return:string
,
<a class="post-edit-link" >編輯</a>
the_time('string')
顯示當(dāng)前列表的時間
Formatting Date and Time
例子
F j, Y g:i a - November 6, 2010 12:50 am
F j, Y - November 6, 2010
F, Y - November, 2010
g:i a - 12:50 am
g:i:s a - 12:50:48 am
l, F jS, Y - Saturday, November 6th, 2010
M j, Y @ G:i - Nov 6, 2010 @ 0:50
Y/m/d \a\t g:i A - 2010/11/06 at 12:50 AM
Y/m/d \a\t g:ia - 2010/11/06 at 12:50am
Y/m/d g:i:s A - 2010/11/06 12:50:48 AM
Y/m/d - 2010/11/06
the_excerpt()
必須在循環(huán)中朋腋,摘要文章齐疙,如果沒有在編輯文章頁面添加描述,則取前55字符旭咽,且前55文字的HTML標(biāo)簽被去掉贞奋。
如果不在index.php(而在attachment.php或image.php中)則顯示副標(biāo)題。
注:官方文檔說在描述之后顯示[...]穷绵,但是實際操作中沒有
條件標(biāo)簽
用來決定頁面滿足什么條件時顯示某些內(nèi)容轿塔。
zh-cn:條件標(biāo)簽
is_home();//主頁
isfront_page();//首頁
is_category();//分類頁
is_admin();//控制臺頁
is_single();//單頁文章
is_page();//頁面
is_tag();//標(biāo)簽
is_author();//作者
is_archive();//存檔
is_search();//搜索頁
is_404();//404頁
is_feed();//feed訂閱頁
in_the_loop();//循環(huán)列表中
single_cat_title()
如果是分類或標(biāo)簽頁,顯示或返回頁面標(biāo)題勾缭,只能在循環(huán)外使用
參數(shù):返回值之前揍障,是否顯示
<?php single_cat_title( $prefix = '', $display = true ); ?>
return:string
single_post_title()
類似
single_cat_title()
,如果單頁(欄目單頁或文章頁)俩由,顯示或返回頁面標(biāo)題毒嫡,只能在循環(huán)外使用
參數(shù):同上
return:同上
wp_title ( string $sep = '?', bool $display = true, string $seplocation = '' )
顯示或檢索所有頁面的網(wǎng)頁標(biāo)題
- $sep 多個標(biāo)題間間隔符,默認是
?
- $display 是否顯示采驻,默認
true
- $seplocation 顯示文本方向审胚,默認為空字符串,可用
left
或right
get_post_meta( int $post_id, string $key = '', bool $single = false )
如果是在文章頁礼旅,返回原數(shù)據(jù)膳叨。如果不在,返回字符串
這個函數(shù)獲取指定日志的指定key的自定義字段痘系,WordPress 常用函數(shù) / get_post_meta
參數(shù):
-
$post_id
文章ID -
$key
選擇需要顯示的選項菲嘴,默認為空字符串 -
$single
是否返回值
return:
<?php echo get_option( $show, $default ); ?>
一種從數(shù)據(jù)庫中獲得數(shù)據(jù)的函數(shù)。如果想要獲得的數(shù)據(jù)不存在或者沒有相關(guān)的值汰翠,將會返回“FALSE”龄坪。
參數(shù):
獲取選項的名稱,默認為none
‘a(chǎn)dmin_email’ – 管理員的E-mail地址复唤。
‘blogname’ – 網(wǎng)站title標(biāo)題健田。
‘blogdescription’ – 網(wǎng)站描述.
‘blog_charset’ – 網(wǎng)站編碼一般UTF-8。
‘date_format’ – 日期格式佛纫。
‘default_category’ – 文章默認分類妓局。
‘home’ – 網(wǎng)站地址。
‘siteurl’ – wordpress的web地址呈宇。注: 與函數(shù) get_bloginfo(‘siteurl’)不同好爬,get_bloginfo(‘siteurl’)返回當(dāng)前站地址, 但是這個選項等同于get_bloginfo(‘wpurl’);
‘template’ -當(dāng)前主題名稱
‘start_of_week’ -一星期開始設(shè)置
‘upload_path’ – 上傳默認目錄.
‘posts_per_page’ – 文章分頁每頁顯示的數(shù)量.
‘posts_per_rss’ – RSS聚合顯示的最新文章數(shù)量
默認: None
wp_nav_menu( $args );
顯示在后臺設(shè)置的一個導(dǎo)航欄
用法:*
<?php
$defaults = array(
'theme_location' => '',//用于在調(diào)用導(dǎo)航菜單時指定注冊過的某一個導(dǎo)航菜單名,如果沒有指定甥啄,則顯示第一個存炮。
'menu' => '',//ID,slug蜈漓,菜單名
'container' => 'div',//包裹菜單(菜單父元素)的標(biāo)簽是什么穆桂,默認是div,接受false
'container_class' => '',//菜單父元素的class,默認menu-{menu slug}-container,例menu-主菜單-container融虽,但是中文會被轉(zhuǎn)義
'container_id' => '',//菜單父元素的id充尉,默認none
'menu_class' => 'menu',//菜單的class,默認menu
'menu_id' => '',//菜單的id,默認menu-{menu slug}
'echo' => true,//是否顯示衣形,默認true
'fallback_cb' => 'wp_page_menu',//沒有菜單時的回退驼侠,不知如何使用
'before' => '',//文本之前顯示姿鸿,在a之內(nèi)
'after' => '',//文本之后顯示
'link_before' => '',//之前,a之外
'link_after' => '',//之后
'items_wrap' => '<ul id="%1$s" class="%2$s">%3$s</ul>',//使用字符串替換修改ul的class倒源。苛预,不知如何使用
'depth' => 0,//顯示菜單的層級,默認為0笋熬,-1顯示所有
'walker' => ''//自定義的遍歷對象热某,調(diào)用一個對象定義顯示導(dǎo)航菜單。不知如何使用
);
wp_nav_menu( $defaults );
?>
參數(shù):
1.查找參數(shù)中的菜單ID或菜單名稱胳螟,若沒有
2.顯示第一個非空的菜單 昔馋,若沒有
3.以wp_page_menu()顯示,若沒有
4.顯示空
return:參考用法
wp_tag_cloud( $args )
顯示云標(biāo)簽列表糖耸,其中的個數(shù)是由文章使用的次數(shù)
模板標(biāo)簽-wp_tag_cloud()
用法
<?php $args = array(
'smallest' => 8, //最小的標(biāo)簽(使用次數(shù)最少)顯示大小為8
'largest' => 22,//最大的標(biāo)簽(使用次數(shù)最多)顯示大小為22
'unit' => 'pt', //設(shè)置最大最小字體單位PT為單位秘遏,可以是任何css單位
'number' => 45, //最多顯示45個,值為'0'時顯示所有標(biāo)簽
'format' => 'flat',//以平面形式顯示所有標(biāo)簽(標(biāo)簽之間用空格隔開)
'separator' => "\n",//顯示標(biāo)簽之間的空格
'orderby' => 'name', //按名稱為標(biāo)簽排序,使用次數(shù)'count'
'order' => 'ASC',//以升序排列嘉竟,DESC降序邦危,RAND隨機
'exclude' => null, //不排除任何標(biāo)簽,將要被排除的標(biāo)簽(term_id)的ID舍扰,各ID用逗號隔開倦蚪。如 'exclude=5,27'表示不顯示term_id為5或27的標(biāo)簽。
'include' => null, //包括所有標(biāo)簽边苹,與上一個相反
'topic_count_text_callback' => default_topic_count_text,//
'link' => 'view', //設(shè)置鏈接陵且,允許編輯某個指定標(biāo)簽。edit个束,設(shè)置后直接跳轉(zhuǎn)到編輯標(biāo)簽頁
'taxonomy' => 'post_tag', //見參數(shù)
'echo' => true,//顯示結(jié)果慕购,或?qū)⒔Y(jié)果保留在變量中
'child_of' => null, // see Note!
); ?>
參數(shù):
format
<!-- 'format' => 'flat',-->
<a href="#" class="tag-link-10" title="1個話題" style="font-size: 12px;">兜兜1</a>
<a href="#" class="tag-link-10" title="1個話題" style="font-size: 12px;">兜兜2</a>
<!-- 'format' => 'list',-->
<ul class="wp-tag-cloud">
<li><a href="#" class="tag-link-10" title="1個話題" style="font-size: 12px;">兜兜1</a></li>
<li><a href="#" class="tag-link-10" title="1個話題" style="font-size: 12px;">兜兜2</a></li>
</ul>
<!-- 'format' => 'array',-->
函數(shù)以數(shù)組方式返回標(biāo)簽云
taxonomy
(字符串)(可選)用以生成云的分類法。
'post_tag' —— (默認值)將文章標(biāo)簽當(dāng)作云的來源
'category' —— 用文章分類生成云
'link_category' —— 用鏈接分類目錄生成云
return:參考用法
wp_get_archives( $args );
注get_archives( $args );
可能已經(jīng)被替代
顯示以日期為基礎(chǔ)的歸檔列表播急。可以在任何地方使用
wp_get_archives 輸出文章歸檔
用法
<?php $args = array(
'type' => 'monthly',//歸檔類型
'limit' => '',//文章數(shù)量
'format' => 'html',//歸檔輸出格式
'before' => '',//之前顯示的文字
'after' => '',//之后顯示的文字
'show_post_count' => false,//是否顯示文章數(shù)量
'echo' => 1,//是否顯示
'order' => 'DESC'//排序方式
); ?>
參數(shù):
type
歸檔類型設(shè)置
可選值:
- ‘yearly’ 按年
- ‘monthly’按月
- ‘daily’按日
- ‘weekly’按周
- ‘postbypost’羅列每一篇文章(以日期排序)
- ‘a(chǎn)lpha’ 羅列每一篇文章(以文章名排序)
limit
文章數(shù)量限制售睹,即歸檔的最大文章數(shù)量桩警。
format
歸檔輸出格式。
可選值:
- ‘html’ -以html代碼格式輸出昌妹,即一個 li 列表
- ‘option’ – 在 select 標(biāo)簽中以選擇列表的形式輸出
- ‘link’ – 在link標(biāo)簽中輸出歸檔地址
- ‘custom’ – 自定義捶枢,即使用after和before來包裹每一個項目。
before
在每一條項目之前顯示的文字飞崖,只在 format 被設(shè)置為’html’或’custom’時可用烂叔。
after
在每一條項目之后顯示的文字,只在 format 被設(shè)置為’html’或’custom’時可用固歪。
show_post_count
布爾值蒜鸡,是否顯示文章數(shù)量胯努,在 type 被設(shè)置為’postbypost’或’alpha’時不可用。
echo
布爾值逢防,是否顯示叶沛,不顯示則返回給變量。
order
排列順序
可選值
- ASC順序
- DESC逆序忘朝,默認
return:
the_category( $separator, $parents, $post_id );
以鏈接形式顯示指定文章的分類灰署,該標(biāo)簽必須在循環(huán)中
the_category
參數(shù):
- $separator 指定間隔符號,常用的有 (?)局嘁、(>)溉箕、( )、(->);
- $parents 分類顯示方式悦昵,兩個值multiple和single肴茄;multiple顯示所有父分類,single只顯示指定文章的父分類
- $post_id 文章的ID號旱捧;
return:
<?php the_category(' > ','multiple'); ?>
<a href="#">技術(shù)</a> > <a href="#" rel="category tag">JavaScript+jQuery</a> >
wp_list_categories( $args );
將分類以列表的形式顯示為鏈接独郎。
wp_list_categories(分類列表)
<?php
$args = array(
'show_option_all' => 'single.php',//如果樣式設(shè)置為list,且該值為非空字符串枚赡,8不知道怎么用,應(yīng)該是連接到所有分類的一個頁面的鏈接
'orderby' => 'name',//排列順序
'order' => 'ASC',//升序降序
'style' => 'list',//顯示方式氓癌,可使用list或none
'show_count' => 1,//顯示文章數(shù)量
'hide_empty' => 0,//隱藏分類下沒有文章的分類?
'use_desc_for_title' => 1,//是否將分類描述作為分類鏈接中的 title 屬性贫橙,在后臺里面設(shè)置
'child_of' => 0,//只顯示某一分類的子分類贪婉,數(shù)值為分類ID
'feed' => '',//顯示訂閱本分類的RSS的文字
'feed_type' => none,//字符串(官方文檔就這一句)
'feed_image' => '',//以圖片替換'feed'屬性:訂閱文字
'exclude' => '',//排除一個或多個分類。使用逗號分隔每個分類的ID卢肃。參數(shù) include 必須為空疲迂。
'exclude_tree' => '',//排除分類樹。使用逗號分隔每個分類的ID莫湘。參數(shù) include 必須為空尤蒿。
'include' => '',//只顯示特定的分類,使用逗號分隔每個分類的ID
'hierarchical' => 1,//以層級來顯示分類的子分類幅垮。默認為 true(在分類的下面顯示它們的子分類)腰池。有效值:
'title_li' => __( '列表的標(biāo)題' ),//設(shè)置列表的標(biāo)題
'show_option_none' => __( '' ),//
'number' => null,//設(shè)置顯示的分類數(shù)量
'echo' => 1,//顯示結(jié)果或保存在一個變量里
'depth' => 0,//顯示分類的深度(即顯示多少層的子分類)。默認值為 0(顯示所有分類和子分類)忙芒。
'current_category' => 0,//后跟分類ID號示弓?
'pad_counts' => 1,//計算包括子分類的鏈接或文章數(shù),設(shè)置后呵萨,子分類里面的文章個數(shù)添加到父分類中
'taxonomy' => 'category',//
'walker' => null//
);
wp_list_categories( $args );
?>
參數(shù):
orderby
- ID
- name - 默認
- slug
- count
- term_group
return:
get_search_form( $echo );
使用searchform.php主題文件中顯示搜索表單奏属。
參數(shù):
return:
paginate_links( $args );
用來檢索歸檔后的頁面分頁鏈接,可在任何區(qū)域使用
使用方法:
<?php echo paginate_links( $args ); ?>
參數(shù):
return:
<?php bloginfo(''); ?>
參數(shù):
* name:輸出你的博客名稱
* description:輸出博客描述
* html_type:顯示HTML內(nèi)容類型
* wpurl或url:返回網(wǎng)站的URL潮峦,現(xiàn)在不知道區(qū)別
* admin_email:作者的Email
* charset:返回網(wǎng)站所用的編碼格式
* language:返回網(wǎng)站所用的語言
* stylesheet_url:模板下style.css的絕對地址
* template_url:模板的絕對地址
* rss2_url:返回網(wǎng)站的RRS訂閱地址
return:字符串
等待學(xué)習(xí)
header.php文件第23-52行描述的內(nèi)容
<?php wp_head() ?>與<?php wp_footer(); ?>
<?php wp_list_pages(); ?>
<?php the_content(); ?>
<?php comments_popup_link('0 條評論', '1 條評論', '% 條評論', '', '評論已關(guān)閉'); ?>
<?php get_header(); ?>
<?php get_sidebar() ?>
<?php get_footer() ?>
歡迎關(guān)注我的新博客:劉振的科技博客