WordPressのfunctions.phpを各テーマ共有にする

WordPressのfunctions.phpはテーマごとに存在するため、テーマを変更するとなると自分で追加した内容を各テーマに追加したりしなければならず手間がかかります。

各テーマのfunctions.phpで共通した部分を外部に別でfunctions.php作成し共有化してみたいと思います。

WordPressの管理画面、投稿一覧にアイキャッチ画像のサムネイルを表示させる設定を共有化したいと思います。

// 各テーマ共有のファイル読み込み
include( 
dirname(__FILE__) . 
'/../../themes/share_functions.php'
 );

4行目:共有化するfunctions.phpを指定する。(ここでは、share_functions.phpというファイル名にした。)
※追加する箇所は行頭辺りにするといいと思います。

<?php
add_theme_support( 'post-thumbnails' );

/* 投稿一覧にサムネイルを追加 */
function add_posts_columns_thumbnail($columns) {
  $columns['thumbnail'] = 'サムネイル';
  return $columns;
}
function add_posts_columns_thumbnail_row($column_name, $post_id) {
  if ( 'thumbnail' == $column_name ) {
    $thumb = get_the_post_thumbnail($post_id, array(100,100), 'thumbnail');
    echo ( $thumb ) ? $thumb : '-';
  }
}
add_filter( 'manage_posts_columns', 'add_posts_columns_thumbnail' );
add_action( 'manage_posts_custom_column', 'add_posts_columns_thumbnail_row', 10, 2 );

11行目:サムネイル画像の大きさを変更する場合は、「array(100,100)」の数字を変更する。
12行目:投稿記事にアイキャッチが登録されていない場合は、「-」を表示する。

作成するファイルをthemes/ディレクトリの直下に入れると有効になります。

テーマが更新されると、追加した部分は消えてしまうので、更新の都度追加し直す必要はありますが、多くの追記箇所がある場合に共有化しておくとincludeの数行を追加するだけで管理しやすくなることと思います。

LINEで送る
Pocket

コメントは受け付けていません。