Лучший способ передать аргументы на другую страницу в WordPress
-
16-10-2019 - |
Вопрос
Как лучше всего передать аргументы на другую страницу в WordPress. Я сделал это так:
<a href="get_permalinka(id_of_page).'/&i=2&j=3&k=4'">Link/a>
Я получаю эти аргументы с $ _get ['i'], $ _ get ['j'], $ _ get ['k'], проблема: это работает только с постоянными ссылками по умолчанию, но когда я меняю на какой -то другой тип постоянной ссылки, Это больше не работает. Примечание - я передаю эти аргументы из домашней страницы на другую страницу (страница шаблона).
Спасибо за ваше время.
Решение
Использовать add_query_arg () сделать это.
Вот полезная функция, если вам нужно получить текущий URL -адрес страницы (когда get_permalink недоступен, как в архивах):
function get_current_page_url() {
$request = esc_url($_SERVER["REQUEST_URI"]);
$pageURL = (is_ssl() ? 'https' : 'http').'://';
if ($_SERVER["SERVER_PORT"] != "80") $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$request; else $pageURL .= $_SERVER["SERVER_NAME"].$request;
if (false === strpos(get_option('home'), '://www.')) $pageURL = str_replace('://www.', '://', $pageURL);
if (false !== strpos(get_option('home'), '://www.') && false === strpos($pageURL, '://www.')) $pageURL = str_replace('://', '://www.', $pageURL);
return $pageURL;
}
Другие советы
add_filter('query_vars', 'p_query');
function p_query($qvars) {
$qvars[] = 'i';
return $qvars;
}
<a href="<?= add_query_arg('i', '2', get_permalink(some_page_id)); ?>">Link</a>
и на странице я звоню
$qvar = get_query_var('i');
echo $qvar;
$ Qvar пуст!
Не связан с wordpress.stackexchange