So zeigen Sie Beitrags- und Seiten-IDs im WordPress-Admin an
Veröffentlicht: 2015-02-14Hin und wieder wäre es praktisch, die ID eines Beitrags oder einer Seite in WordPress zu kennen, oder?
Ob für einen Shortcode, beim Einrichten von etwas in den Designeinstellungen oder vielleicht nur, um einen schnellen Link zu erhalten.
Was auch immer der Fall sein mag, WordPress macht es nicht einfach, die ID eines Beitrags herauszufinden. Eine Möglichkeit, es zu bekommen, besteht darin, die Bearbeitungsseite eines Beitrags zu besuchen und die URL zu überprüfen. Es sollte etwa so aussehen:
https://ihrewebsite.com/wp-admin/post.php?post=137171&action=edit
Die 137171 im obigen Beispiel ist die ID der Post – die Hauptkennung in der Datenbank. Es muss doch einen einfacheren Weg geben, das herauszufinden, oder? Glücklicherweise gibt es das.
- Zeigen Sie Post-IDs mit einem Plugin an
- DIY: Post-IDs mit Code anzeigen
- Benutzerdefinierte Spalten hinzufügen
- Die richtigen Haken finden
- Platzieren der ID in Front
- Fazit
Zeigen Sie Post-IDs mit einem Plugin an
Die einfachste Lösung ist die Verwendung eines Plugins. Der Großvater ist Reveal IDs, ein kostenloses Plugin, das etwas mehr als 425.000 Downloads verzeichnet.
Eine weitere neue Option ist WPsite Show IDs.
Beide Plugins machen ungefähr dasselbe: zeigen die ID von Beiträgen, Seiten, Benutzern, Kategorien, benutzerdefinierten Taxonomien, benutzerdefinierten Beitragstypen und so weiter. Der einzige Grund, warum ich zu WPsite Show IDs neige, ist der 8-Kb-Fußabdruck. Reveal Ids beträgt etwa 311 KB, was für ein so einfaches Plugin etwas übertrieben erscheint.
DIY: Post-IDs mit Code anzeigen
Wenn Sie daran interessiert sind, wie Sie Post-IDs selbst anzeigen können, werfen wir einen Blick auf den Code.
Der folgende Code sollte in ein Plugin oder die Funktionsdatei Ihres Designs eingefügt werden. Wenn Sie ein Plugin erstellen möchten, werfen Sie einen Blick auf unseren Leitfaden zur Plugin-Entwicklung für eine einfache Vorlage.
Bevor wir beginnen, sollten Sie auch sagen, dass Sie ein untergeordnetes Thema erstellen sollten. Sehen Sie sich unseren Leitfaden zu untergeordneten Themen an, wenn Sie noch nicht damit vertraut sind, wie man eines erstellt.
Benutzerdefinierte Spalten hinzufügen
WordPress bietet großartige Tools zum Ändern von Admin-Post-Listen, einschließlich der Erstellung eigener Spalten und Inhalte. Wir müssen einen Filter verwenden, um die Spalte und eine Aktion hinzuzufügen, um die Werte hinzuzufügen. Lassen Sie uns einen kurzen Test mit der regulären Beitragstabelle durchführen:
Das ist alles, was wir brauchen. Der Filter ermöglicht es uns, eine Spalte hinzuzufügen, indem wir das Spaltenarray ändern. Der Array-Schlüssel sollte der Bezeichner für die Spalte sein und der Wert wird als Kopfzeilentext angezeigt.
Die mit der Aktion verbundene Funktion benötigt zwei Parameter: Der Spaltenname und die ID des Beitrags werden angezeigt. Das ist perfekt – wir stellen sicher, dass die ID einfach wiederholt wird, wenn unsere benutzerdefinierte Spalte angezeigt wird.
Die „Revealid“-Funktion ist mein Versuch eines Wortspiels, sorry dafür! Es ist als Präfix für alle unsere Funktionen gedacht, um sicherzustellen, dass sie nicht mit anderen Plugins kollidieren.
Kurz beiseite: Beachten Sie, wie ich 'revealid_id' == $column
verwendet habe, was ein bisschen fremd erscheint. Dies wird als Yoda-Bedingung bezeichnet und wird in WordPress bevorzugt. Der Grund dafür ist, dass Sie keinen großen klaffenden PHP-Fehler auf Ihrer Seite erhalten, wenn Sie vergessen, die Variable zu definieren.
Die richtigen Haken finden
Die beiden oben genannten Funktionen sind alles, was wir brauchen. Das verbleibende Teil des Puzzles ist, wo man sie einklinkt. Die von uns verwendeten Haken zielen nur auf normale Posts ab und unsere IDs werden nicht für Seiten oder andere Elemente angezeigt.
In Wirklichkeit werden diese Haken als variable Haken bezeichnet, weil sie zu einem standardisierten Satz gehören. Die übliche Form ist: manage_[post_type_or_element]_columns
und manage_[post_type_or_element]_custom_column
.

