Как прочитать специальный символ, такой как «&» в URL-адресе WordPress? - PullRequest
0 голосов
/ 09 сентября 2018

Я пытаюсь загрузить один пост с пользовательским URL.Но он перенаправляет на URL-адрес по умолчанию из-за символа «&».без символа & работает нормально.Но как я могу прочитать это "&" в URL?Мой код ниже,

function mutually_add_query_vars($vars) {
    return array('L') + $vars;
}
add_filter('query_vars', 'mutually_add_query_vars');

и загрузка для одного шаблона

function mutually_template4($template) {

  global $wp;

  if ($wp->query_vars['L']=='6'.html_entity_decode('&').'au=2') {
    return dirname( __FILE__ ) . '/single-ad.php';
  }
  else {
    return $template;
  }
}
add_filter('single_template', 'mutually_template4');

Я пытался с html_entity_decode, но ничего не работает.

Ответы [ 3 ]

0 голосов
/ 09 сентября 2018

Что вам нужно сделать, это кодирование URL вместо кодирования HTML (оба они разные). Поэтому вы можете заменить & на% 26. Нажмите здесь , чтобы увидеть ссылку на кодировку URL.

Вы также можете использовать PHP-функцию urlencode (string $ str) для кодирования строки со значениями, подходящими для URL.

0 голосов
/ 09 сентября 2018

GET пары параметров в URL начинаются с? затем разделяются символом &, а ключ / значения разделяются символом =, поэтому myurl.com?L=6&au=2 будет разделен на два отдельных элемента $wp_query_vars, один из которых будет присвоен L, а другой - au не должно быть необходимости анализировать символ & вручную, если по какой-то причине ваш ключ / значение содержит символ &, а код URI должен быть закодирован как% 26, как предлагали другие ответы:)

function mutually_template4($template) {

  global $wp;

  if ($wp->query_vars['L']=='6' && $wp->query_vars['au']=='2') {
    return dirname( __FILE__ ) . '/single-ad.php';
  }
  else {
    return $template;
  }
}
add_filter('single_template', 'mutually_template4');
0 голосов
/ 09 сентября 2018

Вам нужно кодировать
Так и будет% 26

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...