2017-12-19 7 views
0

私は音楽レッスン会社を構えています。私は、各音楽教師のための子ページの束を持つメインの「チーム」ページを持っています。これにはACFのものがあります。サイトには「レッスンズ」ページもあります。このページには、モーダルボックスを開いてクリックすると情報が表示されるすべての計測器が表示される1ページのページがあります。特定のページIDの子ページのみをACFリレーションシップセレクトボックスに表示

    チューターは、私が初期に設定したACFを使用した家庭教師/ sの子ページへ

をその特定の機器

  • チューター/ sの名
  • チューター/ sの写真
  • リンクを教える
  • 関係を選択するボーxはすべて開始され、クライアントはレッスンのページに行き、どの教師がどの楽器を教えるかを選択することができますが、これは偉大ですが、人間のエラーの可能性を減らすために私は自分のクライアントが見つけた子ページから選択できるようにしたい「チーム」ページの下に表示されます。

    ACFのドキュメントには、いくつかの助けを提供しないが、これは唯一あなたが現在編集している特定のページの子の親を選択することである - このように見て、私は機能を編集しようとしたfound here

    をので、それだけ特定のページIDの子ページを表示します(この場合は11です)。

    function my_relationship_query($args, $field, $post_id) { 
    
    // only show children of the current post being edited 
    $args = array(
    'post_parent' => 11, 
    'post_type' => 'any', 
    'numberposts' => 10, 
    'post_status' => 'any' 
    ); 
    $children = get_children($args); 
    
    // return 
    return $args; 
    
    } 
    
    // filter for every field 
    add_filter('acf/fields/relationship/query', 'my_relationship_query', 10, 3); 
    

    しかし、ハハ、私はそれが欲しいものをやっていません。私は頭を悩ましている。私のPHPエクスペリエンスは未だに青春期にあるので、私がどこに間違っているかについての助けや助言はすべてfabになるでしょう。ありがとう!

  • 答えて

    0

    $childrenではなく$argsが返されているようです。次のような方法を試してみてください:

    function my_relationship_query($args, $field, $post_id) { 
    
        $args = array(
         'post_parent' => $post_id, // updated to use the current $post_id 
         'post_type' => 'any', 
         'numberposts' => 10, 
         'post_status' => 'any' 
        ); 
    
        $children = get_children($args); 
    
        // return 
        return $children; // updated to return $children 
    
    } 
    
    // filter for every field 
    add_filter('acf/fields/relationship/query', 'my_relationship_query', 10, 3); 
    
    +0

    すぐにmbacon40に戻ってくれてありがとう!あなたが提供した関数を使用しました。関係フィールドに表示される唯一のオプションは、最初の「Hello World」投稿です。私は 'post_parent'をページIDに変更しました。(ID 11)、同じページを表示しています。 –

    関連する問題