Как получить доступ к полю ACF в пользовательской конечной точке Wordpress Rest API?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как получить доступ к полю ACF в пользовательской конечной точке Wordpress Rest API?

Сообщение Anonymous »

У меня есть поле повторителя часто задаваемых вопросов по расширенным пользовательским полям, и я пытаюсь добавить часто задаваемые вопросы в результаты пользовательского поиска, но не могу получить это поле через Rest API.
Я регистрирую конечную точку следующим образом:

Код: Выделить всё

add_action('rest_api_init', 'register_search');
function register_search() {
register_rest_route('fralin/v1', 'search', array(
'methods' => WP_REST_Server::READABLE,
'callback' => 'search_results',
'permission_callback' => '__return_true',
));
}
Который вызывает обратный вызов:

Код: Выделить всё

function search_results($data) {
$main_query = new WP_Query(array(
'post_type' => array('product', 'post', 'page', 'diagram'), //Would grab FAQ as a custom post type, but it's not it's own custom post type - just custom fields on a page.
'posts_per_page' => 18,
'post_status' => 'publish',
'order_by' => 'relevance',
'order' => 'ASC',
'no_found_rows' => true,
's' => sanitize_text_field($data['term']),
));

$results = array(
'products' => array(),
'pages' => array(),
'posts' => array(),
'diagrams' => array()
);

while ($main_query->have_posts()) {
$main_query->the_post();
global $product;
global $post;

if (get_post_type() == 'product') {
array_push($results['products'], array(
'title' => $product->get_name(),
'link' => get_the_permalink(),
'featuredImage' => get_the_post_thumbnail_url(),
'sku' => $product->get_sku(),
'priceHTML' => $product->get_price_html(),
'tagline' => get_field('product_tagline', get_the_ID()),
'originalDesign' => get_field('original_design', get_the_ID()),
'productAttributes' => array(
get_field('pickup_design', get_the_ID()),
get_field('pickup_appearance', get_the_ID()),
),
));
}

if (get_post_type() == 'post') {
array_push($results['posts'], array(
'title' => get_the_title(),
'link' => get_the_permalink(),
'featuredImage' => get_the_post_thumbnail_url($post->ID, 'thumbnail'),
'publishedDate' => get_the_time('F j, Y'),

));
}

if (get_post_type() == 'page') {
array_push($results['pages'], array(
'title' => get_the_title(),
'link' => get_the_permalink(),
'faq' => get_field('faqs'), // Trying to access FAQ Questions and Answers here.
));
}

if (get_post_type() == 'diagram') {
array_push($results['diagrams'], array(
'title' => get_the_title(),
'thumbnail' => get_field('wiring_diagram_thumbnail')['sizes']['thumbnail'],
'pdf' => get_field('wiring_diagram_pdf'),
'description' => get_field('wiring_diagram_description')
));
}
}

return $results;
}
Я понимаю, почему не могу получить доступ к значению FAQ. Он ищет в типе сообщения страницы любые значения поиска, но их нет. Часто задаваемые вопросы просто добавляются в шаблон страницы, а не в отдельный тип сообщений.
Тем не менее, я совершенно не понимаю, как включать поля ACF в результаты поиска.Я хочу, чтобы пользователь выполнял поиск по запросу «мороженое», а моя функция поиска искала поля часто задаваемых вопросов, включающие эти ключевые слова, и имела возможность возвращать вопрос и ответ в результатах поиска. Я просто застрял в получении значений.
Есть идеи, с чего начать? Спасибо.

Подробнее здесь: https://stackoverflow.com/questions/712 ... i-endpoint
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»