web-dev-qa-db-ja.com

Wordpress投稿/ページにショートコードでウィジェットを追加するにはどうすればよいですか?

作成済みのウィジェットにショートコードを割り当てて、後でそれを使用する方法はありますか?

特定の投稿やページでショートコードを使用して、簡単な方法ではなくウィジェットを表示します。

サイドバーにウィジェットを表示しますか?私はこのようなものについてグーグルで検索しましたが、相対的なものは何も見つかりませんでした。

どんな提案でも大歓迎です!

9
codepixlabs

はい、ショートコードを使用して投稿/ページでウィジェットを呼び出すことができます。このリンクをたどって、そのようなシステムを確立してください。 http://digwp.com/2010/04/call-widget-with-shortcode/

6

これは関連があるかもしれません。

ページ上のウィジェット

https://wordpress.org/plugins/widgets-on-pages/

観察と2つの質問:

このプラグインを使用すると、ウィジェットの1つまたは「セット」をショートコードを介してページ、投稿(およびカスタム投稿タイプ?)に挿入でき、構成済みのショートコード〜セットのリストも保存されます。とても便利な!

その機能をプラグインのウィジェットショートコードと比較すると、そのプラグインはプラグインの「セット」を保存する手段を提供していません。むしろ、ウィジェットを個別に挿入することに焦点を当てているようです。実際、各ウィジェットの下端に各ウィジェットのショートコードを挿入し、ウィジェットの各インスタンスに異なるショートコードを割り当てます。またいいです。

https://wordpress.org/plugins/widget-shortcode/

Widgets Shortcodeが、すべてのウィジェットのすべてのインスタンスに個別のショートコードを提供する粒度が気に入っています。プラグインとプラグインを同時に実行すると、プラグインの「セット」に保存されているウィジェットにも個別のショートコードが割り当てられます。これらの個々のショートコードを使用すると、プラグインで必要と思われるウィジェットの追加インスタンスを作成しなくても、別の場所にある「セット」から特定のウィジェットを使用できます。

ちなみに、これらの機能の両方が必要な人にとっては、これら2つのプラグインは50以上のサイトを持つWP 4.0マルチサイトインストールの1つで、さらにはMakeというテーマを使用するサイトでも非常にうまく機能します。

参考:ウィジェットのamrショートコードもテストしましたが、トラブルシューティングではなく、いくつかの問題がありました。公平を期すために、160を超えるプラグインがアクティブになっているサイトですばやくテストしていました。はい、160個のプラグイン。私は知っています、私は知っていますが、少し考えてみてください。 160個のプラグインの組み合わせでアクティブ化でき、問題が発生したり問題が発生したりしないプラグインは、問題なく使用できる可能性が高いことを示しています。少なくとも次のラウンドまではWP更新。 :)

また、Widgetize Pages LightとそのプロバージョンのSidebar&Widget Managerもテストしましたが、どちらにも問題はありませんでした。ただし、ウィジェットをページや投稿に挿入するだけの場合、これらのプラグインは、テーマ機能や他のプラグイン機能を複製する可能性のある追加のページレイアウト機能を提供するため、やり過ぎのように見えます。

ウィジェットのショートコードを挿入するためのTinyMCEボタンを提供する「widgetsinpages」プラグインを探していました。

ウィジェットのショートコードをページ、投稿、CPTに挿入するためのTinyMCEボタンがあるものを誰かがお勧めできますか?

最終的に、このアプリケーションに最適な機能の組み合わせとして、Widgets OnPagesを選択しました。わかりやすく、使いやすく、用途が広く、ウィジェットのショートコードと並べても問題なく機能します。

2
Richard Duncan

wordpress WordPress Widgets Shortcode プラグイン)で実行できます。このプラグインをショートコードとして使用して、ウィジェット領域/動的サイドバーをページ/投稿に埋め込むことができます。

1
Jothi Kannan

wpでウィジェットを編集する:

@ wp-includes/widgets.phpのファイル:register_widget()

ソースビューのサンプル:public function register($ widget_class){$ this-> widgets [$ widget_class] = new $ widget_class(); }

0
OpenWebWar