2017-12-18 22 views
0

私は2つの異なるカスタム投稿の種類、国とビーチを持っています。 国の場合は、名前欄があります。WordPressのカスタム列に高度なカスタム項目の値を追加します。

ビーチでは、少し違っています。フィールド名があり、自分の国のカスタムタイプで追加した国も選択しています。

効果があります。

Form to add a new beach connected to a country

今、私は私の浜のカスタムタイプ内部のカスタム列を作成しようとしています:

名前|カントリー|日付

どのようにビーチのポストの中で国名を取得するには?今

私のコードは:私は、高度なカスタムフィールドを通じて国の名前を取得する方法を見つけることができません

Custom columns for advanced custom fields

function add_custom_column_to_beaches($columns) { 
    return array_merge ($columns, array(
    'country' => 'Country' 
)); 
} 

function country_custom_column ($column, $post_id) { 
    switch ($column) { 
    case 'country': 
     echo get_post_meta($post_id, 'country_name', true); 
     break; 
    } 
} 

add_filter ('manage_beaches_posts_columns', 'add_custom_column_to_beaches'); 
add_action ('manage_beaches_posts_custom_column', 'country_custom_column', 10, 2); 

これが今の結果です。常に数値を返します。そして、変数print_rを表示しようとすると、country_nameはありません。

ありがとうございます!

+1

あなたのIDはCPTアイテムに属するIDと同じですか? (つまり、国のブラジルはID = 43ですか)? – HdK

+0

良い点!はい、そうです! 私はget_field_objectという高度なカスタムフィールドからメソッドを見つけました。出来た!! –

答えて

0

詳細カスタムフィールドのドキュメントを調べると、自分のアプローチで動作するメソッドが見つかりました。

function apply_custom_columns ($column) { 
    global $post; 
    switch ($column) { 
    case 'country': 
     $field = get_field_object('country_name', $post->ID); 
     echo $field['value']->post_title; 
     break; 
    } 
} 

他にも別の問題がある場合は、教えてください。

関連する問題