使用过滤器编辑site_url

时间:2013-03-16 22:41:35

标签: wordpress filter

使用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');

3 个答案:

答案 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>';