如何使用URL中的变量动态填充短码?

时间:2017-01-02 作者:chainznanz

我有一个页面,在一个页面上列出所有实时帖子,每个帖子旁边都有一个编辑链接。指向帖子的编辑链接如下所示:

site.com/edit/?pid=3329&_wpnonce=9b37f6bacd
其中3329是{post\\u id}。单击“编辑”链接可使用户访问具有快捷代码的表单:

[gravityforms id="1" update="xx"]
有没有办法用3329更新“xx”?通过PHP,我尝试了以下方法:

$post_ID = get_query_var( \'pid\' );

echo do_shortcode( \'[gravityform id="2" update="\' . $post_ID . \'"]\' );
但它似乎不起作用。知道我在哪里失败了吗?

1 个回复
SO网友:Tunji

使用get_query_var, 必须首先将查询变量注册到query_vars 滤器

add_filter( \'query_vars\', \'wpse251014_query_vars\' );
function wpse251014_query_vars( $query_vars ) {
    $query_vars[] = \'pid\';
    return $query_vars;
}
Reference: get_query_var

相关推荐

无法在模板函数.php中使用IS_HOME

我试图在标题中加载一个滑块,但只在主页上加载。如果有帮助的话,我正在使用Ultralight模板。我正在尝试(在template functions.php中)执行以下操作:<?php if ( is_page( \'home\' ) ) : ?> dynamic_sidebar( \'Homepage Widget\' ); <?php endif; ?> 但这行不通。现在,通过快速的google,我似乎需要将请