functions.phpに加えると便利なワードプレス・コーデックス5選

WordPressのfunctionsphpを操って、テーマを自分好みにカスタマイズ

ワードプレス子テーマをカスタマイズする上で、functions.phpに追加したら、便利だったコーデックスをあらためてリストアップしてみました。

ここでは、そのリストの中の基本的な5つを取り上げていきます。

子テーマのfunctions.phpを編集する上での注意点

お使いになる場合は、functions.phpを編集する上での以下の注意点に十分留意してください。

他の子テーマのphpファイルは親テーマを上書きするのに対し、functions.phpは、いったん子テーマのfunctions.phpを読み込んでから親テーマのfunctions.phpを読み込むという形になっています。

親テーマのfunctions.phpと子テーマのfunctions.phpに同じ関数があると、エラーが起きますので、追加したい必要な関数のみをfunction.phpの記述との間に記述するようにします。
・・最後の?>は無くてもOKですが、一応^^;

また、作成する時に、function.phpの記述 の間の改行は大丈夫ですが、<> の外に空スペースや空改行があるとエラーが起きて、ログインするとダッシュボードが真っ白!なんてことに遭遇してしまいますので、その点にも注意してください。
・・うーん、やっぱり、最後の?>は要らないか(笑)

間違ってしまった時の為に、まず加筆前のfunctions.phpをバックアップとしてFTPソフトでローカルにダウンロードしておくのがおすすめです。
加筆後にエラーが起きるようであれば、FTPソフトで加筆前のfunctions.phpを上書きアップロードすれば、正常な状態に戻せますので。

コーデックスリスト

抜粋文の長さの設定

抜粋文の長さはデフォルト(初期設定)では全角では110文字です。
これを125文字にする場合です。
125をお好きな文字数に変更してお使いください。

// 抜粋文の文字数を125文字に指定する
add_filter('post_class', 'remove_hentry');
function my_excerpt_mblength($length) {
    return 125;
}
add_filter('excerpt_mblength', 'my_excerpt_mblength');

抜粋文最後のread moreの設定、read moreへのリンクの設定

抜粋文末read more続きを読むリンクデフォルトでは、抜粋文に続きがある場合、文末に[…]が表示されます。

これは続きがあるよ、という意味ですが、これを「続きを読む」に変更し、かつ、この抜粋文の記事へのリンクにします。

「続きを読む」の部分を「もっと読む」、「>>>記事を開く」などお好きな言葉でお使いください。

// 抜粋末尾に個別投稿ページへのリンクを追加する
function new_excerpt_more( $more ) {
	return ' <a class="read-more" href="'. get_permalink( get_the_ID() ) . '">続きを読む</a>';
}
add_filter( 'excerpt_more', 'new_excerpt_more' );

抜粋文に関するコーデックスの詳細は、ワードプレスコーデックス「テンプレートタグ/the excerpt」をご覧下さい。

テンプレートタグ/the excerpthttp://wpdocs.osdn.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/the_excerpt#note

固定ページでも抜粋が使えるようにする/アイキャッチ画像を表示させる

固定ページ一覧にアイキャッチ画像と抜粋文を表示

ブログタイプのサイトでは固定ページの抜粋文はあまり必要ないかもしれませんが、

コーポレートサイトなどで、トップページに固定ページの一覧を載せる際、固定ページ毎のアイキャッチ画像と抜粋文も載せたい、といった場合で、テーマが対応していなければ、固定ページへのアイキャッチと抜粋文の設定が必要です。

// 固定ページで抜粋を入力できるようにする
add_post_type_support('page', 'excerpt');
//固定ページでもアイキャッチ画像を使えるようにする
add_action( 'after_setup_theme', 'my_theme_setup', 11 );

function my_theme_setup() {
	if ( function_exists( 'add_theme_support' ) ) {
		add_theme_support( 'post-thumbnails', array( 'post', 'page' ) );
	}
}

※固定ページのテンプレート、page.phpにアイキャッチ画像を表示させるタグがない場合は、functions.phpにアイキャッチ画像を使える設定をしてもページにアイキャッチは表示されません。
ページにもアイキャッチ画像を表示させたい場合は、下記のphpを子テーマpage.phpなどのアイキャッチを表示させたい場所に挿入して下さい。

<?php if ( has_post_thumbnail() && ! post_password_required() ) : ?>
						<div class="entry-thumbnail">
							<?php the_post_thumbnail(); ?>
						</div>
						<?php endif; ?>

ちなみに、アイキャッチ画像を固定ページそれぞれにも設定するのは、UXの向上のためです。
ユーザーさんがトップから固定ページを開いた際、アイキャッチを見るだけで正しいページに飛んできたかどうかを判断しやすくなります。
アイキャッチ画像でUXを向上させる

ショートコードを使えるようにする

ショートコードが使用できないテーマに。
ショートコードが使える様々なプラグインの使い勝手が格段に良くなり、大変便利です。

//ショートコードを使えるようにする
echo do_shortcode("");

ウィジェットでショートコードを使えるようにする。

WordPress Popular Postsのウィジェットでのショートコード使用例

これは、めっちゃおすすめです。

ページ内でしか使えないと思っていたプラグインでも、ショートコード対応プラグインであれば、この設定でサイドバーで使えるようになります。

テキストウィジェットをウィジェットエリアにセット、これにショートコードを記述でOK、です。

画像はWordPress Popular Postsのウィジェットでのショートコード使用例です。

//ウィジェットでショートコードが使えるようにする
add_filter( 'widget_text', 'do_shortcode' );

お役に立つと良いのですが(^^)
よろしければ、いいねシェアなどしていただけると幸いです(^^)

ではでは、今日はこの辺で。

Published:2015/05/23

Written by