Intereting Posts
Как разместить случайные виджеты в боковой панели WordPress? Не работает сайт Multisite Create update_option не работает! Получить последние сообщения по дате в Multisite Неустранимая ошибка: вызов неопределенной функции add_action () – нетронутая проблема Неужели этот крюк действительно устарел? (управление _ {$ таксономия} _custom_column) Какое самое лучшее действие для использования, когда вы хотите что-то делать только один раз для настройки темы? WordPress как система приложений колледжа (Embark) Как добавить Ajax в календарь виджета по умолчанию для поддержки загрузки следующего / предыдущего месяца? Как сделать первое окно виджета закрытым, а не открывать в админке Какова наилучшая практика для проверки постоянных ссылок? Ошибка ob_end_flush при использовании wpdb в плагине Javascript не работает в WordPress Media Uploader Выход короткого кода, отображаемый только в верхней части страницы Выбрать категорию в пользовательском запросе

Добавить несколько значений в переменную запроса в WordPress

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

<?php function add_custom_query_var( $vars ){ $vars[] = "brand"; return $vars; } add_filter( 'query_vars', 'add_custom_query_var' ); ?> 

И затем на странице содержимого, которую я использую:

 <?php echo $currentbrand = get_query_var('brand'); ?> 

Итак, теперь я могу передать URL-адрес, например:

 http://myexamplesite.com/store/?brand=nike 

и получить результат.

Как передать несколько значений для бренда. Поэтому я хотел бы иметь 3 значения для бренда: nike, adidas и forestland.

Я пробовал следующее, и никто из них не работает:

  1. http://myexamplesite.com/store/?brand=nike&brand=adidas&brand=woodland Он просто возвращает последний бренд, в данном случае лес.

  2. http://myexamplesite.com/store/?brand=nike+adidas+woodland Это возвращает все три с пробелами. Я вроде думаю, что это не правильное решение. Так может быть, есть правильный способ передать несколько значений для переменной запроса и получить их в массиве может быть так, что цикл может быть запущен.

Solutions Collecting From Web of "Добавить несколько значений в переменную запроса в WordPress"

Я даю вам некоторые решения, которые вы хотите использовать.

Использование плюс http://myexamplesite.com/store/?brand=nike+adidas+woodland

 //Don't decode URL <?php $brand = get_query_var('brand'); $brand = explode('+',$brand); print_r($brand); ?> 

использование, разделитель http://myexamplesite.com/store/?brand=nike,adidas,woodland

 $brand = get_query_var('brand'); $brand = explode(',',$brand); print_r($brand); 

Сериализовать путь

 <?php $array = array('nike','adidas','woodland');?> http://myexamplesite.com/store/?brand=<?php echo serialize($array)?> to get url data $array= unserialize($_GET['var']); or $array= unserialize(get_query_var('brand')); print_r($array); 

json way

 <?php $array = array('nike','adidas','woodland'); $tags = base64_encode(json_encode($array)); ?> http://myexamplesite.com/store/?brand=<?php echo $tags;?> <?php $json = json_decode(base64_decode($tags))?> <?php print_r($json);?> 

использование – путь

Я предлагаю использовать mod_rewrite для перезаписи как http://myexamplesite.com/store/brand/nike-adidas-woodland или если вы хотите использовать только php http://myexamplesite.com/store/?brand=tags=nike-adidas – Лесная . Использование '-' делает его дружественным к поисковым системам.

 <?php $brand = get_query_var('brand'); $brand = explode('-',$brand); print_r($brand); ?> 

В каждом случае вы получите тот же результат

  Array ( [0] => nike [1] => adidas [2] => woodland )