2ポストセレクターを選択 | Ross Wintle/Oikos

説明

このプラグインは、開発者がAJAXを利用したドロップダウン投稿選択ボックスを作成するために使用するライブラリを提供します。
これは例で最もよく

説明

されます。 「リソース」と呼ばれるカスタム投稿タイプを設定するプラグインまたはテーマがあるとします。カスタムフィールドに保存されたデータ(関連する投稿/リソースのID)を含むメタボックスを使用して、ユーザーが投稿ごとに「関連する投稿」と「関連するリソース」を手動で作成できるようにする必要があります。
これを行う1つの方法は、選択ボックスを使用することです。これは、サイト上のすべての投稿またはリソースの非常に長いリストになります。これはあまりユーザーフレンドリーではありませんが、リストする投稿やリソースが多数あるため、パフォーマンスが大幅に低下する可能性があります。私はこのアプローチでPHPのmemory_limitを吹き飛ばし、サイトの管理を破ることさえしました。
このプラグインは、AJAXを利用したSelect2選択ボックスの機能で投稿リストを強化することにより、選択可能な投稿リストを作成するユーザーエクスペリエンスとパフォーマンスの両方を向上させます。
プラグイン:

大文字と小文字を区別しない部分的なタイトル検索に基づいて、指定した投稿タイプから投稿を選択する簡単な方法を提供します
選択した投稿IDをカスタム投稿メタ変数に保存します
最小限のコーディングが必要です(ただし、残念ながら、プラグインまたはテーマにコーディングが必要です)

Select2はMITライセンスであり、著作権(c)2012-2015 Kevin Brown、Igor Vaynberg、およびSelect2の寄稿者です。
構成
このプラグインは、作成したテーマとプラグインで使用するためのライブラリを提供します。これを使用するには、プラグインまたはテーマにコードを追加する必要があります。それほど多くはありませんが、いくつか追加する必要があります。
基本的な手順は次のとおりです。

投稿セレクターを初期化する
カスタム投稿タイプの編集ページに表示されるメタボックスを作成します
メタボックスに投稿セレクターを入力します
データを取り出す

注:ここにあるすべてのコードには「デモ」というプレフィックスが付いています。これを独自のプロジェクトに適したプレフィックスに変更するか、呼び出しを何らかのラッパークラスまたは名前空間に配置してください。_
ポストセレクターを初期化する
admin_initで投稿セレクターを初期化する必要があります-フロントエンドでは必要ありません。
作成する投稿セレクターごとにS2PS_Post_Select :: create()を呼び出す必要があります。
createメソッドのパラメーターは次のとおりです。

$ field_id –これはフィールドの「名前」です–印刷または保存のためにフィールドを識別するために使用されます–投稿セレクターに対して一意である必要があります

$ meta_key –データをフェッチ/保存するためのmeta_key

$ form_field_name –作成するフォーム選択フィールドの名前属性

$ form_field_label –選択フォームフィールドのラベルテキスト

$ post_post_type –選択ボックスを表示する投稿の投稿タイプ

$ item_post_type –選択リストに表示されるものの投稿タイプ

$ additional_query_params –リストを生成するための追加のクエリパラメータ(セレクタに表示されるものをフィルタリングする場合)。これは、WP_Queryに渡すパラメーターの配列です。post_typeを除いて、ほとんど何でも渡すことができると思います。ページネーションパラメータなどを使用することはおそらくお勧めできません。

最初のパラメーター$ field_idは、投稿セレクターを表示するコードを追加するときに必要になるため、それらが何であるかを覚えておいてください。
投稿の編集画面に表示される「関連投稿」と「関連リソース」(「リソース」カスタム投稿タイプの)を初期化するコードを次に示します。
add_action( ‘admin_init’、 ‘demo_create_post_selects’);
関数demo_create_post_selects(){
S2PS_Post_Select :: create( ‘related-articles’、 ‘related-articles’、 ‘demo_related_articles’、 ‘関連記事’、 ‘post’、 ‘post’);
S2PS_Post_Select :: create( ‘related-resources’、 ‘related-resources’、 ‘demo_related_resources’、 ‘Related resources’、 ‘post’、 ‘resources’);
}

メタボックスを作成する
これは、標準のWordPress add_meta_box呼び出しを使用して、セレクターを表示する投稿タイプにメタボックスを追加します。メタボックスのコンテンツを印刷するコールバック(demo_print_related_items_meta_box)は、次のセクションのコードを使用して、ポストセレクター。
add_action( ‘add_meta_boxes’、 ‘demo_add_related_items_meta_box’);
関数demo_add_related_items_meta_box(){
add_meta_box( ‘related_items’、 ‘関連アイテム’、 ‘demo_print_related_items_meta_box’、 ‘post’、 ‘normal’、
‘デフォルト’ );
}

メタボックスに投稿セレクターを追加する
これは、メタボックスの内容を表示するために呼び出されるコールバックです。ここでは、コードの最初のセクションから$ field_idが必要です。
関数demo_print_related_items_meta_box($ post){
S2PS_Post_Select :: display( ‘related-articles’);
S2PS_Post_Select :: display( ‘related-resources’);
}

データを取り出す
データは通常のポストメタとして保存されるため、get_post_meta()呼び出し(またはポストメタを取得する他の関数)を使用してデータを取得できます。
注意すべき重要な点の1つは、特定のフィールドで複数の投稿が選択されている場合、これらは同じキーを持つ複数の投稿メタエントリとして保存されることです。したがって、get_post_meta()を呼び出すときは、$ singleパラメーターがfalseに設定されていることを確認してください(デフォルトです)。

インストール

このセクションでは、プラグインを

インストール

して機能させる方法について説明します。
例えば

select2-post-selector.phpを/ wp-content / plugins /ディレクトリにアップロードします
WordPressの[プラグイン]メニューからプラグインをアクティブ化します
[その他の注意事項]タブで説明されているようにコードを追加します

プラグインの作者

Ross Wintle/Oikos

プラグインの公式ウェブサイトアドレス

https://wordpress.org/plugins/select2-post-selector/
2ポストセレクターを選択プラグインの使用で問題が発生した場合は、以下にコメントしてください。問題の解決に最善を尽くします

コメントを残す