Wordpress常用函數(shù)

前段時間研究WP(WordPress)遏插,整理了一些WP的常用函數(shù),對于一個要求不高的主題來說蔫磨,這些函數(shù)足夠了。
以后有時間再整理主穗。
提示:使用Ctrl+F搜索你想找到功能或

本文主要參考了(無特殊說明泻拦,參考均來自WordPress 中文文檔)

WordPress 中文文檔
我愛水煮魚-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)

returntrue/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ù):無
returnstring闹瞧,即當(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ù):無
returnstring,即當(dāng)前循環(huán)的標(biāo)題

the_tags($before,$sep,$after)

循環(huán)列出文檔標(biāo)簽洽腺,若沒有杏愤,返回空

參數(shù):都是字符串,且都是可選的已脓,依次是標(biāo)簽之前,之間通殃,之后顯示什么內(nèi)容
returnstring度液,

<!-- 代碼 -->
<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)中不要使用
returnstring

<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 ); ?>

returnstring

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 顯示文本方向审胚,默認為空字符串,可用leftright

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)注我的新博客:劉振的科技博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末囱皿,一起剝皮案震驚了整個濱河市勇婴,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌铆帽,老刑警劉巖咆耿,帶你破解...
    沈念sama閱讀 221,430評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異爹橱,居然都是意外死亡萨螺,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,406評論 3 398
  • 文/潘曉璐 我一進店門愧驱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來慰技,“玉大人,你說我怎么就攤上這事组砚∥巧蹋” “怎么了?”我有些...
    開封第一講書人閱讀 167,834評論 0 360
  • 文/不壞的土叔 我叫張陵糟红,是天一觀的道長艾帐。 經(jīng)常有香客問我,道長盆偿,這世上最難降的妖魔是什么柒爸? 我笑而不...
    開封第一講書人閱讀 59,543評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮事扭,結(jié)果婚禮上捎稚,老公的妹妹穿的比我還像新娘。我一直安慰自己求橄,他們只是感情好今野,可當(dāng)我...
    茶點故事閱讀 68,547評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著罐农,像睡著了一般条霜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上涵亏,一...
    開封第一講書人閱讀 52,196評論 1 308
  • 那天宰睡,我揣著相機與錄音,去河邊找鬼溯乒。 笑死夹厌,一個胖子當(dāng)著我的面吹牛豹爹,可吹牛的內(nèi)容都是我干的裆悄。 我是一名探鬼主播,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼臂聋,長吁一口氣:“原來是場噩夢啊……” “哼光稼!你這毒婦竟也來了或南?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,671評論 0 276
  • 序言:老撾萬榮一對情侶失蹤艾君,失蹤者是張志新(化名)和其女友劉穎采够,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體冰垄,經(jīng)...
    沈念sama閱讀 46,221評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡蹬癌,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,303評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了虹茶。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片逝薪。...
    茶點故事閱讀 40,444評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖蝴罪,靈堂內(nèi)的尸體忽然破棺而出董济,到底是詐尸還是另有隱情,我是刑警寧澤要门,帶...
    沈念sama閱讀 36,134評論 5 350
  • 正文 年R本政府宣布虏肾,位于F島的核電站,受9級特大地震影響欢搜,放射性物質(zhì)發(fā)生泄漏封豪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,810評論 3 333
  • 文/蒙蒙 一狂巢、第九天 我趴在偏房一處隱蔽的房頂上張望撑毛。 院中可真熱鬧,春花似錦唧领、人聲如沸藻雌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,285評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽胯杭。三九已至,卻和暖如春受啥,著一層夾襖步出監(jiān)牢的瞬間做个,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,399評論 1 272
  • 我被黑心中介騙來泰國打工滚局, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留居暖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,837評論 3 376
  • 正文 我出身青樓藤肢,卻偏偏與公主長得像太闺,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嘁圈,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,455評論 2 359

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理省骂,服務(wù)發(fā)現(xiàn)蟀淮,斷路器,智...
    卡卡羅2017閱讀 134,695評論 18 139
  • http://192.168.136.131/sqlmap/mysql/get_int.php?id=1 當(dāng)給sq...
    xuningbo閱讀 10,334評論 2 22
  • sqlmap用戶手冊 說明:本文為轉(zhuǎn)載钞澳,對原文中一些明顯的拼寫錯誤進行修正怠惶,并標(biāo)注對自己有用的信息。 ======...
    wind_飄閱讀 2,056評論 0 5
  • 在上一個章節(jié)轧粟,我們已經(jīng)創(chuàng)建了一個基礎(chǔ)的Blog程序〔咧危現(xiàn)在我們將使用一些Dajngo高級功能,去實現(xiàn)一個完整的blo...
    金金剛狼閱讀 3,591評論 1 12
  • 那年櫻花樹下 你曾對你心愛的女孩 許下一生諾言 風(fēng)輕輕吹過 櫻花花瓣飄落在女孩發(fā)間 少年撩開女孩的頭發(fā) 櫻花和女孩...
    夙殤閱讀 242評論 0 12