ネコになって自由気ままに生きてみたいよねー

とりあえず何か書いていきたいと思っています。

WordPressのカスタムヘッダーの設定してみたよー

WordPressのマルチサイト機能を使ってサイトを作成していて、子ブログ用のテーマを作成した時にカスタムヘッダーを設置してみた。


カスタムヘッダーの設定

デフォルトの設定は下記のようになっています( wp-includes/theme.php )

 

   $defaults = array(

      'default-image' => '',

      'random-default' => false,

      'width' => 0,

      'height' => 0,

      'flex-height' => false,

      'flex-width' => false,

      'default-text-color' => '',

      'header-text' => true,

      'uploads' => true,

      'wp-head-callback' => '',

      'admin-head-callback' => '',

      'admin-preview-callback' => '',

   );

 

 
カスタムヘッダーの設定をfunctions.phpに書いてフックをかけます。


functions.php

 

   function theme_setup() {

      $settings = array(

         'default-image' => '',

         'random-dafault' => false,

         'width' => 930,

               'height' => 220,

         'flex-width' => true,

               'flex-height' => true,

               'default-text-color' => '333', 

         'header-text' => true,          

               'max-width' => 2000,           

               'uploads' => true,

         /* ヘッダーを表示する際のコールバック関数 */

               'wp-head-callback' => 'wp-head-callback',
         /* 管理画面でヘッダーを編集する際のコールバック関数 */

               'admin-head-callback' => 'admin-head-callback',

         /* 管理画面でヘッダーをプレビューする際のコールバック関数 */

               'admin-preview-callback' => 'admin-preview-callback'        

         );

         add_theme_support( 'custom-header', $settings );

   }

   add_action( 'after_setup_theme', 'theme_setup' ); // フックをかける。

 

 

 

カスタム背景の設定

また、カスタム背景を設定するには上記function内に下記を追加します。

 

 
  add_theme_support( 'custom-background', array(
     'default-color' => 'Your favorite color' 
  ));


カスタム背景のデフォルト設定( wp-includes/theme.php )

   

   $defaults = array(

      'default-image' => '',

      'default-color' => '',

      'wp-head-callback' => '_custom_background_cb',

      'admin-head-callback' => '',

      'admin-preview-callback' => '',

   );

 

 
これで、ダッシュボード/外観/ヘッダー
ダッシュボード/外観/背景が利用可能になります。

 

 


f:id:margaman:20130517233318p:plain

   

 

 

 

 

 

 あとは3つ関数を書きます。

・ヘッダーを表示させる際の関数
・管理画面でヘッダーを編集する際の関数
・管理画面でプレビューを表示させるための関数

function wp-head-callback() {
   /*  Your code  */

}

function admin-head-callback() {

   /*  Your code  */
}

function admin-preview-callback() {

   /*  Your code  */
}


これでカスタムヘッダーとカスタム背景の設定は完了です。