#wordpress #advanced-custom-fields
#wordpress #дополнительно-пользовательские-поля
Вопрос:
Я пытаюсь отображать только родительские страницы пользовательского типа записи, используя поле объекта Post с расширенными пользовательскими полями. Затем я использую расширенные формы для отображения формы во внешнем интерфейсе. Проблема в том, что я не могу понять, как показывать только родительские страницы из пользовательского типа записи.
В настоящее время он выводит все записи, страницы и страницы пользовательских типов записей во внешнем интерфейсе : !https://i.ibb.co/tXkxFdY/Screen-Shot-2019-04-01-at-2-50-25-PM.png
Для справки, вот как мои настройки объекта Post настраиваются в плагине ACF Pro: !https://i.ibb.co/Z6W3cjF/Screen-Shot-2019-04-01-at-2-44-24-PM.png
Я попытался использовать следующий запрос объекта ACF Post от:https://www.advancedcustomfields.com/resources/acf-fields-post_object-query /
Использование страницы ACF «acf/fields/post_object /query»https://www.advancedcustomfields.com/resources/acf-fields-post_object-query /
Я попытался использовать следующее:
function my_relationship_query( $args, $field, $post_id ) {
$args = array(
'post_parent' => $post_id, // updated to use the current $post_id
'post_type' => 'mediakit',
'numberposts' => -1,
'post_status' => 'published'
);
return;
}
// filter for every field
add_filter('acf/fields/relationship/query/key=field_5ca24f099f985', 'my_relationship_query', 10, 3);
Я надеялся, что результаты во внешнем интерфейсе будут отображать выбор, показывающий только родительские страницы пользовательского типа записи во внешнем интерфейсе.
Фактические результаты показывают все записи, страницы и все страницы в пользовательском типе записи.
Любая помощь по этой проблеме будет высоко оценена.
Ответ №1:
Оказывается, я могу использовать фильтр запросов ACF для отображения родительских страниц пользовательского типа записи. Когда я захожу в поле, чтобы выбрать тип моей записи, родители отображаются только в раскрывающемся списке Post Object.
Используя это официальное руководство ACF:https://www.advancedcustomfields.com/resources/acf-fields-post_object-query /
add_filter('acf/fields/post_object/query/key=field_0000000000000', 'change_posts_order', 10, 3);
function change_posts_order( $args, $field, $post ) {
$args['post_parent'] = 0;
$args['sort_order'] = 'ASC';
$args['orderby'] = 'title';
$args['order'] = 'ASC';
$args['post_status'] = 'publish';
return $args;
}