使用WordPress,调用site_url()
会返回完整的网站网址(http://www.example.com
)
我要做的是在URL的末尾添加一些内容(add-something-here
)和过滤器。
我期待的结果是:
http://www.example.com/add-something-here
有人知道如何使用过滤器吗?
我尝试了以下但没有成功:
function custom_site_url($url) {
return get_site_url('/add-something-here');
}
add_filter('site_url', 'custom_site_url');
答案 0 :(得分:2)
问题是您正在使用此过滤器生成循环。函数get_site_url
正是调用过滤器site_url
的位置。
你需要:
add_filter( 'site_url', 'custom_site_url' );
function custom_site_url( $url )
{
if( is_admin() ) // you probably don't want this in admin side
return $url;
return $url .'/something';
}
请记住,这可能会导致依赖真实URL的脚本出错。
答案 1 :(得分:0)
未经测试,但因为它是PHP,你可以试试......
function custom_site_url($url) {
return get_site_url() . '/add-something-here';
}
add_filter('site_url', 'custom_site_url');
答案 2 :(得分:0)
未经测试,但这是我经常使用的片段:
truthify
或者您可能只想获取页面ID,而且效果要好得多。
$constant = 'add-something-here';
return '<a href="'. esc_url(site_url().'/'.$constant.'/'">'. esc_html( $name ).'</a>';