所有可见链接上的自定义帖子类型的Add_Query_Arg()

时间:2013-07-09 作者:pixelngrain

我正在尝试将add\\u query\\u art()$GET[\'var\']添加到自动填充表单字段。

我有自定义的职位类型呼叫职业,并希望自动填写该职位的字段,所以我想要的url是http://mydomain.com/career/opening-position/?position=positionname

我从循环中获取以上url,因为我已经使用add\\u query\\u arg()手动添加了url,但现在我希望它应用于站点上链接出现的任何地方。如小部件等。。

我使用filter修改了\\u permalink,它正在工作,但问题是如果我在职业页面上,它会将add\\u query\\u arg()返回值应用于所有permalink。

这是我的过滤代码

// permalink filter to add get var
function append_query_string($url) {

    if(\'career\' == get_post_type()){

        global $career_mb;
        $career = $career_mb->the_meta();

        return add_query_arg(\'position\', $career[\'career_position\'], $url);

    } else {

      return add_query_arg($_GET, $url);  

    }
}
add_filter(\'the_permalink\', \'append_query_string\');
希望我写的清楚明白

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

滤器post_type_link 相反这是为自定义帖子类型保留的,您可以获得post 对象,因此不需要全局变量。

is_admin() or add_filter( \'post_type_link\', \'career_position_url\', 10, 2 );

function career_position_url( $url, $post )
{
    global $career_mb;

    if ( \'career\' !== $post->post_type )
        return $url;

    $career = $career_mb->the_meta();

    return add_query_arg( \'position\', $career[\'career_position\'], $url );
}

结束

相关推荐

Keep permalinks in Wordpress

有没有办法设置我的永久链接以保持其精确链接。如果我有这样的帖子http://blog.rigo.ro/?p=11, 然后我希望每次我编辑帖子时都能保留这个链接。我已经安装了修订控制插件,并将其设置为不保留修订。有什么办法吗?我想保留这种格式的链接。编辑:我又看了一遍,永久链接保持着它们的链接,但每次我编辑它时,它都会向数据库中添加一个新版本,下一篇文章的编号会更高。如果我编辑当前帖子3次(blog.rigo.ro/?p=11),下一篇帖子将是blog。里戈。ro/?p=14。现在,我的问题是如何保持所有帖