WordPress カスタムフィールド(配列)を出力
この記事は6年前に書かれました。不適当な記述を含む場合がありますので、参考程度に留めてください。
カスタムフィールド Arrayで配列
[画像]
type = file
mediaLibrary = true
relation = true
blank = true
[商品名]
type = text
size = 80
blank = true
[商品説明文]
type = textarea
rows = 7
cols = 70
blank = true
<?php
global $wpdb;
$query = "SELECT meta_id,post_id,meta_key,meta_value FROM $wpdb->postmeta WHERE post_id = $post->ID ORDER BY meta_id ASC";
$cf = $wpdb->get_results($query, ARRAY_A);$pics = array();
$item = array();
$desc = array();
foreach( $cf as $row ){
if( $row[‘meta_key’] == "画像" ){
array_push( $pics, $row[‘meta_value’] );
}
if( $row[‘meta_key’] == "商品名" ){
array_push( $item, $row[‘meta_value’] );
}
if( $row[‘meta_key’] == "商品説明文" ){
array_push( $desc, $row[‘meta_value’] );
}
}
$length = count( $pics );
//表示
for( $i = 0; $i < $length; $i ++ ){
echo ‘<h3>’ . $item[$i] . ‘</h3>’;
echo ‘<p>’ . wp_get_attachment_image( $pics[$i] ) . ‘<br />’;
echo $desc[$i] . ‘</p>’;
}
?>