在WordPress中将参数传递到另一个页面的最佳方式

时间:2010-12-22 作者:user1147

在wordpress中将参数传递到另一个页面的最佳方式是什么。我是这样做的:

<a href="get_permalinka(id_of_page).\'/&i=2&j=3&k=4\'">Link/a>
我用$\\u get[\'I\']、$\\u get[\'j\']、$\\u get[\'k\']得到这个参数,问题是:这只适用于默认的永久链接,但当我将其更改为其他永久链接类型时,它就不再起作用了。注意-我正在将这些参数从主页传递到另一个页面(模板页面)。

谢谢你抽出时间。

2 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

使用add_query_arg() 这样做。

如果您需要获取当前页面URL(当get\\u 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;
}

SO网友:user1147

    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为空!

结束

相关推荐

获取在Functions.php中设置的变量,并在我的Custom Post模板中回显它们

在我的函数中设置了以下函数。php文件,以允许我的自定义帖子类型“Slideshow”工作。add_action( \'the_post\', \'paginate_slide\' ); function paginate_slide( $post ) { global $pages, $multipage, $numpages; if( is_single() && get_post_type() == \'lom_s