これは便利!? よく使うwordpressの関数リファレンス
ちょくちょく出て来るけど覚えるのが面倒臭い貴方へ。
使用頻度の高い関数と、コーダー視点からよく使われるパターンをサンプルとしてまとめました。
wordpressのurlを取得する
<?php echo site_url(); ?>/
aタグ使って、サイト内のxxxxというページへのリンクを作成する
<a href="<?php echo site_url(); ?>/xxxx" >
imagesフォルダのurlを取得する
<?php echo get_stylesheet_directory_uri(); ?>/images
imgタグでimagesフォルダ内の画像「xxx.png」を表示する場合
<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/xxx.png" >
cssのbackgroundでimagesフォルダ内の画像「xxx.png」を指定する場合
background: url("<?php echo get_stylesheet_directory_uri(); ?>/images/xxx.png");
自動で挿入されるpタグを削除する
<?php remove_filter( 'the_content', 'wpautop' ); ?>
<?php the_content(); ?>
上の1行目が「自動で入るpタグを入れない」という命令文で、下の行が「コンテンツを表示する」という命令文。両方とも必要なのでご注意。
phpファイルをインクルードする
<?php include "xxxx.php" ; ?>
上記の場合だと、「xxxx.php」という自作したphpをテンプレートファイルの任意の場所に埋め込みたい時に使います。wordpressのみならず、phpファイルなら使える関数ですので例えば静的htmlでサイトの作成依頼が来た際にも、index.phpや下層ページのphpに、wordpressみたいに共通のheader.phpやfooter.phpを埋め込めるので制作時間を短縮出来ます。知っておくととっても便利ですよ。
条件分岐
トップページとそれ以外のページで異なる内容を表示させる
<?php if ( is_home() || is_front_page() ) : ?>
//トップページで表示させるコンテンツをここに書く
<?php else: ?>
//トップページ以外で表示させるコンテンツをここに書く
<?php endif; ?>
ログインしているユーザーと一般のユーザーで異なる内容を表示させる
本番サイト稼働中に修正を入れる場合管理者と一般ユーザーに別々のコンテンツを表示させられるので便利。
<?php if ( is_user_logged_in() ) : ?>
//ログインしているユーザーに表示させるコンテンツをここに書く
<?php else: ?>
//一般のユーザーに表示させるコンテンツをここに書く
<?php endif; ?>
記事一覧ページ(category.phpやarchive.php)で特定の内容を表示させる
記事一覧ページかどうかを取得
<?php if ( is_category() ): ?>
//記事一覧ページならここの内容が表示される
<?php endif; ?>
カテゴリーIDが3の記事一覧ページかどうかを取得
<?php if ( is_category(3) ): ?>
//カテゴリーIDが3の記事一覧ページならここの内容が表示される
<?php endif; ?>
スラッグがblogの記事一覧ページかどうかを取得
<?php if ( is_category("blog") ): ?>
//スラッグがblogの記事一覧ページならここの内容が表示される
<?php endif; ?>