Запрашивайте пользовательские типы сообщений с помощью AJAX на многоязычном сайте

#php #sql #ajax #wordpress

Вопрос:

Мне нужно получить несколько CPTS через AJAX — запрос на многоязычном сайте.(Плагин Polylang) Я использую этот WP_Query( $args ) класс, но он мне ничего не возвращает. Тот же класс, работающий с моей functions.php страница и возвращает ожидаемый результат.

Я проверил автоматически сгенерированный SQL, который использовался в обоих запросах, и они разные.

Рабочий SQL нацелен на подтаблицу wp_3_posts , содержащую переведенный CPT(i recon).

Я верю, что тот, который был вызван из functions.php работает, потому что WordPress или плагин распознают, что это мультисайт, и меняют SQL.

Мой вопрос: Как я могу запросить пользовательскую таблицу или как я могу добавить любую дополнительную информацию в свои $args, которая повлияет на SQL-запрос?

Комментарии:

1. Вероятно, он не может определить язык, потому что URL-адрес запроса AJAX не содержит этой информации. (Вы используете (поддомены)или префикс пути в своих URL-адресах?) Попробуйте явно указать язык в своем запросе, см. polylang.pro/doc/developpers-how-to/#ajax

2. Привет, я попытался указать $args = массив( ‘posts_per_page’ => ‘-1’, ‘post_status’ =>> ‘опубликовать’, ‘post_type’ =>>> ‘имя типа сообщения’, ‘заказ’ =>>>> ‘дата начала события’, ‘заказ’ =>>>>> ‘ASC’, ‘lang’ = > > > > > > ‘de’, ‘meta_query’ = > > > > > > массив( массив( ‘ключ’ =>>>>>>>> ‘event_start_date’, ‘значение’ =>>>>>>>>> массив($start_date, $end_date), ‘сравнить’ =>>>>>>>>>> ‘МЕЖДУ’, ‘типа’ =>>>>>>>>>>> ‘ДАТА’ ) ) ); не повезло

3. Я нашел другие источники говорят языка должен быть установлен в качестве префиксов в AJAX URL-адрес запроса, а другие предлагали взять его из файла cookie (и потом установить его явно при использовании pll_get_post , но это не то, что вы используете здесь, и я не вижу функцию, чтобы настроить язык плагин должен работать в) … Я полагаю, что вам лучше всего обратиться за поддержкой к производителю.

4. Спасибо за поддержку, я стараюсь с ними связаться. Не могу заставить это работать самостоятельно(