Intereting Posts
Добавление чувствительных размеров изображения передавая аргумент get_template_part () или лучший способ кодирования Ответ Ajax-хранилища json в переменных Изменить параметры видимости xprofile в Buddypress Тема проверки дает: Обязательно: эта тема не отображает теги? Создать страницу с помощью wp_insert_post () и AJAX Как показать только название одной категории над каждым сообщением на главной странице? Является ли использование таксономий способ пойти сюда или будет ли пользовательский тип сообщений лучше? WooCommerce get_author_posts_url () – перенаправление URL-адреса автора на базу магазина Запросить сообщения или получить сообщения по настраиваемым полям, возможно? Пользовательский размер изображения смешивает ширину и высоту вывода настройка боковой корзины из темы bronx Как обновить комментарий после мета-вызова через вызов Ajax WordPress продолжает изменять код для вставки мой пример с ajax не работает

Как перенаправить посетителя на собственный URL-адрес с помощью PHP-кода в functions.php

Пользователи должны быть перенаправлены на пользовательский URL, который я уже знаю (его часть логики программирования). Мне просто нужно знать, какую функцию WP использовать / какой PHP-код использовать для перенаправления пользователя на новый URL. Этот код будет выполнен внутри функции php в функции functions.php ->, которая сначала выполнит некоторую обработку, а затем отправит пользователя на новый URL-адрес

Как мне это сделать?

Примечание. Я попытался использовать wp_redirect, но он не работает.

Это код, который я пытался использовать (это не сработало) –

$redirecturl = get_post_type_archive_link('property'); echo "\n\n Redirect URL for property posts=" + $redirecturl; wp_redirect( "http://" . $redirecturl + "?post_type=property&search_keyword=" + $search_keyword ; 

Solutions Collecting From Web of "Как перенаправить посетителя на собственный URL-адрес с помощью PHP-кода в functions.php"

Во-первых, трудно поверить, что wp_redirect не работает, ниже некоторого (примерного) кода, как его использовать:

 function wpse101952_redirect() { global $post; if( /*SOME CONDITIONAL LOGIC*/ ) { //examples: is_home() or is_single() or is_user_logged_in() or isset($_SESSION['some_var']) wp_redirect( /*SOME SPECIFIC URL*/ ); exit(); } } add_action( 'template_redirect', 'wpse101952_redirect' ); 

Во-вторых, возник бы вопрос, правильно ли это подходит для вашего случая, но для этого вам следует подумать над тем, что вы пытаетесь сделать немного больше.


редактировать:

Функция get_post_type_archive_link() дает вам полную ссылку, вам не нужно добавлять http:// и ?post_type=property :

  wp_redirect( $redirecturl . "?search_keyword=" . $search_keyword ); 

Выполняя что-то похожее на ваш код, я получаю это предупреждение в журнале ошибок:

 Warning: Cannot modify header information - headers already sent by (output started at /xxx/wordpress/wp-content/themes/balance/functions.php:4) in /xxx/wordpress/wp-includes/pluggable.php on line 876 

Когда я использовал это, чтобы проверить:

 $redirecturl = 'google.com'; wp_redirect( 'http://' . $redirecturl ); exit; 

Все работает отлично, поэтому вы можете попробовать:

 $redirecturl = get_post_type_archive_link( 'property' ); wp_redirect( 'http://' . $redirecturl . '?post_type=property&search_keyword=' . $search_keyword ); exit; 

Код exit рекомендуется в Справочнике функций .