Αναμείνατε ολίγον τι
Web Devel

12 τρόποι για να βρείτε το post ID στο WordPress

Wordpress

Αρκετά widgets και plugins ζητούν το ID του εκάστοτε άρθρου ή των άρθρων που θέλετε να εμφανίσει ή να χρησιμοποιήσει.

Με μια πρώτη ματιά, το να το βρείς γίνεται μια σπαζοκεφαλιά που πρέπει να λύσει κανείς, αφού δεν υπάρχει σε κάποιο εμφανές σημείο.

Λύσεις για αυτό τον “γρίφο” υπάρχουν αρκετές, και παρακάτω θα δούμε πως μπορεί να το βρει κανείς μέσω του post title, του post slug, του post URL, του meta key, των category/tag ID, κ.ά.

1. Στο URL του post όταν κάνουμε επεξεργασία

Αυτή είναι η πιο απλή και άμεση μέθοδος. Πολύ απλά όταν πάμε να κάνουμε επεξεργασία του άρθρου το ID είναι μέσα στο URL.

Στην ουσία δεν χρειάζεται καν να ανοίξουμε την επεξεργασία του άρθρου. Αν βάλουμε τον κέρσορα πάνω από τον σύνδεσμο της επεξεργασίας (edit) ή πάνω από τον τίτλο του άρθρου (post title) μέσα στο διαχειριστικό μενού και παρατηρήσουμε το browser status bar, στο κάτω μέρος του παραθύρου, θα δούμε το ID.

2. Στο URL του αρθρου χωρίς κάποιο Custom Permalink Structure

Αν έχετε αφήσει τις επιλογές για τα permalinks (στο Settings > Permalinks ή Ρυθμίσεις > Μόνιμοι σύνδεσμοι ) σε Plain ή “απλή”, τότε θα εμφανίζεται η παράμετρος p στο URL, η οποία έχει την τιμή του ID του άρθρου.

plain structure urls

Αυτός ο τρόπος είναι σίγουρα χρήσιμος για τους αρχάριους.

3. Προσθήκη του Post ID σε στήλη μέσα στον πίνακα WordPress Posts Table

Αν δουλεύετε πολύ συχνά με τα IDs τότε θα σας αρέσει πάρα πολύ το παρακάτω.

Το παρακάτω screenahot δείχνει το πόσο βολικό και χρήσιμο είναι.

Το μόνο που χρειάζεται να κάνετε είναι να προσθέσετε τον παρακάτω κώδικα στο functions.php του θέματος που χρησιμοποιείτε (προσοχή γιατί ένα update μπορεί να σας το διαγράψει).

Εδώ βλέπετε πως είναι αν έχετε προσθέσει την στήλη του Post ID στο posts table.  Μπορείτε να προσθέσετε την ίδια στήλη για τα Pages και όποιο άλλο custom post type.

4. To Post ID στην WordPress Database

Αν γνωρίζετε πως λειτουργούν οι MySQL βάσεις δεδομένων, τότε θα σας αρέσει αυτή η λύση.

Μπορείτε να βρείτε τα post IDs στο wp_posts table (ή {επιλεγμένο_πρόθεμα}posts table).

Για τα παρακάτω παραδείγματα χρειάζονται βασικές γνώσεις PHP, αλλά να δεν ξέρετε καλή PHP δεν σας εμποδίζει τίποτα από το να δοκιμάσετε.

5. Στο global αντικείμενο $post

Το global αντικείμενο $post περιέχει πολλά δεδομένα για το τρέχων άρθρο. Έτσι, είναι αρκετά εύκολο να βρει κανείς το ID μέσα από το αντικείμενο:

Κάποιες φορές όταν το χρησιμοποιήσουμε μέσα σε μία συνάρτηση (ή όταν για κάποιο λόγο δεν εμφανίζει τίποτα το παραπάνω echo)  απλά προσθέστε το αντικείμενο γιατί δεν έχει γίνει κλήση του στο τρέχων περιβάλλον (scope).

