質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

2442閲覧

[WordPress]widgetにフッターの左・中央・右が表示できるように設定したい

akkkkin

総合スコア83

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2016/09/13 08:58

掲題の件ですが、widgetでフッターを表示できるように以下のコードを書いているのですが、うまく表示できません。
何が原因なのでしょうか?

■functions.phpのコード

//フッターの表示 $sidebars = array(1, 2, 3); foreach($sidebars as $number) { register_sidebar(array( 'name' => 'Footer ' . $number, 'id' => 'footer ' . $number, 'before_widget' => '<div class="widget">', 'after_widget' => '</div>', 'before_title' => '<h3>', 'after_title' => '</h3>' )); }

■footer.phpのコード

<div class="row"> <div class="col-md-4"><?php dynamic_sidebar("footer1"); ?></div> <div class="col-md-4"><?php dynamic_sidebar("footer2"); ?></div> <div class="col-md-4"><?php dynamic_sidebar("footer3"); ?></div> </div>

もし、分かる方がいればご教示頂きたく思います。宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

WordPressのデフォルトテーマで動作確認済です。

コピペするのはよいのですが、コピペしたソースコードが何をしているのか、自分がいままで書いていたのと何が違うのかを確認し理解した上でコピペしてください。そうでないと、これからもずっと同じような質問を繰り返すことになりますし、何か問題が起きた時に自身で対処できなくなります。

php

1function kuck1u_47879_widgets_init() { 2 $widgets = array( 3 'footer-1', 4 'footer-2', 5 'footer-3', 6 ); 7 8 foreach ($widgets as $widget) { 9 register_sidebar( array( 10 'name' => sprintf( __( 'Widget Area %s', 'kuck1u47879' ), ucfirst( $widget ) ), 11 'id' => $widget, 12 'description' => __( 'Add widgets here to appear in your footer.', 'kuck1u47879' ), 13 'before_widget' => '<aside id="%1$s" class="widget %2$s">', 14 'after_widget' => '</aside>', 15 'before_title' => '<h2 class="widget-title">', 16 'after_title' => '</h2>', 17 ) ); 18 } 19} 20add_action( 'widgets_init', 'kuck1u_47879_widgets_init' );

php

1<div class="row"> 2 <div class="col-md-4"><?php dynamic_sidebar("footer-1"); ?></div> 3 <div class="col-md-4"><?php dynamic_sidebar("footer-2"); ?></div> 4 <div class="col-md-4"><?php dynamic_sidebar("footer-3"); ?></div> 5</div>

投稿2016/09/13 10:44

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2016/09/16 01:59

コメントありがとうございます。 確かに確認し、理解しながらすすめていくことが大事ですね。
guest

0

ベストアンサー

add_action( 'widgets_init', 'theme_slug_widgets_init' );していないからでは?

関数リファレンス/register sidebar - WordPress Codex 日本語版
https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/register_sidebar

追記(2016/09/13 18:16)
以下の様に書いてみてください。

PHP

1add_action( 'widgets_init', 'theme_slug_widgets_init' ); 2 3function theme_slug_widgets_init() { 4 $sidebars = array(1, 2, 3); 5 foreach($sidebars as $number) { 6 register_sidebar(array( 7 'name' => 'Footer ' . $number, 8 'id' => 'footer ' . $number, 9 'before_widget' => '<div class="widget">', 10 'after_widget' => '</div>', 11 'before_title' => '<h3>', 12 'after_title' => '</h3>' 13 )); 14 } 15}

追記(2016/09/13 18:27)
idにスペースが空いているようなので、以下のようにしてみてください。

PHP

1<div class="row"> 2 <div class="col-md-4"><?php dynamic_sidebar("footer 1"); ?></div> 3 <div class="col-md-4"><?php dynamic_sidebar("footer 2"); ?></div> 4 <div class="col-md-4"><?php dynamic_sidebar("footer 3"); ?></div> 5 </div>

追記(2016/09/13 18:40)
何度もごめんなさい。
register_sidebarのCodexには、

id - サイドバーの ID - すべて小文字の半角英数字で空白を除く

とありますので、空白はつめたほうがよさそうです。(footer1,footer2...)

投稿2016/09/13 09:03

編集2016/09/13 09:41
退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

akkkkin

2016/09/13 09:13

ありがとうございます。 //フッターの表示 add_action( 'widgets_init', 'theme_slug_widgets_init' ); $sidebars = array(1, 2, 3); foreach($sidebars as $number) { register_sidebar(array( 'name' => 'Footer ' . $number, 'id' => 'footer ' . $number, 'before_widget' => '<div class="widget">', 'after_widget' => '</div>', 'before_title' => '<h3>', 'after_title' => '</h3>' )); } としましたが表示されません。。。
退会済みユーザー

退会済みユーザー

2016/09/13 09:17

回答に記述例を追記しました。
akkkkin

2016/09/13 09:23

ありがとうございます。 追記をコピペしましたが、表示されません。。。
退会済みユーザー

退会済みユーザー

2016/09/13 09:35

追記したのでご確認ください。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問