WordPressを使っていると毎回この関数動画書くんだっけ?っと手が止まり毎回調べたりしてませんか?
…わたしはしてます。。(笑)
なのでよく使う関数をまとめてみました!
これでググらなくて済むはず、、ですよね。。?
URLを取得
home_url();
// 使用例
<a href="<?php echo home_url('/test'); ?>">test</a>home_url()はサイトURL(トップページ)を取得してくれます。
引数にパスを指定すると該当のURLを取得できます。
home_url() – Function | Developer.WordPress.org
同じような関数でsite_url()という関数があります。
site_url()はWordPressが設置されているパスを取得できます。
esc_url();
// 使用例
<a href="<?php echo esc_url( home_url( '/test' ) ); ?>">test</a>esc_url()はURLをエスケープ処理(無害化)してくれる関数です。
URLのプロトコル(http や https)のチェックや、無効な文字・危険な文字の削除や変換をしてくれます。
home_url()と同時に使用することが多いです。
esc_url() – Function | Developer.WordPress.org
テーマファイルまでのパスを取得
get_template_directory_uri();
// 使用例
<img src="<?php echo get_template_directory_uri(); ?>/assets/img/test.jpg">画像パスを指定する際に使用します。
おそらくテーマ作成で一番使用頻度の高い関数ではないでしょうか。
ただ、長いので一番検索しているのもこの関数な気がします(笑)
サムネイルを取得
the_post_thumbnail();
<?php
if ( has_post_thumbnail() ):
the_post_thumbnail();
endif;
?>サムネイルを出力するための関数です。
imgタグも出力してくれるので、関数を記述するだけで画像を表示できます。
画像が登録されていない場合もあるので、has_post_thumbnail()と一緒に記述しましょう。
the_post_thumbnail_url();
// 使用例
<img src="<?php the_post_thumbnail_url(); ?>">サムネイルのパスだけ取得したい場合は、the_post_thumbnail_url()を使いましょう。
echo前に処理が必要なときはget_the_post_thumbnail_url()も使用できます。
タイトルを表示
タイトルを表示する際、主に2つの関数をよく使っています。
the_title()とget_the_title()それぞれ必要に応じて使い分けています。
the_title();- ループ内でのみ使用できます。
- 引数を指定しない場合は、現在の投稿のタイトルをechoします。
- 引数に投稿IDを指定すると、指定した投稿のタイトルをechoします。
- 返り値はありません。
get_the_title();- ループ外でも使用できます。
- 引数に投稿IDを指定しない場合は、現在の投稿のタイトルを返します。
- 引数に投稿IDを指定すると、指定した投稿のタイトルを返します。
- 返り値は文字列です。
本文を表示
the_content();
// 使用例
if ( have_posts() ):
while ( have_posts() ) : the_post();
the_content();
endwhile;
endif;the_content()は本文を表示する関数です。
WordPressを使用する上で必ずと言っていいほど、使用する機会も多いのではないでしょうか。
使用するにはループ処理の中で実行する必要があるので注意が必要です。
本文を表示するためにget_the_content()という関数もあります。
大きな違いは、the_content()ではフィルターフックが適用されます。
フィルターフックとは、the_content()で取得した結果を変更することができる機能です。
例えば、本文内のショートコードを展開したり、改行コードをpタグに変更したりすることができます。
用途に合わせてそれぞれ使い分けるといいです。
まとめ
今回は特に使用頻度が高い関数に絞ってみました。
紹介している関数の中にも、まだ紹介しきれていない機能がたくさん眠っています。
(今回は割愛しています)
他にもWordPressの便利な関数はたくさんあります。
調べてみると以外な関数に出会えるかもしれません。
ぜひぜひ探してみてください。
