Marketing Περιεχόμενο

PHP: Χρησιμοποιήστε το WordPress API για να δημιουργήσετε έναν σύντομο κώδικα για να καταχωρίσετε υποσελίδες

Εργαζόμαστε σε μια πολύ περίπλοκη εφαρμογή για έναν εταιρικό πελάτη αυτήν τη στιγμή. Ο ιστότοπος χτίζεται στο WordPress αλλά έχει έναν τόνο κουδουνιών και σφυριών. Συχνά, όταν κάνω αυτόν τον τύπο εργασίας, μου αρέσει να αποθηκεύω τον προσαρμοσμένο κώδικα για επανατοποθέτηση αργότερα σε άλλους ιστότοπους. Σε αυτήν την περίπτωση, σκέφτηκα ότι ήταν τόσο χρήσιμη λειτουργία, ήθελα να το μοιραστώ με τον κόσμο. Χρησιμοποιούμε το Θέμα Avada WordPress με το Fusion Page Builder ως γονικό θέμα και αναπτύσσοντας αρκετά προσαρμοσμένο κώδικα στο παιδικό μας θέμα.

Το WordPress έχει ήδη μερικές λειτουργίες στο API του, οι οποίες μπορούν να χρησιμοποιηθούν για τη λίστα υποσελίδων, όπως wp_list_pages και get_pages. Το πρόβλημα είναι ότι δεν επιστρέφουν αρκετές πληροφορίες εάν ελπίζετε να δημιουργήσετε δυναμικά μια λίστα με πολλές πληροφορίες.

Για αυτόν τον πελάτη, ήθελαν να δημοσιεύσουν περιγραφές θέσεων εργασίας και να δημιουργήσουν αυτόματα τη λίστα με τα ανοίγματα θέσεων εργασίας με φθίνουσα σειρά έως την ημερομηνία δημοσίευσής τους. Ήθελαν επίσης να εμφανίσουν ένα απόσπασμα της σελίδας.

Έτσι, πρώτα, έπρεπε να προσθέσουμε απόσπασμα υποστήριξης στο πρότυπο σελίδας. Στο functions.php για το θέμα τους, προσθέσαμε:

add_post_type_support ('σελίδα', 'απόσπασμα');

Στη συνέχεια, χρειαζόμασταν να καταχωρήσουμε έναν προσαρμοσμένο σύντομο κωδικό που θα δημιουργούσε τη λίστα των υποσελίδων, συνδέσμους προς αυτές και το απόσπασμα για αυτές. Κάνε αυτό, πρέπει να χρησιμοποιήσουμε το WordPress Loop. Στο functions.php, προσθέσαμε:

// Λίστα υποσελίδων σε μια λειτουργία λίστας dknm_list_child_pages ($ atts, $ content = "") {global $ post; $ atts = shortcode_atts (array ('ifempty' => 'Χωρίς εγγραφές', 'aclass' => ''), $ atts, 'list_subpages'); $ args = array ('post_type' => 'page', 'posts_per_page' => -1, 'post_parent' => $ post-> ID, 'orderby' => 'publish_date', 'order' => 'DESC' ,); $ γονέας = νέο WP_Query ($ args); if ($ parent-> have_posts ()) {$ string. = $ περιεχόμενο. " "; ενώ ($ parent-> has_posts ()): $ parent-> the_post (); $ string. = '".get_the_title ()." "; if (has_excerpt ($ post-> ID)) {$ string. = '-' .get_the_excerpt (); } $ string. = ' "; εν τω μεταξύ? } αλλιώς {$ string = ' $. atts ['ifempty']. ' "; } wp_reset_postdata (); επιστροφή $ string; } add_shortcode ('list_subpages', 'dknm_list_child_pages');

Τώρα, ο σύντομος κώδικας μπορεί να εφαρμοστεί σε ολόκληρο τον ιστότοπο για να εμφανιστούν οι θυγατρικές σελίδες με έναν σύνδεσμο και απόσπασμα. Χρήση:

[list_subpages aclass = "button" ifempty = "Συγγνώμη, προς το παρόν δεν έχουμε θέσεις εργασίας."] Λίστα εργασιών [/ list_subpages]

Το αποτέλεσμα είναι μια ωραία, καθαρή χωρίς ταξινόμηση λίστα των δημοσιευμένων εργασιών, οι οποίες είναι θυγατρικές σελίδες στη σελίδα της σταδιοδρομίας τους.

Εάν δεν δημοσιεύθηκαν εργασίες (δεν υπάρχουν θυγατρικές σελίδες), θα δημοσιεύσει:

Δυστυχώς, προς το παρόν δεν έχουμε θέσεις εργασίας.

Εάν δημοσιεύθηκαν εργασίες (θυγατρικές σελίδες), θα δημοσιεύσει:

Λίστα εργασιών:

Douglas Karr

Douglas Karr είναι ΚΟΑ του OpenINSIGHTS και ο ιδρυτής του Martech Zone. Ο Ντάγκλας έχει βοηθήσει δεκάδες επιτυχημένες νεοφυείς επιχειρήσεις της MarTech, έχει βοηθήσει στη δέουσα επιμέλεια άνω των 5 δισεκατομμυρίων δολαρίων σε εξαγορές και επενδύσεις της Martech και συνεχίζει να βοηθά τις εταιρείες στην εφαρμογή και την αυτοματοποίηση των στρατηγικών πωλήσεων και μάρκετινγκ. Ο Ντάγκλας είναι ένας διεθνώς αναγνωρισμένος ειδικός και ομιλητής στον ψηφιακό μετασχηματισμό και στη MarTech. Ο Ντάγκλας είναι επίσης δημοσιευμένος συγγραφέας ενός οδηγού Dummie και ενός βιβλίου επιχειρηματικής ηγεσίας.

Σχετικά άρθρα

Επιστροφή στην κορυφή κουμπί
Κλεισιμο

Εντοπίστηκε μπλοκ διαφημίσεων

Martech Zone είναι σε θέση να σας παρέχει αυτό το περιεχόμενο χωρίς κόστος, επειδή δημιουργούμε έσοδα από τον ιστότοπό μας μέσω εσόδων από διαφημίσεις, συνδέσμων συνεργατών και χορηγιών. Θα εκτιμούσαμε εάν καταργούσατε το πρόγραμμα αποκλεισμού διαφημίσεων καθώς προβάλλετε τον ιστότοπό μας.