ウィジェットはWordPressテーマに不可欠な要素であり、ウィジェットなしのWordPressテーマを想像するのは難しい。ウィジェットは実行可能なスクリプトで、サイドバーやテーマ内の他のウィジェット対応エリアにドラッグ&ドロップするだけです。私たちの読者の多くは、サイドバーにカスタム要素を追加するためにウィジェットを利用しています。しかし、この投稿は、WordPressテーマで動的なウィジェット準備サイドバーまたはウィジェット準備エリアを追加する方法を学びたい好奇心旺盛なユーザーのためのものです。
WordPressにサイドバーまたはウィジェット準備エリアを登録する
まず最初に行うべきことは、テーマにサイドバーやウィジェット準備エリアを登録することです。サイドバーやウィジェット準備エリアは複数登録することができます。テーマのfunctions.phpファイルに以下のコードをコピー&ペーストしてください。
[cbk1]
このコードでは、2つのサイドバーを登録しています。ウィジェット画面で識別できるように、名前と説明を付けました。説明パラメータは、このサイドバーがテーマのどこに表示されるかをユーザーに伝えるために使用できます。wpbは作業しているテーマの名前で、これらの文字列を翻訳可能にするためにここで使われています。テーマ名に置き換えてください。
WordPressテーマファイルに動的ウィジェット対応のサイドバーを追加する
ここまで、動的サイドバーのみを登録してきました。ユーザーは外観 ” ウィジェット画面からこれらのサイドバーにウィジェットをドラッグ&ドロップすることができます。しかし、これらのサイドバーは、sidebar.phpの
ようなテンプレートや表示したい場所で呼び出されるまでは、サイトに表示されません。これらのウィジェット・エリアを追加するには、表示したいテンプレート・ファイルを編集し、以下のコードを貼り付けます:
[cbk2]
このコード例では、表示したいサイドバーを呼び出すためにsidebar idを使用しています。別のサイドバーを表示するには、サイドバーidを変更してください。例えば、フッターエリアに3つのサイドバーを登録し、テーマのfooter.php
テンプレートで1つずつ呼び出すことができます。
ウィジェットは非常に強力です。投稿やページのコンテンツにウィジェットを追加したり、テキストウィジェットをカラフルにしたり、WordPress初期設定のウィジェットのパワーを拡張したりできます。ウィジェット対応のサイドバーを適切に配置することで、ユーザーは簡単なドラッグ&ドロップインターフェースを使ってカスタマイザー要素をサイトに追加することができます。
この投稿が、WordPressで動的なウィジェットレディサイドバーを追加する方法を学ぶのに役立てば幸いです。Genesisのようなテーマフレームワークのコードを勉強して、プロがどのように使用しているかを学ぶことをお勧めします。質問やフィードバックは、以下にコメントを残してください。
nabil
hi i need two column in side bar ! how can i do that whit css
Jason
Where can i extend the functionality of my wordpress widgets
Milada
Hallo team again,
sorry to trouble you, but I would like to specify, that I would need one widget above the themes current Primary Sidebar widget on the right and the other widget on the left side from the article in the middle.
How should I proceed?
Thank you,
Milada
Milada
Hallo team again,
how do I add a field in the widget and which and where do I paste a field code to have there affiliate links?
Thank you,
Milada
Tanmay Bala
i want to learn how to use DB Plugin in wordpress and redux framework.
Marc
This tutorial was a great help.
Been trying to accomplish this for about a week now.
Nice and to-the-point.
Thank you!
Laura
I just wondered, before I actually paste the code, does this work on a theme that originally doesn’t come with a sidebar? I’m using Book Lite which only has footers.
WPBeginner Support
Yes, it does.
管理者
Laura
Thanks so far – I tried to register the sidebar but whenever I hit “save” I get the white screen of death – which I never had before. Any suggestions what could be wrong?
Lohith
Thanks Alot
Its really wonderful and simple method to explain….
Bakopu
Thank you very very much sir. Where are you sir , we want to take your blessings by touching your feet.
akhilesh
thanks sir these post have vry helpful for me
Marcos Nakamine
Worked perfectly
Thanks
gWorldz
I am having trouble getting the widget to display o.O
The widget is registering and displaying in the back-end properly with no issues, however, it will only show my widget content if I include content in the previous widget.
I’m using a 2011 child theme and registering an additional footer area.
functions.php snippet:
https://gist.github.com/gWorldz/76273b5901e1b5c4759b#file-functions-php
sidebar-footer.php
https://gist.github.com/gWorldz/b6177ccc9734718dd636#file-sidebar-footer-php
style.css
https://gist.github.com/gWorldz/0f24a9350da164ee2f29#file-style-css
Do you have any idea what I’m doing wrong or what is causing this issue?
Tiger
Did you ever get any help on this? I am having the same issue.
MJ
Just wanted to say thanks for this. I Googled to find out how to register a sidebar in WordPress, and hit a few other sites before this one, and yours had the best, clearest, most understandable directions. Well done.
arvind
your post is helpful to me,
thanks !!!!!!
Dharmendra Prajapati
Finally i got my dynamic widget ready sidebar after 23 days… I was googled all the sites.. and finally i redirected @ your site.
Thanks
Kevin
In the second snippet, where you are inserting the widget code into the template, where you have
div id=”secondary”
Should that id change with each widget area.
Ex:
First, Secondary, Third, fourth, etc
WPBeginner Support
Kevin yes you should, and it should be named after the widget area or the sidebar it is representing.
管理者
SS
Works for registering the sidebars but when I go to the Appearance » Widgets screen I see all my widgets but nothing to drag them into.
WPBeginner Support
SS, when you have successfully registered a dynamic widget ready sidebar it will appear on Widgets screen. This means that registering sidebars probably didn’t work.
管理者
Steve Smart
Hi –
This is a very helpful post. Thankyou!
I’ve been successful using one dynamic widget area, now I’m trying to implement more than one. Everything seems to work as expected, except an odd problem in the dashboard. If I drag a text widget to my second dynamic widget area I can add content as you would expect, and save it, and it produces output on my pages as expected, however if I now revisit the dashboard widgets page, the second widget area does not appear to contain any widgets.
I am using a twentytwelve-child theme, and Wordpress 3.7.1.
Any thoughts?
Jackson
Hearty thanks….You have done such a wonderful work…thanks thanks thanks…
JP
thanks, found this useful. right to the point.
Praveen Prasad
Can you tell me where is the Call Function Started ?
Ed Du
You can also use Headway with a additional block and it will take care of all of this. Or pagelines for that matter.