Недавно столкнулся с такой ситуацией, что использовал поле типа ассоциация association
в Сarbon Fields для вывода таксономии со странами, но эта таксономия также была с иерархией с добавлением городов и города мне как раз-таки не были нужны!
Также хочу порекомендовать вам свой видеокурс по созданию темы WordPress на основе готовой HTML-вёрстки.
Короче говоря выводилось у меня вот что:
Итак, для этого в Carbon Fields есть удобный хук: carbon_fields_association_field_options_{id поля}_term_{таксономия}
. При помощи него мы можем передавать любые параметры, доступные в get_terms().
Например у меня поле назвалось page_loc
, тип его соответственно term
(вы помните это из руководства по Carbon Fields), а таксономия называлась country
, тогда хук становится таким:
add_filter( 'carbon_fields_association_field_options_page_loc_term_country', 'truemisha_only_parent_term', 25 ); function truemisha_only_parent_term( $args ) { $args[ 'parent' ] = 0; return $args; }
Если вы работаете с Carbon Fields, то по-любому знаете, куда вставлять этот код, но чисто на всякий случай вот руководство.
Подобную историю можно провернуть при выводе в поле Association произвольных типов постов или страниц. Только тут уже используем параметры WP_Query.
Пример для поля page_connect
типа записей page
, ну вы поняли я думаю – ...ons_{id поля}_post_{тип поста}
.
add_filter( 'carbon_fields_association_field_options_page_connect_post_page', 'truemisha_only_parent_page', 25 ); function truemisha_only_parent_page( $args ) { $args[ 'post_parent' ] = 0; return $args; }
Источник: misha.blog
Доброе время суток. Миша подскажи пожалуста не могу вывести посты из таксономии вешаю на хук такую функцию
код
->add_tab( ‘Подвал’, [
Field::make( ‘text’, ‘title-cities’, ‘Заголовок’ ),
Field::make( ‘association’, ‘cities’, ‘Города’ )
->set_types( [
[
‘type’ => ‘post’,
‘post_type’ => ‘webnn_products’,
],
])
]);
add_filter( ‘carbon_fields_association_field_options_cities_post_post’, ‘webnn_cities_page’, 25 );
function webnn_cities_page( $args ) {
$args[ ‘post_parent’ ] = 23;
return $args;
}
Большое спасибо, очень помогла статья!