Получение Wordpress для работы с параметрами запроса из URL-адреса вместо перенаправления на страницу с ошибкойPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Получение Wordpress для работы с параметрами запроса из URL-адреса вместо перенаправления на страницу с ошибкой

Сообщение Anonymous »

Я пытаюсь создать страницу поиска для веб-сайта журнала, где вы можете выполнять поиск по ключевым словам и категориям WordPress (одиночный или множественный выбор), а конечный результат отображается по тому же URL-адресу с параметрами в конце. .
В идеале:
  • mywebsite.com/search/ будет отображать пустую панель поиска с некоторыми сообщениями по умолчанию
    li>
    в форме поиска есть флажки по какой из категорий пользователь хочет выполнить фильтрацию (множественный выбор)
  • нажав на поиск, вы перейдете, например, к. mywebsite.com/search?s=searchtext&?category=somecategory – это та же самая страница, за исключением того, что сообщения по умолчанию заменяются теми, которые соответствуют запросу
Я попробовал несколько бесплатных плагинов, но они не делают того, что мне нужно. Моя организация (небольшая студенческая группа) не может позволить себе большинство платных, и я все равно пытаюсь учиться. В настоящее время я редактирую дочернюю тему на основе 2024 года.
Это созданная мной форма поиска (пользовательский HTML):

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










 Journal 

 Interview 

 Short-form 


А это в файле function.php дочерней темы для проверки параметров:

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

function get_url_parameters(){
// Access the URL parameters
$all = ['journal','interview, 'short'];
$s = isset($_GET['s']) ? sanitize_text_field($_GET['s']) : null;
$category = isset($_GET['category']) ? sanitize_text_field($_GET['category']) : $all;

// Check if parameters are set and echo them
if ($s) {
echo '
Search is: ' . esc_html($s) . '
';
}

if ($category) {
echo '
Category is: ' . esc_html($category) . '
';
}
}
add_action( 'init', 'get_url_parameters' );
Меня всегда принудительно перенаправляют на страницу с ошибкой, например. mywebsite.com/search/?s=xyz, хотя технически обе эти вещи работают. (Я переключился на тему 2021 года для тестирования, и она останется на той же странице, только если я введу параметры вручную, а не при отправке через форму). Как мне запретить WordPress считать, что это неопределенная новая страница, и перенаправляться на страницу с ошибкой? В нескольких руководствах и ответах на форумах говорится о необходимости написать собственный шаблон на php, но я, похоже, не могу включить его, по крайней мере, в тему 2024 года. Есть ли способ сделать это в теме 2024 года, или мне лучше вернуться к более ранним темам?
(Я использовал PHP и подобные ему в учебных средах, и это мой первый время учусь, как заставить его работать с WordPress).
Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/793 ... f-redirect
Ответить

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

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

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

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

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