6. Χρήση των συναρτήσεων get_the_id() και the_id()

Η διαφορά των δύο συναρτήσεων είναι ότι η get_the_id() επιστρέφει την τιμή του ID ενώ η the_id() την εκτυπώνει.

7. Βρίσκοντας το Post ID από το Post Title

Εδώ θα μιλήσουμε για μία ενσωματωμένη συνάρτηση και από την έκδοση 3.0.0 δεν δουλεύει μόνο για τα pages αλλά και για οποιοδήποτε custom post type.

Η τρίτη παράμετρος της συνάρτησης είναι ο τύπος του post, που είναι προκαθορισμένο ως page.

8. Το post ID από το post slug

Η συνάρτηση είναι παρόμοια με την get_page_by_title(). Αλλά αν το άρθρο έχει πατρικό άρθρο (όταν υπάρχει κάποια ιεραρχία) πρέπει να καθορίσετε και το slug του πατρικού άρθρου

π.χ. parent-post/hello-world

9. Το post ID από το URL

Μια αρκετά απλή συνάρτηση, σαν όρισμα χρειάζεται να δώσετε μόνο το url:

10. Το post ID που φαίνεται στην αρχική σελίδα

Αυτός ο τρόπος είναι μόνο για τα pages. Μπορούμε να βρούμε τα IDs των σελίδων όπως φαίνεται και παρακάτω

11. Το post ID μέσα από το WP_Query loop

Όταν χρησιμοποιούμε το WP_Query ή κάποιο άλλο loop, είναι πάντα καλύτερος και πιο γρήγορος τρόπος για να βρούμε το αντικείμενο $post και τα περιεχόμενα του αντί για τις συναρτήσεις get_the_id(), the_id() που είδαμε και πιο πάνω.

12. To post ID μέσω του meta key

Υπάρχουν δύο τρόποι για να το κάνει κανείς: WP_Query ή MySQL επερώτηση.
In fact there are two ways to do it — using WP_Query or MySQL query. Here I will introduce you a function that returns a post ID or an array of post IDs that match the given meta key.

Ή μπορεί κανείς να χρησιμοποιήσει την παρακάτω συνάρτηση, που είναι παρόμοια με την πάνω, αλλά καθορίζεται και το meta value.

Στην ουσία, καλώντας την $wpdb μπορούμε να βρούμε τα IDs με οποιαδήποτε παράμετρο: category name, publish date, number of comments, even by comment author email, κ.ά.

Πηγές

Μοιραστείτε το άρθρο

The following two tabs change content below.

agathan

Αποφοίτησα απο το τμήμα Εφαρμοσμένων Μαθηματικών του Πανεπιστημίου Κρήτης. Κάτα την διάρκεια εργάστηκα στην τεχνική υποστήριξη του τμήματος. Ακολούθησε το μεταπτυχιακό μου, Msc In Applied Mathematics at University Of Delaware. Ύστερα δούλεψα για μερικά χρόνια σαν web developer (CMS and what not) και SEO/Google Ads engineer.
Και τώρα είμαστε στο GeekD, μια λέξη που περιγράφει όλα τα παραπάνω.

"All we have to decide is what to do with the time that is given us."
-Gandalf The Grey, JRR Tolkien

Αφήστε ένα σχόλιο

Επιλογές της ομάδας
σκίτσο του Άλμπερτ Αϊνστάιν
Πώς τα μυστικά των πρώτων αριθμών κάνουν τον κόσμο μας ασφαλέστερο
Πώς ο Ερατοσθένης υπολόγισε την περιφέρεια της Γης πάνω από 2000 χρόνια πριν;
Τι θα γινόταν αν ο αυτισμός ήταν ... υπερδύναμη;
Εκπληκτικές φωτογραφίες του Cassini λίγο πριν τη συντριβή του στον Κρόνο