カスタム投稿タイプの管理画面に分類フィルターを追加するための優れたソリューションを多数の人々が思いついた Wordpress Answer サイトで、約 2 年前から素晴らしい会話がありました (私が参照している画面の URL を参照してください)。 :
http://[yoursite.com]/wp-admin/edit.php?s&post_status=all&post_type=[post-type]
とにかく、Michael のすばらしい貢献が気に入りましたが、最終的には、Manny の階層オプションを使用して Somatic の実装を使用しました。私はそれをクラスにラップしました-それが私が物事を行うのが好きな方法です-そしてそれはほとんど機能します。ドロップダウンが表示されますが、ドロップダウンの値はすべて、フィルタリングしているタクソノミー slug-name の $_GET プロパティで検索されます。どういうわけか、私は何も得られません。ドロップダウンの HTML を見たところ、問題ないように見えました。いくつかのコンテキストの簡単なスクリーンショットを次に示します。
このことから、私の投稿タイプは「演習」と呼ばれ、フィルターとして使用しようとしている分類法は「アクション」であることがわかります。次に、ドロップダウン リストを囲む HTML を示します。
<select name="actions" id="actions" class="postform">
<option value="">Show all Actions</option>
<option value="ate-dinner">Ate dinner(1)</option>
<option value="went-running">Went running(1)</option>
</select>
また、すべてのフォーム要素が DOM の一部内にあることも確認しました。それでも、「実行中」を選択してフィルターボタンをクリックすると、選択したものへの参照なしで URL クエリ文字列が返されます。
より明確に言うと、ページは最初に次の URL で読み込まれます。
/wp-admin/edit.php?post_type=exercise
アクションフィルターからオプションとして「実行中」を選択してフィルターボタンを押した後:
/wp-admin/edit.php?s&post_status=all&post_type=exercise&action=-1&m=0&actions&paged=1&mode=list&action2=-1
実際には、「アクション」変数への参照を確認できますが、何も設定されていません。詳細を確認すると、ページで「フィルター」をクリックすると、フィルター ドロップダウンがデフォルトの「すべて表示」にリセットされるようです。行動"。誰でもこれで私を助けることができますか?
ところで、ここに PHP コードを添付しました (ただし、現在は js の問題であることに傾倒し始めています): gist .