WordPress管理者で投稿IDとページIDを表示する方法
公開: 2015-02-14時々、WordPressの投稿やページのIDを知っていると便利ですよね?
ショートコード用であろうと、テーマ設定で何かを設定するときであろうと、あるいは単にクイックリンクを取得するためであろうと。
いずれにせよ、WordPressでは投稿のIDを簡単に把握することはできません。 それを取得する1つの方法は、投稿の編集ページにアクセスしてURLを確認することです。 次のようになります。
https://yourwebsite.com/wp-admin/post.php?post=137171&action=edit
上記の例の137171は、投稿のIDであり、データベースのメイン識別子です。 確かにそれを理解するためのより簡単な方法があるはずですよね? 幸いなことに、あります。
- プラグインで投稿IDを表示する
- DIY:コード付きの投稿IDを表示する
- カスタム列の追加
- 適切なフックを見つける
- IDを前面に配置
- 結論
プラグインで投稿IDを表示する
最も簡単な解決策は、プラグインを使用することです。 おじいちゃんはRevealIDsです。これは、425,000をわずかに超えるダウンロードでクロックインする無料のプラグインです。
もう1つの新しいオプションは、WPsiteShowIDです。
どちらのプラグインもほぼ同じことを行います。投稿、ページ、ユーザー、カテゴリ、カスタム分類、カスタム投稿タイプなどのIDを表示します。 私がWPsiteShowIDに傾倒する唯一の理由は、8Kbのフットプリントです。 Reveal Idsは約311Kbであり、このような単純なプラグインには少し過剰に思えます。
DIY:コード付きの投稿IDを表示する
自分で投稿IDを表示する方法に興味がある場合は、コードを見てみましょう。
以下のコードは、プラグインまたはテーマの関数ファイル内に配置する必要があります。 プラグインを作成したい場合は、簡単なテンプレートのプラグイン開発ガイドをご覧ください。
始める前に、子テーマを作成する必要があることも言う価値があります。 子テーマの作成方法にまだ慣れていない場合は、子テーマのガイドを確認してください。
カスタム列の追加
WordPressは、独自の列やコンテンツの作成など、管理者の投稿リストを変更するための優れたツールを提供します。 フィルタを使用して列を追加し、アクションを使用して値を追加する必要があります。 通常の投稿テーブルで簡単なテストを行いましょう。
必要なのはそれだけです。 フィルタを使用すると、columns配列を変更して列を追加できます。 配列キーは列の識別子である必要があり、値はヘッダーテキストとして表示されます。
アクションにフックされた関数は、2つのパラメーターを取ります。列名と投稿のIDが表示されます。 これは完璧です。カスタム列が表示されたら、IDをエコーするだけです。
「revealid」関数は、私のしゃれの試みです。申し訳ありません。 これは、他のプラグインと衝突しないようにするためのすべての関数のプレフィックスとして意図されています。
簡単に言うと、 'revealid_id' == $column
をどのように使用したかに注意してください。これは少し異質なようです。 これはヨーダ記法と呼ばれ、WordPressで推奨されています。 その理由は、変数の定義を忘れた場合でも、ページに大きなギャップのあるPHPエラーが発生しないためです。
適切なフックを見つける
上記の2つの関数だけが必要です。 パズルの残りの部分は、それらをフックする場所です。使用したフックは通常の投稿のみを対象とし、IDはページやその他の要素には表示されません。
実際には、これらのフックは標準化されたセットに属しているため、可変フックと呼ばれます。 一般的な形式は、 manage_[post_type_or_element]_columns
およびmanage_[post_type_or_element]_custom_column
です。
これに基づいて、投稿、ページ、メディア、カスタム投稿タイプはすべて投稿タイプであるため、簡単なはずです。 これらすべての要素のIDを表示するには、次のフックを使用できます。

ここでの小さな注意:投稿とページを除くすべてが投稿タイプを使用します。 投稿の投稿タイプは技術的には「投稿」であり、ページの投稿タイプは「ページ」です。 何らかの理由で、フックは複数形を使用します。 これはWordPressの癖です。これは、実際には単数形である必要があるためです。 ほら、WordPressコアでさえ完璧ではありません。
そこにカスタム投稿タイプを追加しました:プロジェクト。 これをすべてのカスタム投稿タイプに適用したい場合はどうなりますか? その場合、次のようにすべてを簡単に切り替えることができます。
分類法を扱うときも同じアプローチをお勧めします。 カテゴリのIDを出力するには、 manage_edit-link-categories_columns
とmanage_link_categories_custom_column
のみを使用できますが、すべての分類法に追加するには、別のループを使用する必要があります。
最後になりましたが、ユーザーとコメントがあります。 これらもかなり簡単です。 見てください:
IDを前面に配置
この小さな変更は、見た目よりも少し難しいです。 ID列を追加したときに、他のすべての列を含む既存の配列の最後に追加しました。 解決策は簡単に思えます。前面に追加してください。 配列をマージすることでこれを行うことができますが、チェックボックスが最初の列であることがわかります。実際には、2番目にIDが必要です。
引き続き配列マージを使用しますが、もう少し注意が必要です。最初に分割する必要があります。 最初の配列にはチェックボックス(元の配列の最初の要素)が含まれ、2番目の配列には他のすべてが含まれます。 最初の配列をIDを含む配列とマージし、次に2番目の配列とマージします。 コードはこれをはるかに明確にする必要があります:
結論
これはWordPressのモジュール性の良い例だと思います。 IDはかつて管理者(WordPress 2.5より前)に表示されていましたが、多くの人がIDを必要としていないことが判明しました。 この機能が削除されると、プラグインが出現し、投稿IDを表示したい人に対応できるようになりました。
独自のプラグインを作成することで、WordPressのモジュール化と、管理者自体の変更がいかに簡単であるかを垣間見ることができます。 上で概説したのと同じ方法を使用して、サムネイル、説明スニペット、およびその他の情報を管理者リストテーブルに追加できます。
タグ: