私がやろうとしているのは、wp_postmeta テーブルにデータを保存する方法を最適化することです。
投稿間の複数の関係を保存する必要があり、私の開始状況は単純に次のとおりです。
add_post_meta($parent_id, 'post_child', $child_id);
そのようにして、各リレーションに対してデータベース行を使用する必要がありました。
同じ親が複数の子に関連付けられる可能性があることを考慮して、適切な配列構成とは何かを理解しようとしていましたが、次のようなものになりました (ただし、最善の方法であるかどうかはまだわかりません)。
array(
array(
parent => 121,
child => 122
),
array(
parent => 121,
child => 122
),
array(
parent => 121,
child => 123
),
...
);
次に、このコードで試しました:
if ($post_relations = get_post_meta($book_id, 'post_relations', true)) {
$post_relations[] = array("parent" => $parent_id, "child" => $child_id);
update_post_meta($book_id, 'post_relations', $post_relations);
} else {
$post_relations[] = array("parent" => $parent_id, "child" => $child_id);
add_post_meta($book_id, 'post_relations', $post_relations);
}
しかし、meta_value フィールドで取得した結果は、期待していた結果とは異なるようです。
a:2:{
i:0;a:2:{s:6:"parent";i:1;s:5:"child";i:510;}i:1;a:2:{s:6:"parent";i:510;s:5:"child";i:511;}
}