1

特定のカスタム フィールド (この場合は「サイドバー」) をすべて取得し、最初に入力したものから最後に入力したものに基づいて並べ替えたいと考えています。これを行う方法が見つかりません。私が見つけることができる唯一のものは、カスタム フィールドの値に基づいてクエリを実行する方法です。

また、「サイドバー」カスタム フィールドには画像の URL が含まれているため、値に基づいて並べ替えることができません。

4

1 に答える 1

0

唯一のオプションは、wp_postmeta テーブルを検索し、meta_id 列で並べ替えるカスタム クエリを作成することです。ただし、これは希望する順序であるとは限りませんが、ロジックを追加しなくても可能な限り近い順序になる可能性があります (追加された日付を別のメタ フィールドまたは配列の一部として保存し、カスタム ソートを使用します):

$sql = $wpdb->prepare("SELECT meta_value FROM $wpdb->postmeta WHERE meta_key = 'sidebar' AND post_id = ? ORDER BY meta_id ASC", $post->ID)
$values = $wpdb->get_col($sql);
foreach ($values as $value){
    echo $value; // custom field value
}
于 2012-10-05T01:36:12.150 に答える