banner_id_list
という名前のページに カスタムフィールド があります。
私はtop_banner
と呼ばれる カスタム投稿タイプ を持っています。いくつかのバナーを追加し、IDを書き留めてからページに戻り、banner_id_list
カスタムフィールドにIDのカンマ区切りのリストを追加します。
私のテンプレートでは、計画は get_post_meta() を使って現在の投稿メタをチェックすることです。これで取得できるIDのリストが作成され、post__in = array()
を使用してget_posts()で使用できるようになります( post__in を参照)。
今すぐコードを見て、私はここで何かが欠けていますが、私はこれで少し初心者です。
// get the banner_id_list based on the meta custom field for this page
$banner_id_list = get_post_meta($post->ID, 'banner_id_list', true);
予期したデータが表示されていることをダンプすると、カスタムフィールドに入力したIDのリストが表示されます。
今私の質問のために:
$args = array(
'post_type' => 'top_banner',
'post_status' => 'publish',
'numberposts' => -1,
'order' => ASC,
'orderby' => menu_order,
'post__in' => array($banner_id_list)
);
$banners = get_posts($args);
しかし、ここで$banner_id_list
を使うことに関してファンキーなことがあります。それはただ一つの記録を得ているだけです。しかし、その変数の代わりに手動で値を入力しても、正しく機能します。
私はそれが私が欠けている単純な/基本的なものだと思います、誰かが助けることができると思います!
$banner_id_list
がカンマ区切りのリストを保持している場合、それを配列の代わりに配列に変換します。
array($banner_id_list)
あなたがする必要があります
explode(',', $banner_id_list)