get_post_metaの対象になる値を取得したいのですが、配列の中にその値があるせいか、上手に取得できません。
$idは取得できても、$scoresができないのです。
これはどうしたらよろしいでしょうか?
PHP
1$array_base = array( 187, 284 ); 2$array = array(); 3foreach ( $array_base as $id ) { 4 $ids = get_post_ancestors( $id ); 5 $scores = get_post_meta( $ids, 'score', true ); // 機能しない 6 $tmp = [ 7 'ids' => $ids, 8 'scores' => $scores 9 ]; 10 array_push($array, $tmp); 11} 12var_dump( $array );
最終的にはこの配列を作ることが目的です。
php
1array(2) { 2 [0]=> array(2) { 3 ["ids"]=> array(2) { 4 [0]=> "497" 5 [1]=> "494" 6 } 7 ["scores"]=> array(2) { 8 [0]=> "54" 9 [1]=> "44" 10 } 11 } 12 [1]=> array(2) { 13 ["ids"]=> array(2) { 14 [0]=> "472" 15 [1]=> "471" 16 } 17 ["scores"]=> array(2) { 18 [0]=> "78" 19 [1]=> "86" 20 } 21 } 22}
流れとしては、$array_baseの中の187と284というIDを基にし、それぞれに紐づくIDを$idsとして取得します。ここで取得されたIDが497と494と472と471です。
そして今回のget_post_metaはこの4つを対象にして、scoreを取得したいわけです。
つまり上記の最終的な配列にあるのは下記を意味します。
497のscoreが54
494のscoreが44
472のscoreが78
471のscoreが86
回答1件
あなたの回答
tips
プレビュー