柔軟なサイドバー/ウィジェット管理のためのプラグインが欲しいのですが。実際、私はユーザーにどのサイドバーをページ/投稿ごとに表示するかを選択する可能性を与えたいと思います。
私はそこにたくさんのサイドバープラグインがあることを知っています。残念なことに、私は私の願いをすべてカバーするものを見つけていない。だから私はこれを自分でコーディングしたいのです。次のうちどれが最も柔軟で柔軟性がありますか。それとも他にアプローチがありますか?
Register_sidebar呼び出しをplugin/functions.phpでハードコーディングし、post_edit.php
、post_new.php
画面用のメタボックスを追加します。
Nr.1と同じですが、コンディショナルタグ付きの汎用サイドバーテンプレートを使用してウィジェットを表示します。バックエンドでよりきめ細かいフィルタリングを行うために、プラグイン ウィジェットロジック を使用することもできます。
is_page(id)
は、異なる言語の投稿が別のIDで保存されている多言語サイトで問題を引き起こす可能性があります。Aフレキシブルサイドバーカスタム投稿タイプ。このCPTのすべての投稿は、与えられたコンテンツを表示するための一般的なサイドバーテンプレートで使用されています。サイドバーもカスタムメタボックス内で選択されます。ユーザーは大きなプラスであるデフォルトのWYSIWYGエディタでサイドバーにコンテンツを追加することができます。
管理パネルのウィジェットサブページを修正して、WordPressであなた自身のサイドバーを作成/登録します。デフォルトのWYSIWYGエディタを使って汎用ウィジェットも作成します。添付ファイル付きのコンテンツを簡単にウィジェットに追加して、新しく作成したサイドバーにドラッグすることができます。ユーザーは、投稿/ページ管理画面のカスタムメタボックスのドロップダウンフィールドでこのサイドバーを選択できます。サイドバーを表示するには、汎用のサイドバーテンプレートも必要です。
私の観点からは、Nr.4がうまくいくはずです。他に可能性はありますか?それともこれはすでにプラグインに存在しますか?
お返事をありがとうございます
"Widget Logic"という拡張子があります。それはあなたがあなたが最も必要とする可能性があるものをアーカイブするのに使用できるphpコードの一部を追加できるadminセクションのすべてのサイドバーウィジェットにフィールドを追加します。
ちょっと面倒ですがうまくいきます。たとえば、多言語サイトでは、次のように関数に配列を渡すこともできるので、 "is_page"を使用できます。is_page(array(94,71,3))..論理演算子を使用して/ xor)をあなたと組み合わせて任意の組み合わせをアーカイブできます。
これに似たものを扱うカスタムのものをいくつか作成しました。ここに、私が学んだことに基づいたいくつかの指針があります。
_options
テーブル(update_option()
を使用)に保存し、ページの読み込み時に読み戻します。私はこれをやったが、それは比較的簡単だ。admin_ajax
管理オプションを非常によく使いました。私のユーザーのほとんどはこれらに触れることはありませんが、私自身の管理とデバッグには非常に貴重です。page
にのみ適用されますが、UIはすでに存在します。異なる種類のアイテムが数種類しかない場合は、追加のテンプレートを使用してテーマまたは子テーマに追加することを検討してください。これにより、多くのコード、デバッグ、メンテナンスを節約できます。dynamic_sidebar()
にはフィルターとアクションがあり、これらをフックして既存のサイドバーの動作を多少変えることができます。 CPTを使用してウィジェットフレームワークを書き換えると、多くのコア開発者が苦労するでしょう。それにもかかわらず、あなたがWPで十分長い間働いているなら、おそらくある時点でこのようなことをしたでしょう。get_option()
、get_user_meta()
、および$_GET[]
は、ウィジェットのレンダリングで使用できます。 i8nの場合は、カスタムウィジェットで位置認識コンテンツを使用し、単一のサイドバーで単一のコンテキスト認識ウィジェットを使用する方が適切な場合があります。私はこれをショートコードでも見ましたが、開発者としては、状況が許せば、一般的にウィジェットの管理決定論に満足しています。ウィジェットとショートコードは、ショートコードウィジェットとウィジェットショートコードでそれほど違いがないことに注意してください。WP_Term
タグはCSSクラスに表示されます(分類構造は既存のプラグインを使用して任意の投稿タイプに対してかなり簡単に有効にできます)。可能な限りシステムを検討してくださいウィジェットは設定されたとおりにサイドバーにありますが、ページの読み込みごとに適用できないウィジェットは非表示になり、投稿のタグ付け方法に基づいている可能性があります。これは若干互換性が劣りますが、要件にモダンブラウザ専用の許容値がある場合、その非互換性は洗い流されます。あなたは思考の質問をしたので、私はあなたに思考の答えを与えました。これらのアイデアのいずれかがあなたが行きたい方向のように思えるなら、私はより具体的な例のために引き出すことができるかなりの量のコードを持っています。