これは便利!? よく使う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; ?>

有限会社インセンス 神保部長

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

コメントする