web-dev-qa-db-fra.com

Meilleure façon de passer des arguments à une autre page dans Wordpress

Quel est le meilleur moyen de passer des arguments à une autre page dans wordpress. Je l'ai fait de cette façon:

<a href="get_permalinka(id_of_page).'/&i=2&j=3&k=4'">Link/a>

Je reçois ces arguments avec $ _GET ['i'], $ _GET ['j'], $ _GET ['k'], le problème est le suivant: cela fonctionne uniquement avec les permaliens par défaut, mais lorsque je le change en un autre type de permalien, cela ne fonctionne plus.Remarque - je passe ces arguments de la page d'accueil à une autre page (page de modèle).

Merci pour votre temps.

1
user1147

Utilisez add_query_arg () pour le faire.

Voici une fonction utile si vous devez obtenir l'URL de la page actuelle (lorsque get_permalink est inaccessible, comme dans Archives):

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;
}
2
onetrickpony
    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>

et sur la page que j'appelle

$qvar = get_query_var('i');
echo $qvar;

$ qvar est vide!

1
user1147