get_post_meta()函數(shù)用來獲取指定日志的指定 key 的自定義字段
語法結(jié)構(gòu)
<?php $meta_name = get_post_meta($post->ID, $key, $single); ?>
參數(shù)
$post->ID (整數(shù))要添加自定義欄目文章的ID
$key (字符串) 必須是此自定義欄目的名稱
$single (布爾型) (可選) 如果設(shè)為true, 則返回單個(gè)的自定義欄目的值。如果設(shè)為false, 則返回一個(gè)數(shù)組字符串型,即多個(gè)自定義欄目的值。(mixed)
這個(gè)函數(shù)返回值比較復(fù)雜:
[list]
如果只設(shè)置了 $post_id 的值,返回該日志的所有自定義字段的關(guān)聯(lián)數(shù)組。
如果 $single 設(shè)置為 false 或者留空,返回指定 key 的所有值的一個(gè)數(shù)組。
如果 $single 設(shè)置為 true,返回指定 key 的第一個(gè)值(并且不是在一個(gè)數(shù)組中)。
如果沒有東西可以返回的時(shí)候,返回空數(shù)組,除非 $single 設(shè)置為 true ,則返回空字符串。
還有一種特殊情況就是,自定義字段的值是序列化的數(shù)組,這樣 $single 設(shè)置為 true,則返回未序列化的數(shù)組,而 $single 設(shè)置為 false 或者留空,則你會(huì)獲取一個(gè)數(shù)組,其中的一個(gè)值是序列化之后的字符串,你需要使用 maybe_unserialize 函數(shù)將其解析成數(shù)組。
global $post //WordPress內(nèi)置的一個(gè)全局變量,存儲(chǔ)當(dāng)前文章的信息例如ID
知識(shí)要點(diǎn)
一、可以通過后臺(tái)添加的自定義欄目對(duì)應(yīng)數(shù)據(jù)存放位置在wp_postmeta數(shù)據(jù)表中
二、get_post_meta()需要用到當(dāng)前文章ID,可以通過全局變量$post->ID獲取
三、一個(gè)自定義欄目可以對(duì)應(yīng)多個(gè)值及獲取方法
四、可以通過add_post_meta()方法添加自定義欄目
五、如何創(chuàng)建隱藏的自定義欄目
六、如何使用update_post_meta()方法更新自定義欄目
七、如何使用delete_post_meta()方法刪除自定義欄目