[英]Get Specific Custom Field from Custom Post type by key
我一直在搜索此文件並花了幾天時間,但未在任何地方找到解決方案。 我正在使用代碼按鍵號獲取特定的自定義字段值(請參見下面的代碼),但是我想按鍵名獲取自定義字段的值,例如,鍵名是“ post-code”。
注意: lead_custom_field是自定義字段。
<?php
$custom_fields = get_post_custom($post_id);
$my_custom_field = $custom_fields['lead_custom_field'];
foreach ( $my_custom_field as $key => $value ) {
$a1 = unserialize( $value );
echo '<td>'. $a1[1]['value'] . '</td>';
}
?>
請幫忙,我在這個問題上待了很長時間。
get_post_custom()
返回與帖子關聯的所有自定義字段。
您可以使用get_post_meta()
,它將通過鍵返回單個值。
以下將輸出您的lead_custom_field
自定義字段鍵的值。
var_dump( get_post_meta( $post_id, 'lead_custom_field', true ) );
看來您要在lead_custom_field
內部存儲一個多維數組。 您應該考慮將數據重組為更合適的格式,如下所示:
array(
'post-code' => 12345,
'first-name' => 'John',
'last-name' => 'Doe
)
這將使您可以簡單地執行以下操作:
$data = get_post_meta( $post_id, 'lead_custom_field', true );
echo 'Post Code: '. $data['post-code'];
如果沒有重組如何保存這些數據,你需要使用某種類型的循環,因為,根據我們的聊天,以保持,您有:
全部放在一個未命名的數組中。 因此,除非您從根本上更改了存儲數據的方式,否則您需要以某種方式進行遍歷。 像上面我所說的那樣,或者在單獨的自定義字段中。
我的一位朋友幫助我,他是一位出色的php開發人員。 如果有人在這里發布答案作為答案。
<?php
$post_id = get_the_ID();
$custom_fields = get_post_custom($post_id);
$my_custom_field = unserialize( $custom_fields['lead_custom_field'][0] );
$params = [];
foreach ($my_custom_field as $k) {
$params[ $k["key"] ] = $k["value"];
}
echo '<td>' . $params["post-code"] . '</td>';
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.