MENU
  • プロフィールprofile
  • サービスService
    • WordPress個人レッスン
    • 起業女性に寄りそうWEBお悩み相談
  • 実績・お客さまの声portfolio
  • ブログblog
  • お問合せcontact

    カテゴリー

    • ホームページ個別レッスン
    • Web・SNS集客
    • Web系プログラミング
    • WordPressプログラミング
    • フリーランスの小技
    • Web活用相談
    • はじめてのWordPress
    • アメブロカスタマイズ
    • ホームページ制作
    • 自分で作れるおしゃれデザイン
    • アイデア・思考の整理

    タグ

    Adobe IllustratorGatsby.jsgitGitHubHTML/CSSMySQLNode.jsPythonSourcetreeSWELLWordPressおすすめWPプラグインおすすめツールアメブロエックスサーバーサーチコンソールセキュリティバレットジャーナルライブドアブログ環境構築確定申告開発環境

    アーカイブ

    • 2025年3月
    • 2025年1月
    • 2024年12月
    • 2024年3月
    • 2023年7月
    • 2023年1月
    • 2022年12月
    • 2022年11月
    • 2022年8月
    • 2022年4月
    • 2022年3月
    • 2022年2月
    • 2022年1月
    • 2021年12月
    • 2021年11月
    • 2021年10月
    • 2021年9月
    • 2021年8月
    • 2020年10月
    • 2020年8月
    • 2020年7月
    • 2020年6月
    • 2020年5月
    • 2020年4月
    • 2020年3月
    • 2020年1月
    • 2019年11月
    • 2019年9月
    • 2019年8月
    • 2019年5月
    • 2019年2月
    • 2019年1月
    • 2018年11月
    • 2018年9月
    • 2018年8月
    • 2018年7月
    • 2018年6月
    • 2017年10月
    • 2017年9月
    • 2017年7月
    個人事業主・女性起業家のためのWordPress・HP・ブログレッスン
    自分で作れる優しいホームページレッスン
    • プロフィールprofile
    • サービスService
      • WordPress個人レッスン
      • 起業女性に寄りそうWEBお悩み相談
    • 実績・お客さまの声portfolio
    • ブログblog
    • お問合せcontact
    自分で作れる優しいホームページレッスン
    • プロフィールprofile
    • サービスService
      • WordPress個人レッスン
      • 起業女性に寄りそうWEBお悩み相談
    • 実績・お客さまの声portfolio
    • ブログblog
    • お問合せcontact
    1. ホーム
    2. Web制作スキルアップ
    3. WordPressプログラミング
    4. WordPressにウィジェットエリアを追加する

    WordPressにウィジェットエリアを追加する

    2022 7/15
    WordPressプログラミング
    2018-11-132022-07-15

    WordPressのウィジェット機能を使うと、サイドバーやフッターに、プロフィールや記事一覧などの便利パーツを設置できます。 

    多くのテーマには、サイドバーやフッターなどのウィジットエリアが用意されていますが、それ以外にも新たにウィジットエリアを用意したくなるかもしれません。

    この記事では、WordPressテーマをカスタマイズして、好みの場所にウィジェットエリアを作成する方法を紹介します。

    目次

    ウィジェットエリアの作り方

    functions.phpでウィジットエリアを登録する

    register_sidebar()関数でウィジェットエリアを登録します。

    function my_theme_widgets_init(){
      register_sidebar( array(
          'name' => 'サイドバー',
          'id' => 'sidebar-widget',
          'description' => 'サイドバーに表示するウィジット',
          'before_widget' => '<section id="%1$s" class="widget %2$s">',
          'after_widget' => '</section>',
          'before_title' => '<h2 class="widget-title">',
          'after_title' => '</h2>',
      ));
      register_sidebar( array(
          'name' => 'フッター',
          'id' => 'footer-widget',
          'description' => 'フッターに表示するウィジット',
          'before_widget' => '<section id="%1$s" class="widget %2$s">',
          'after_widget' => '</section>',
          'before_title' => '<h2 class="widget-title">',
          'after_title' => '</h2>',
      ));
    }
    add_action('widgets_init','my_theme_widgets_init');
    register_sidebar( $args );

    register_sidebarのパラメーターは表の通りです。

    名前説明初期値
    name管理画面で表示される名前
    idウィジェットID(半角英数字)。重複不可sidebar-1
    数字の部分は連番
    description管理画面に表示する名前
    class管理画面でのスタイルシート用のクラス
    before_widgetウィジェット前につく文字列<li id=”%1$s” class=”widget %2$s”>
    (%1$s はウィジェットの名前+番号、%2$s は widget_ウィジェットの名前)
    after_widgetウィジェット後につく文字列</li>\n
    before_titleウィジェットタイトルの前につく文字列<h2 class=”widgettitle”>
    after_titleウィジェットタイトルの後につく文字列</h2>\n
    <section id="sidebar-1" class="widget widget_sidebar"> // before_widget
        <h2 class="widget-title">  // before_title
        ウィジェットのタイトル
        </h2> // after_title
        ウィジェットの内容
    </section> // after_widget

    テンプレートファイルでウィジットエリアを表示する

    ウィジットを表示させたい場所(テンプレートファイル)に以下のように記述をします。

    
    <?php if (is_active_sidebar('sidebar-1')) { ?>
        <div class="widget-area">
            <?php dynamic_sidebar('sidebar-1'); ?>
        </div>
    <?php } ?>
    is_active_sidebar('ウィジットエリアID')
    ウィジェットエリアにウィジェットが1個以上登録されているかチェックする
    dynamic_sidebar('ウィジットエリアID')
    ウィジェットエリアが登録されている場合にウィジェットを表示する

    これで、管理画面の外観>ウィジェットからウィジェットを登録できるようになります。

    参考図書

    WordPressをカスタマイズするためのコードを網羅的に解説してくれています。

    WordPressユーザーのためのPHP入門 はじめから、ていねいに。[第3版] 〈WordPress 5.x/Gutenberg対応〉
    ¥2,640 (2021/11/28 12:48時点 | Amazon調べ)
    Amazon
    ポチップ

    条件によって、表示するウィジェットを切り替える

    WordPressには条件分岐タグが用意されています。
    条件分岐タグを使って、ページによってウィジットを表示/非表示を分けることができます。

    • is_front_page() : ホームページかどうか
    • is_single():投稿ページかどうか
    • is_single():固定ページかどうか
    • wp_is_mobile():モバイルデバイスかどうか

    例:トップページにのみ、ウィジットエリアを表示させたい時は、is_fornt_pageをif条件に追加します。

    
    <?php if (is_front_page() && is_active_sidebar('sidebar-widget')) { ?>
        <div class="widget-area">
            <?php dynamic_sidebar('sidebar-widget'); ?>
        </div>
    <?php } ?>
    

    例:スマホの時は表示しない場合は!wp_is_mobile()をif条件に追記します。

    <?php if (!wp_is_mobile() && is_active_sidebar('sidebar-widget')) { ?>
        <div class="widget-area">
            <?php dynamic_sidebar('sidebar-widget'); ?>
        </div>
    <?php } ?>

    ウィジットエリアを使うと、ブログのカスタマイズの幅がどんと広がりますね。

    ウィジェットエリアの追加方法
    1. functions.phpでウィジェットエリアを登録する
    2. テンプレートファイルに表示箇所(サイドバーやフッターなど)に表示用のコードを書く
    3. 管理画面から、ウィジットを設置する
    WordPressプログラミング
    WordPress
    よかったらシェアしてね!
    中谷恵美
    あなたのお仕事を育てるホームページの先生
    システムエンジニア、ITコンサルタントを経て、フリーランスに。

    ・ホームページ作成
    ・ブログのカスタマイズ
    ・LINEやメルマガのセットアップ
    ・Canvaを使ったデザインの作り方
    ・Googleの分析ツール
    ・自分の強みを生かした集客
    などの、個人レッスンをしています。

    「仕事の発信に使えるようになりたい」
    「自分でも使えるスキルを身につけたい」
    ITが苦手な個人事業主さんに向けて、困ったときのWEB担当として幅広くサポートしています。

    HP作成のほかにも、心理カウンセラーとしても活動中。

    趣味は、文房具集め、ゲーム(牧場系とモンハン)、手芸(刺繍、洋裁)。
    運動が苦手で体が硬いのが悩み。今年、腰痛改善にジムに通い始めたが、果たして続くのか。。。
    詳しいプロフィールを見る
    活動実績

    【HP個人レッスン】

    ●ハワイアン伝統ロミロミサロン・Aさま
    ・2ヶ月でサロンのHPをリニューアル。新サービス立上げ時も自分でHPを作成できるように。
    「最初はパソコン音痴の私にできるか不安でしたが、とても丁寧な指導でわかりやすかったです。
    私好みの素敵なHPができあがり、とっても嬉しいです!」

    ●Mさま
    ・2回のミーティングでWordPress運営スキルを習得。オウンメディアを立上げ。

    ●Sさま
    ・5日間で無料ブログからWordPressへのお引越し。
    「半ば諦めかけていた移管を短期間で終えることが出来ました」

    【ホームページ作成】

    ●これまでご依頼いただいたお客さま
    (個人)写真家・美容サロン・弁護士・デザイナー・心理カウンセラー・占い師

    (法人)メーカー代理販売店、コンサルティング企業、人事支援企業

    【経歴・資格など】
    ・基本情報技術者
    ・簿記2級

    【営業時間】平日:10:00~19:00
    【休業日】土、日、祝、年末年始

    新着記事
    • 【お客様の声】ゴールが明確になり、とても安心できました
      2025-03-13
      Web・SNS集客
    • 【お客様の声】WordPressには自由度の高さを感じます
      2025-01-21
      ホームページ個別レッスン
    • WordPressに記事を一括アップロードするには
      2024-12-05
      はじめてのWordPress
    • 【お客様の声】等身大のちょっと先を提案してもらえた
      2024-03-08
      ホームページ個別レッスン
    • 【お客様の声】寄り添ってもらえたっていうのが一番心強かった
      2023-07-21
      ホームページ個別レッスン
    人気記事
    • 【CSSコピペOK】おしゃれな引用blockquoteデザイン10選
      2018-09-13
      WordPressプログラミング
    • 【Mac】SourcetreeからGitHubへSSH接続する
      2021-08-05
      Web系プログラミング
    • 【CSS】シンプルで女性らしい囲み枠デザイン48選
      2018-08-24
      アメブロカスタマイズ
    • 自分でできる。アメブロのおしゃれなカスタマイズまとめ
      2022-11-04
      アメブロカスタマイズ
    • Node.js+ExpressでMySQLに接続して一覧表示する
      2020-04-25
      Web系プログラミング
    目次