Мне было интересно, может ли кто-нибудь мне помочь. Кажется, я не могу заставить этот случай работать (так как я новичок в PHP).
Кейс: на моем сайте wordpress есть два "типа сообщений":
- Вебинар
- Спрекер (спикер на нидерландском)
С помощью расширенных настраиваемых сообщений я настроил поле отношений в типе сообщения веб-семинара. Так что я могу выбрать спикеров, связанных с этим постом.
Я использую elementor, и мне нужно использовать виджет публикации elementor для отображения связанных докладчиков с помощью единого шаблона страницы веб-семинара. Это должно быть сделано с помощью специального запроса. В elementor вы можете установить собственный идентификатор запроса. Это требует кода запроса php.
Теперь я не могу правильно понять этот код массива запросов.
Документация Elementor о пользовательских запросах: https://developers.elementor.com/custom-query-filter/#Using_the_Custom_Filter
Некоторые связанные ответы в Интернете (но все еще не удается заставить его работать): Пользовательский фильтр запросов для сообщений элементара по полю отношения (ACF)
Идентификатор пользовательского запроса, который я использую в Elementor, - Spreker_filter
Мой код:
add_action( 'elementor/query/spreker_filter', function( $query ) {
// Get current meta Query
$meta_query = $query->get( 'meta_query' );
// If there is no meta query when this filter runs, it should be initialized as an empty array.
if ( ! $meta_query ) {
$meta_query = [];
}
// Append our meta query
$meta_query[] = [
'key' => 'sprekers',
'value' => '"' . get_the_ID() . '"',
'compare' => 'in',
];
$query->set( 'meta_query', $meta_query );
} );