WordPressではthe_permalink()
とget_permalink()
関数の両方を使用していますが、両方の関数の出力に違いはありません。両方の機能の違いは何ですか?
WordPressではthe_permalink()
とget_permalink()
関数の両方を使用していますが、両方の関数の出力に違いはありません。両方の機能の違いは何ですか?
回答:
the_permalink
現在の投稿のパーマリンクをフロントエンドにエコーします。
get_permalink
ただし、変数として返しますが、エコー出力はしません。別の投稿のパーマリンクが必要な場合は、投稿IDを渡すこともできます。
the_permalink
以下と同等です。
echo get_permalink();
これは実際に行うことと非常に近いものです。これはの実装ですthe_permalink
:
function the_permalink() {
echo esc_url( apply_filters( 'the_permalink', get_permalink() ) );
}
これに関するWordPress Codexを見るとget_permalink()
、ループの外で使用するためにあることがわかります。the_permalink()
ループ内で使用するためのものです。それはそれを見る最も簡単な方法です。
the_permalink()
のような投稿ループで使用されますthe_title()
。ループの詳細については、The Loopを参照してください。
get_permalink()
ループ内またはループ外で使用できます。ループでは、関数は現在のポストパーマリンクを(エコーではなく)返します。しかし、ループの外では、投稿IDが必要です。
例えば:
echo get_permalink( 1 );
これにより、現在のページのパーマリンクが表示されます。
echo get_permalink();