Поиск Elementor: фильтрация CPT по мета-полю отношений ACFPhp

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Поиск Elementor: фильтрация CPT по мета-полю отношений ACF

Сообщение Anonymous »

Я работаю с Elementor Pro и ACF, и мне нужна помощь в настройке виджета поиска Elementor для отображения результатов для моего проекта пользовательского типа сообщений на основе его партнера по полю отношений ACF.
Поэтому, если я ищу партнера, он фильтрует результаты по связанным проектам.
Что я пробовал:
< ul>
[*]Настройки запроса Elementor: попытка фильтрации по Поля ACF, но не удалось найти ни одной встроенной функции.
[*]Пользовательский запрос: пытался изменить поисковые запросы с помощью PHP, но возникли проблемы с экранированием значений.

Где я оказался:

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

function custom_elementor_search_by_partner_title( $query ) {

// Check if the search is targeting a specific post type (e.g., 'project')
if ( isset( $query->query_vars['post_type'] ) && $query->query_vars['post_type'] === 'project' ) {

// Get the search term entered by the user
$search_term = get_query_var( 's' );

if ( ! empty( $search_term ) ) {

// Get all Partner posts that match the search term
$partners = get_posts([
'post_type'   => 'partner',
// 'partner' is the post type key
's'           => $search_term,
// Searching by partner title
'fields'      => 'ids',
// Return only IDs
'posts_per_page' => -1,
// Get all matching partners
]);

// If matching partners are found, add them to the meta query
if ( ! empty( $partners ) ) {
$partner_ids = $partners;
// Array of matching Partner post IDs

// Ensure we're passing the partner IDs correctly as an array in meta_query
$meta_query = array(
array(
'key'     => 'partner',
// ACF relationship field name
'value'   => $partner_ids,
// Array of partner IDs
'compare' => 'IN',
// Compare against the partner post IDs
),
);

// Set the meta query to filter by related partners
$query->set( 'meta_query', $meta_query );
}
}
}
}

add_action( 'pre_get_posts', 'custom_elementor_search_by_partner_title' );
также попробовал пользовательский фильтр запросов Elementor:

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

function custom_search_query( $query ) {
// Check if the search is targeting a specific post type (e.g., 'project')
if ( isset( $query->query_vars['post_type'] ) && $query->query_vars['post_type'] === 'project' ) {

// Get the search term entered by the user
$search_term = get_query_var( 's' );

if ( ! empty( $search_term ) ) {

// Get all Partner posts that match the search term
$partners = get_posts([
'post_type'   => 'partner',
// 'partner' is the post type key
's'           => $search_term,
// Searching by partner title
'fields'      => 'ids',
// Return only IDs
'posts_per_page' => -1,
// Get all matching partners
]);

// If matching partners are found, add them to the meta query
if ( ! empty( $partners ) ) {
$partner_ids = $partners;
// Array of matching Partner post IDs

// Ensure we're passing the partner IDs correctly as an array in meta_query
$meta_query = array(
array(
'key'     => 'partner',
// ACF relationship field name
'value'   => $partner_ids,
// Array of partner IDs
'compare' =>  'IN',
// Compare against the partner post IDs
),
);

// Set the meta query to filter by related partners
$query->set( 'meta_query', $meta_query );
}
}
}
}
add_action('elementor/query/custom_search', 'custom_search_query');
О чем мне нужен совет:
  • Кто-нибудь успешно фильтровал по полю ACF CPT в Elementor?< /li>
    Следует ли мне перейти на платный плагин, такой как JetEngine или SearchWP, или есть лучший способ добиться этого в Elementor?
Ценим ваши ответы!

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

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Поле флажки не фильтрация формы ACF Поля ACF
    Anonymous » » в форуме Php
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Elementor: Class 'Elementor \ Core \ Schemes \ Typography' не найден после обновления плагина Elementor (WordPres
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • WordPress — Как правильно выполнить собственный запрос к cpt в Elementor
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Как получить доступ к полю ACF в пользовательской конечной точке Wordpress Rest API?
    Anonymous » » в форуме Php
    0 Ответы
    11 Просмотры
    Последнее сообщение Anonymous
  • ACF плагин сортируйте продукты WooCommerce по пользовательскому полю "Date Picker"
    Anonymous » » в форуме Php
    0 Ответы
    4 Просмотры
    Последнее сообщение Anonymous

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