WordPress を自分好みに
             SaCSS vol. 24

        understandard




                             1
今日の内容
• 自己紹介

• WordPress のインストール

• フックとは

• フック実演




             2
                      2
自己紹介



 3
       3
自己紹介
• すぎもとじゅん

• 都内ウェブ制作会社勤務

• WordPress は主に趣味で使用

• understandard というサイトをやってます




              4
                               4
WordPress のインストール



        5
                    5
WordPress のインストール
1. 最新の WordPress をダウンロードし、解凍

2. データベースを用意

3. 解凍したファイルをサーバーにアップロード

4. アップロード先/wp-admin/install.php にアクセス

5. 指示に従いデータベース情報やサイト名などを入力

6. インストール完了



                   6
                                        6
がっかり?




       もし分からないことがあれば検索してみましょう。
  同じ箇所でうまくいかなかった方が記事を書いてくれていたり。

 また、め組さんがコピーレフトでマニュアルを配布されています。
WordPressのユーザーマニュアルBeta ( http://megumi-manuals.com/ )

                          7
                                                         7
テーマとプラグイン




    8
            8
テーマ
• 公式テーマディレクトリに1,361テーマ登録
 3000万回以上ダウンロードされている
 (2011年5月13日時点)

• 個人配布のテーマもある

• どちらを使う場合でも中身をちゃんと確認
 (変なコードが埋めこまれていないか)


                  9
                           9
Twenty Ten
• WordPress 3.0からのデフォルトテーマ

• ソースコードにコメントがたっぷり

• 勉強するには良いテーマ

• 親テーマとして利用されることも多い




              10
                             10
テーマとプラグイン
 でも英語・・・orz




     11
              11
テーマとプラグイン

             おでさんが翻訳記事書いてくれてます


@odyssey




Twenty Ten テーマのコード内の説明を日本語化しました | Odysseygate.com
http://www.odysseygate.com/archives/1651



                                   12
                                                    12
テーマとプラグイン
       Twenty Ten 以外にも勉強用テーマとして




                               mypace custom       mypace custom V
ManabiTheme                http://bit.ly/mHn65o   http://bit.ly/jVpGfg
初級編 http://bit.ly/kWUY36
中級編 http://bit.ly/m9eJXT

   Toru さん(@waviaei)               K さん(@mypacecreator)


                              13
                                                                         13
テーマとプラグイン
• WordPress はプラグインも豊富

• 公式プラグインディレクトリに14,376個登録
 1億7000万回以上ダウンロードされている
 (2011年5月13日時点)

• フォーム、メルマガ配信、カート機能、
 ソーシャルサービスとの連携などなど


                  14
                            14
テーマとプラグイン

やりたいことがあればまずは


「WordPress 欲しい機能」
 でググってみましょう


          15
                    15
これだけだと
WordPress を紹介してるだけ




        16
                     16
フックとは



  17
        17
フックって何?
• プラグインの根幹

• 2つに分けられる

  • フィルターフック

  • アクションフック

         18
               18
フィルターフックとアクションフック

フィルターフック
WordPress から受け取った内容を、
変更して WordPress に戻す


アクションフック
WordPress とのやりとり必要なし
独自の処理を実行



              19
                        19
フック実演



  20
        20
フック実演


functions.php 記述するだけ!
    簡単カスタマイズ




          21
                        21
管理バーをコントロール
• 管理バーは ver. 3.1から WordPress に導入

• ログイン中にサイトを見ると表示される




                22
                                   22
管理バーをコントロール
           管理バーを一括非表示に
function my_function_admin_bar(){
    return false;
}
add_filter('show_admin_bar', 'my_function_admin_bar');

                ↑
           上を省略すると下になる
                ↓
add_filter('show_admin_bar', '__return_false');




                          23
                                                         23
管理バーをコントロール
              前のページに出てきた「__return_false」は、
        WordPress 3.0から追加された関数で、単純に false を返すだけ。

                function __return_false(){
                    return false;
                }



          その他に「__return_true」、「__return_zero」があり、
                    それぞれ true と0を返します。

function __return_true(){          function __return_zero(){
    return true;                       return 0;
}                                  }



                              24
                                                               24
管理バーをコントロール
        先程のコードで管理バーが非表示になりますが、
    プロフィール画面にはチェックボックスが残ってしまいます。
     ※ ここで選択しても管理バーのオンオフには影響しません


プロフィール画面からチェックボックスを消すには以下のコードを追加

add_action('admin_print_styles-profile.php',
'disable_admin_bar_prefs');

function disable_admin_bar_prefs() {
?>
    <style type="text/css">
        .show-admin-bar {display: none;}
    </style>
<?php
}
                          25
                                               25
管理バーをコントロール
                管理者のみ管理バーを表示
function my_function_admin_bar($content){
    return(current_user_can("administrator")) ? $content : false;
}
add_filter('show_admin_bar', 'my_function_admin_bar');



          管理者と編集者のみ管理バーを表示
function my_function_admin_bar($content){
    return(current_user_can("edit_pages")) ? $content : false;
}
add_filter('show_admin_bar', 'my_function_admin_bar');

                                     ※ 各権限がデフォルト設定のままの場合


                                26
                                                                    26
管理バーをコントロール
  ユーザー “hoge” のみ管理バーを表示
function my_function_admin_bar($content){
    global $user_login;
    return($user_login === 'hoge') ? $content : false;
}
add_filter('show_admin_bar', 'my_function_admin_bar');

                                      ※ あまり使い道ないかも




                           27
                                                         27
管理バーをコントロール
Debug Bar というプラグインをインストール




             wp-config.php に以下の3行を追加
        define('SAVEQUERIES', true);
        define('WP_DEBUG', true);
        define('WP_DEBUG_DISPLAY', false);


参考: WordPress 開発に便利なプラグイン Debug Bar : dogmap.jp
   http://dogmap.jp/2011/03/08/wordpress-debug-bar/

                            28
                                                      28
管理バーをコントロール




どんな Query が実行されているか分かる

          29
                         29
出力をコントロール


the_content() と the_excerpt()
   の出力をカスタマイズ




             30
                                30
出力をコントロール
     the_content() で出力した時に
  続きを読むリンクにつく#more-XXX を削除

function custom_more($output) {
    $output = preg_replace('/#more-[d]+/i', '', $output);
    return $output;
}
add_filter('the_content_more_link', 'custom_more');




                            31
                                                             31
出力をコントロール
      the_excerpt() の制限文字数を変更する
                             ※
デフォルトでは110文字 の表示数を自由に設定
                  ※ WP Multibyte Patch を使用している場合

function change_excerpt_mblength($length) {
    return 20;
}
add_filter('excerpt_mblength', 'change_excerpt_mblength');




                             32
                                                             32
出力をコントロール
 the_excerpt() で表示される「[...]」を削除




function more_text($more) {
! return '';
}
add_filter('excerpt_more', 'more_text');




                          33
                                           33
最後に



 34
      34
WordPress で困ったら
• じっくり考えてみる

• 検索してみる

• フォーラムを見る、聞く




           35
                    35
それでも分からない時は・・・




      36
                 36
WordPress のおぢさんに聞きましょう




          37
                         37
thanks!




          38

SaCSS vol.24