Auf dieser Grundlage sollten Beiträge, Seiten, Medien und benutzerdefinierte Beitragstypen einfach sein, da dies alles Beitragstypen sind. Um IDs für all diese Elemente anzuzeigen, können Sie die folgenden Hooks verwenden:
Kleine Einschränkung hier: Alles außer Posts und Seiten verwendet die Post-Typen. Der Beitragstyp für Beiträge ist technisch gesehen „Post“, der Beitragstyp für Seiten ist „Seite“. Aus irgendeinem Grund verwenden die Haken die Pluralform. Dies ist eine WordPress-Eigenart, da es eigentlich die Einzahlform sein sollte. Sehen Sie, selbst der WordPress-Kern ist nicht perfekt.
Ich habe dort einen benutzerdefinierten Beitragstyp hinzugefügt: Projekt. Was ist, wenn Sie dies auf alle benutzerdefinierten Beitragstypen anwenden möchten? In diesem Fall können Sie alle einfach wie folgt durchlaufen:
Ich empfehle den gleichen Ansatz beim Umgang mit Taxonomien. Um die ID nur für Kategorien auszugeben, könnten Sie manage_edit-link-categories_columns
und manage_link_categories_custom_column
, aber um sie allen Taxonomien hinzuzufügen, müssen wir eine andere Schleife verwenden:
Zu guter Letzt haben wir Benutzer und Kommentare. Diese sind auch ziemlich einfach. Schau mal:
Platzieren der ID in Front
Diese kleine Änderung ist etwas schwieriger als es scheint. Als wir die ID-Spalte hinzugefügt haben, haben wir sie an das Ende eines bestehenden Arrays angehängt, das alle anderen Spalten enthält. Die Lösung scheint einfach genug: Fügen Sie es an der Vorderseite hinzu. Wir könnten dies tun, indem wir Arrays zusammenführen, aber es stellt sich heraus, dass das Kontrollkästchen die erste Spalte ist – wir wollen eigentlich die ID an zweiter Stelle.
Wir werden immer noch Array Merge verwenden, aber wir brauchen ein bisschen mehr Tricks – wir müssen es zuerst aufteilen. Das erste Array enthält das Kontrollkästchen (das erste Element des ursprünglichen Arrays), das zweite Array enthält alles andere. Wir werden das erste Array mit einem Array zusammenführen, das unsere ID enthält, und dann mit dem zweiten Array. Der Code sollte dies viel klarer machen:
Fazit
Ich denke, dies ist ein großartiges Beispiel für die Modularität von WordPress. IDs wurden früher im Adminbereich (vor WordPress 2.5) angezeigt, aber es stellte sich heraus, dass nicht viele Leute sie brauchten. Nachdem diese Funktion entfernt wurde, entstanden Plugins für diejenigen, die immer noch die Post-IDs sehen wollten.
Das Schreiben unseres eigenen Plugins gibt einen Einblick, wie modular WordPress ist und wie einfach es ist, den Admin selbst zu ändern. Die gleiche oben beschriebene Methode könnte verwendet werden, um Thumbnails, Beschreibungsausschnitte und andere Informationen zur Admin-Listentabelle hinzuzufügen.
Stichworte: