web-dev-qa-db-ja.com

Home_url()の望ましい使用法

これは問題ではありませんが、他の人がこの機能をどのように使用しているのかを知りたがっています。それはいくつかの簡単な例を提供しますがコーデックスは実際には好ましい使用方法を言っていません。

例えば、私のドメインがexample.comであれば、私はこれらのうちのどれでも書くことができます:

<a href="<?php echo esc_url( home_url() ); ?>/example">Example Page</a>
<a href="<?php echo esc_url( home_url('/') ); ?>example">Example Page</a>
<a href="<?php echo esc_url( home_url('/example') ); ?>">Example Page</a>
<a href="<?php echo esc_url( home_url('example') ); ?>">Example Page</a>
<a href="<?php echo esc_url( home_url('example', 'relative') ); ?>">Example Page</a>

そしてそれらはすべて同じ結果(単純化された)を出力します。

<a href="domain.com/example">Example Page</a>

私は3番目の例を最も頻繁に使用していますが、安全なページ(https://)にリンクする必要がある場合があるので、最後の例の使用方法を理解しています。

1つの方法は「ベストプラクティス」と見なされますか、それとも単に個人の好みに任されていますか?

3
bebaps

WordPressで何百万もの方法でhome_url()または姉妹関数を使用することができます。尋ねる質問は次のとおりです。他の機能のラッパーはどの機能ですか?

要約すると、連結したい場合は次のようにします。

get_bloginfo('url');
get_option('home');

あなたがスキーム(httpまたはhttps)を制御したい場合

get_site_url( $blog_id, $path, $scheme );
get_home_url( $blog_id, $path, $scheme );
site_url( $path, $scheme );

site_urlget_site_urlを呼び出す場所:

function site_url( $path = '', $scheme = null ) {
    return get_site_url( null, $path, $scheme );
}

get_bloginfo('url');またはget_bloginfo('wpurl');は以下のように返されるので、好きかもしれません。

    case 'url' :
        $output = home_url();
        break;
    case 'wpurl' :
        $output = site_url();
        break;

プリミティブは以下のとおりです。get_option('home')関数get_home_urlget_option('home')を呼び出すためです。私がget_option('home')のために書いたものはget_option('siteurl')から来たget_bloginfo('wpurl')のために似ています。

0
prosti