Wordpress get_query_var()不起作用

时间:2017-11-14 20:25:10

标签: wordpress wordpress-theming

我一直试图让add_query_arg()get_query_var()在我的自定义Wordpress主题中工作数小时但没有成功。

我搜索并尝试了各种“决议”无济于事,无法解决我所遗漏的问题,任何帮助都将受到赞赏。

我正在尝试创建一个自定义编辑帖子页面,并希望传递?pid=变量的URL查询变量以传递帖子ID。 我目前有:

的functions.php

function add_query_vars_filter( $vars ){
    $vars[] = "pid";
    return $vars;
}

add_filter( 'query_vars', 'add_query_vars_filter' );

内容的single.php

<a href="<?php echo add_query_arg( array('pid' => get_the_ID()), get_site_url() . '/new-post' ) ?>">
    <i class="fa fa-pencil" aria-hidden="true"></i> Edit Post
</a>

页-NEW-post.php中

<div>
    <?php echo 'pid: ' . get_query_var('pid', 'Not Set'); ?>
</div>

结果始终为Not Set。 我已经尝试了其他变量名称以确保避免任何Wordpress默认变量,但没有工作。

还有什么我需要添加以启用自定义变量,还是我做了一个愚蠢的拼写错误或任何东西?

1 个答案:

答案 0 :(得分:0)

这篇文章有点旧,但这里有一个解决方案。

所以,我遇到了同样的问题,这是我的 nginx 配置文件中的错误。解决方案是在我的 nginx 中传递 $query_string 变量,例如:

location / {
   try_files $uri $uri/ /index.php?$query_string;
}

如果您有 Apache 配置,请尝试搜索类似的解决方案。