2

WordPress では、呼び出すとsite_url()完全なサイト URL ( http://www.example.com) が返されます。私がやろうとしているのはadd-something-here、フィルターを使用して URL の末尾に何か ( ) を追加することです。

私が期待している結果は次のとおりです。 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');
4

3 に答える 3

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 に依存するスクリプトでエラーが発生する可能性があることに注意してください。

于 2013-03-16T23:30:56.497 に答える
0

テストされていませんが、これは私がよく使用するもののスニペットです。

$constant = 'add-something-here';
return '<a href="'. esc_url(site_url().'/'.$constant.'/'">'. esc_html( $name ).'</a>'; 

または、代わりに単にページ ID を取得したい場合は、はるかに優れています。

 $page_id = '2014';
 return  <a href="'. get_page_link ($page_id) .'">'.esc_html__( 'pagename', 'text-domain' ).'</a>
于 2016-03-28T08:39:01.897 に答える
0

未テストですが、PHPなので試してみてください...

function custom_site_url($url) {
    return get_site_url() . '/add-something-here';
}
add_filter('site_url', 'custom_site_url');
于 2013-03-16T22:45:27.487 に答える