Добрый день!
У меня есть в post type карточки, с фильтром. Тянутся с помощью ajax, фильтруется get запросом.
Пришла задача, нужно несколько фильтров перевести в нормальные урлы, для сео, говорят, важно. Я создал отдельную страницу, подключил шаблон, хочу передать параметр через доп. поля новой страницы и отсортировать в цикле результат.
В шаблоне у меня так:
<script>
let baseFilterData = JSON.parse('<?= json_encode($filtersData); ?>');
let ajaxFilterUrl = '<?= admin_url('admin-ajax.php?action=filter_apartments&'); ?>';
let ajaxUrl = '<?= admin_url('admin-ajax.php'); ?>';
</script>
<div class="load" data-obj-city-str="" data-max-page="" data-ajax-url="" data-current-page="1">
/* контейнер куда генерятся карточки */
</div>
В function.php так:
$my_posts = new WP_Query($args);
$total_posts = $my_posts->found_posts;
$max_pages = $my_posts->max_num_pages;
if ($my_posts->have_posts()) {
ob_start();
while ($my_posts->have_posts()) {
$my_posts->the_post();
get_template_part('template-parts/apart-list-item', null, []);
}
$content = ob_get_clean();
wp_send_json_success(['content' => $content, 'total_posts' => $total_posts, 'max_pages' => $max_pages, 'get' => $rooms, ]);
} else {
wp_send_json_success(['content' => '<p class="not-found">По заданным параметрам ничего нет.<br>Измените параметры и попробуйте снова</p>', 'total_posts' => 0, 'get' => $rooms]);
}
Дальше идёт шаблон самой карточки:
template-parts/apart-list-item
Проблема в том, что я хоть и получаю все товары без фильтра, но не в function.php, не в шаблоне карточки, никак не могу получить id страницы, на которой я сейчас нахожусь, что бы вызвать поля этой страницы и отсортировать результат цикла. Я пытался получить id по урлу но любые способы определения урла страницы отдают какую-то ерунду, даже самый железный способ
$_SERVER['REQUEST_URI']
отдаёт мне
/wp-admin/admin-ajax.php?action=filter_
Я пробовал через массив пост передать данные, записал значение в шаблоне страницы
$_POST['id'] = '10';
посмотрел в массив в шаблоне карточки - пусто.
Как передать ID? Или хотя бы как мне получить нормальный урл страницы в function.php?