我正在尝试将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\');
希望我写的清楚明白
最合适的回答,由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 );
}