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は、独自の列やコンテンツの作成など、管理者の投稿リストを変更するための優れたツールを提供します。 フィルタを使用して列を追加し、アクションを使用して値を追加する必要があります。 通常の投稿テーブルで簡単なテストを行いましょう。

読み込みの要点8e8183e694b674638830e23505fe0377

必要なのはそれだけです。 フィルタを使用すると、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を表示するには、次のフックを使用できます。

読み込みの要点f5d3a74815180d6caae226de135a8421

ここでの小さな注意:投稿とページを除くすべてが投稿タイプを使用します。 投稿の投稿タイプは技術的には「投稿」であり、ページの投稿タイプは「ページ」です。 何らかの理由で、フックは複数形を使用します。 これはWordPressの癖です。これは、実際には単数形である必要があるためです。 ほら、WordPressコアでさえ完璧ではありません。

そこにカスタム投稿タイプを追加しました:プロジェクト。 これをすべてのカスタム投稿タイプに適用したい場合はどうなりますか? その場合、次のようにすべてを簡単に切り替えることができます。

読み込みの要点fa188e0650ab09cc1acb796165d88864

分類法を扱うときも同じアプローチをお勧めします。 カテゴリのIDを出力するには、 manage_edit-link-categories_columnsmanage_link_categories_custom_columnのみを使用できますが、すべての分類法に追加するには、別のループを使用する必要があります。

読み込みの要点6d2ebe47188e8599eb3b0fe3527d4860

最後になりましたが、ユーザーとコメントがあります。 これらもかなり簡単です。 見てください:

読み込みの要点96c1e364e6f29421d38595c509b53536

IDを前面に配置

この小さな変更は、見た目よりも少し難しいです。 ID列を追加したときに、他のすべての列を含む既存の配列の最後に追加しました。 解決策は簡単に思えます。前面に追加してください。 配列をマージすることでこれを行うことができますが、チェックボックスが最初の列であることがわかります。実際には、2番目にIDが必要です。

引き続き配列マージを使用しますが、もう少し注意が必要です。最初に分割する必要があります。 最初の配列にはチェックボックス(元の配列の最初の要素)が含まれ、2番目の配列には他のすべてが含まれます。 最初の配列をIDを含む配列とマージし、次に2番目の配列とマージします。 コードはこれをはるかに明確にする必要があります:

読み込みの要点ceb06c8dd27458696ebb4d89358eeda3

結論

これはWordPressのモジュール性の良い例だと思います。 IDはかつて管理者(WordPress 2.5より前)に表示されていましたが、多くの人がIDを必要としていないことが判明しました。 この機能が削除されると、プラグインが出現し、投稿IDを表示したい人に対応できるようになりました。

独自のプラグインを作成することで、WordPressのモジュール化と、管理者自体の変更がいかに簡単であるかを垣間見ることができます。 上で概説したのと同じ方法を使用して、サムネイル、説明スニペット、およびその他の情報を管理者リストテーブルに追加できます。

管理者リストに素晴らしいものを追加した場合、または追加してほしいアイデアがある場合は、以下のコメントでお知らせください。
タグ: