Αυτόματη σύνδεση διαχειριστή WordPress στο PHP

Η σημερινή ανάρτηση θα είναι μόνο σύντομη στην οποία θα σας δείξω πώς να εγκαταστήσετε μια τακτοποιημένη μικρή λειτουργία στον ιστότοπό σας στο WordPress. Αυτό, εάν χρησιμοποιείται με ασφάλεια, μπορεί να είναι πολύ βολικό. Αυτό έχει σχεδιαστεί για χρήση σε ιστότοπους του WordPress που προσφέρουν έναν γενικό λογαριασμό για να συνδεθούν οι χρήστες. Για παράδειγμα, σε πολλά backend demo WordPress ο συγγραφέας θα δημιουργήσει έναν λογαριασμό επίδειξης για τους υποψήφιους πελάτες να συνδεθούν και να παίξουν με το προϊόν του. Τις περισσότερες φορές, ο συγγραφέας θα εμφανίσει απλώς μια ειδοποίηση που λέει:


ΟΝΟΜΑ ΧΡΗΣΤΗ: διαδήλωση
ΚΩΔΙΚΟΣ ΠΡΟΣΒΑΣΗΣ: διαδήλωση

Είναι λίγο πεζό. Σίγουρα μπορούμε να κάνουμε το demo να φαίνεται λίγο πιο απλό και επαγγελματικό; Θα σας δώσω ένα γρήγορο απόσπασμα για να συνδεθείτε αυτόματα στον διαχειριστή του WordPress με αυτά τα διαπιστευτήρια. Αυτό μπορεί είτε να μεταφερθεί στο αρχείο λειτουργιών του θέματος σας είτε να τοποθετηθεί στο δικό του αρχείο προσθηκών και να ενεργοποιηθεί.

Αυτό θα μπορούσε να είναι χρήσιμο εάν;

  • Ο ιστότοπός σας έχει έναν γενικό λογαριασμό για να συνδεθούν οι ανώνυμοι χρήστες.
  • Θέλετε έναν σύνδεσμο σύνδεσης «με ένα κλικ».
  • Θέλετε να μεγιστοποιήσετε τη μετατροπή επίδειξης προϊόντων, παρέχοντας μια γρήγορη και αποτελεσματική διαδρομή προς την επίδειξη, ελαχιστοποιώντας τα απαιτούμενα βήματα.
  • Θέλετε να κατευθύνετε τους επισκέπτες απευθείας στη σχετική τοποθεσία (π.χ. σελίδα ρυθμίσεων).

ΣΠΟΥΔΑΙΟΣ: Μην το χρησιμοποιείτε ποτέ για να συνδεθείτε σε λογαριασμούς με πραγματική ισχύ. π.χ. Λογαριασμοί διαχειριστή / επεξεργαστή κ.λπ..
Χρησιμοποιήστε αυτό το απόσπασμα προσεκτικά.

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

Harri Bell-Thomas στο Github

/ *
Όνομα προσθήκης: Αυτόματη σύνδεση
URI προσθήκης: http://hbt.io/
Έκδοση: 1.0.0
Συγγραφέας: Harri Bell-Thomas
Συγγραφέας URI: http://hbt.io/
* /

συνάρτηση autologin () {
// ΠΑΡΑΜΕΤΡΟ ΓΙΑ ΕΛΕΓΧΟ
if ($ _GET ['autologin'] == "επίδειξη") {

// ΟΝΟΜΑ ΧΡΗΣΤΗ ΛΟΓΑΡΙΑΣΜΟΥ ΠΡΟΣ ΣΥΝΔΕΣΗ
$ creds ['user_login'] = 'επίδειξη';

// Κωδικός πρόσβασης λογαριασμού για χρήση
$ creds ['user_password'] = 'επίδειξη';

$ creds ['ingat'] = true;
$ autologin_user = wp_signon ($ creds, false);

εάν (! is_wp_error ($ autologin_user))
κεφαλίδα ('Τοποθεσία: wp-admin'); // ΤΟΠΟΘΕΣΙΑ ΠΡΟΣ ΑΝΑΚΑΙΝΙΣΗ ΣΤΟ
}
}
// ΠΡΟΣΘΗΚΗ ΚΩΔΙΚΟΥ ΠΡΙΝ ΑΠΟΣΤΟΛΟΥΝ ΤΑ ΑΡΩΜΑΤΑ ΚΑΙ ΤΑ ΜΠΟΥΚΙΑ
add_action ('after_setup_theme', 'autologin');

ΧΡΗΣΗ

Αυτό είναι πολύ απλό στη χρήση. Το όνομα χρήστη και ο κωδικός πρόσβασης του λογαριασμού καθορίζονται στο αρχείο προσθήκης (κωδικός παραπάνω) και για να συνδεθείτε πρέπει απλώς να επισκεφθείτε. http://example.com/wp-login.php?autologin=demo

Θα πρέπει αμέσως να ανακατευθυνθείτε στο wp-admin, να συνδεθείτε στον καθορισμένο λογαριασμό. Αν όμως τα διαπιστευτήρια είναι λανθασμένα, θα πρέπει απλώς να δείτε τη φόρμα σύνδεσης όπως είναι φυσιολογικό.

ΕΞΑΤΟΜΙΚΕΥΣΗ

Αυτό το απόσπασμα είναι πολύ εύκολο να προσαρμοστεί. Υπάρχουν ουσιαστικά μόνο 3 πράγματα που θα πρέπει να επεξεργαστείτε και όλες αυτές οι αλλαγές πρέπει να γίνουν στο ακόλουθο μπλοκ κώδικα (γραμμές 11 έως 17 του πλήρους κώδικα)

εάν ($ _GET ['login'] == 'dummy_account') {

// ΟΝΟΜΑ ΧΡΗΣΤΗ ΛΟΓΑΡΙΑΣΜΟΥ ΠΡΟΣ ΣΥΝΔΕΣΗ
$ creds ['user_login'] = 'ανδρείκελο';

// Κωδικός πρόσβασης λογαριασμού για χρήση
$ creds ['user_password'] = 'pa55word';

Στην πρώτη γραμμή θα δείτε τον έλεγχο υπό όρους για την παράμετρο URL. Το παραπάνω μπλοκ κώδικα θα ελέγχει. wp-login.php? login = dummy_account

Αυτές οι τιμές μπορεί να είναι ό, τι θέλετε, αλλά προσέξτε να αποφύγετε τις αρχικές παραμέτρους του WordPress, όπως «αποσύνδεση», «ενέργεια» και «redirect_to». Η γραμμή 4 είναι όπου καθορίζετε το όνομα χρήστη για να συνδεθείτε. το προσαρμοσμένο απόσπασμα κώδικα θα προσπαθήσει να συνδεθεί στον λογαριασμό «ανδρείκελο». Όπως πιθανώς μπορείτε να μαντέψετε, η γραμμή 7 είναι όπου καθορίζετε τον κωδικό πρόσβασης. Ο παραπάνω κωδικός πρόσβασης είναι «pa55word». Συμπληρώστε αυτές τις τιμές και θα πρέπει να είστε καλά!

ΕΠΕΚΤΑΣΕΙΣ

Προς το παρόν, το απόσπασμά μας έχει ρυθμιστεί μόνο για αυτόματη σύνδεση σε έναν λογαριασμό. Τι γίνεται αν θέλουμε διαφορετικούς συνδέσμους σύνδεσης για διαφορετικούς λογαριασμούς; Αυτό είναι αρκετά γρήγορο και εύκολο να γίνει και δεν απαιτεί να επαναλάβετε ολόκληρο το απόσπασμα ξανά και ξανά. Ρίξτε μια ματιά παρακάτω στη λύση μου.

/ *
Όνομα προσθήκης: Αυτόματη σύνδεση
URI προσθήκης: http://hbt.io/
Περιγραφή: Δημιουργήστε βολικούς συνδέσμους αυτόματης σύνδεσης για γρήγορη σύνδεση σε γενικούς λογαριασμούς. Διαμορφώστε τον πηγαίο κώδικα για να κάνετε αλλαγές.
Έκδοση: 1.0.0
Συγγραφέας: Harri Bell-Thomas
Συγγραφέας URI: http://hbt.io/
* /

// Δηλώστε το παγκόσμιο var
παγκόσμιο $ login_parameter, $ λογαριασμοί;

// Η ΠΑΡΑΜΕΤΡΟ ΠΟΥ ΕΛΕΓΧΕΙ
// π.χ. http://exmaple.com/wp-login.php?param_name=account
$ login_parameter = "autologin";

// ΜΠΛΟΚ ΚΩΔΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ
$ λογαριασμοί [] = πίνακας (
"χρήστης" => "επίδειξη",
"pass" => "επίδειξη",
"location" => "wp-admin",
)
// ΤΕΛΟΣ ΑΠΟΚΛΕΙΣΜΟΣ ΚΩΔΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ

// Επεξεργαστείτε και επαναλάβετε το μπλοκ κωδικών για όσους πολλούς λογαριασμούς χρειάζονται

// Ένα άλλο παράδειγμα επανάληψης
$ λογαριασμοί [] = πίνακας (
"χρήστης" => "tcwp",
"pass" => "επίδειξη",
"location" => "wp-admin /? tcwp-sent-me",
)


// ΔΕΙΤΕ ΠΡΟΗΓΟΥΜΕΝΟ ΠΑΡΑΔΕΙΓΜΑ ΛΕΠΤΟΜΕΡΕΙΩΝ ΓΙΑ ΤΗΝ ΠΑΡΟΥΣΑ ΛΕΙΤΟΥΡΓΙΑ
συνάρτηση autologin () {
παγκόσμιο $ login_parameter, $ λογαριασμοί;
foreach (λογαριασμοί $ ως λογαριασμός $) {
if ($ _GET [$ login_parameter] == $ λογαριασμός ['user']) {
$ creds ['user_login'] = $ λογαριασμός ['user'];
$ creds ['user_password'] = $ λογαριασμός ['pass'];
$ creds ['ingat'] = true;
$ autologin_user = wp_signon ($ creds, false);
εάν (! is_wp_error ($ autologin_user))
κεφαλίδα ('Τοποθεσία:'. $ λογαριασμός ['location']);
}
}
}
add_action ('after_setup_theme', 'autologin');

Στον πυρήνα του, αυτό είναι ουσιαστικά το ίδιο, αλλά με έναν αναιδές βρόχο μπροστινής προσθήκης και έναν πίνακα λογαριασμών. Η ανατομία της συνάρτησης autologin () είναι πανομοιότυπη, εκτός από το γεγονός ότι ο κώδικάς του επαναλαμβάνεται (χρησιμοποιώντας το βρόχο foreach) για κάθε λογαριασμό. Όλες οι σχετικές λεπτομέρειες αποθηκεύονται τώρα στον παγκόσμιο πίνακα. Το παραπάνω παράδειγμα έχει ρυθμιστεί για 2 λογαριασμούς, αλλά το απόσπασμα μας μπορεί να φιλοξενήσει όσους χρειαζόμαστε. Για να προσθέσετε επιπλέον λογαριασμούς, απλώς προσαρμόστε και προσθέστε όσα από τα παρακάτω μπλοκ κώδικα χρειάζεστε.

// ΜΠΛΟΚ ΚΩΔΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ
$ λογαριασμοί [] = πίνακας (
"χρήστης" => "άλλος λογαριασμός",
"pass" => "public_password",
"location" => "http://YouCanPutURLsHereToo.com/",
)
// ΤΕΛΟΣ ΑΠΟΚΛΕΙΣΜΟΣ ΚΩΔΙΚΟΥ ΛΟΓΑΡΙΑΣΜΟΥ

Θα παρατηρήσετε επίσης ότι έχω μετακινήσει το όνομα της παραμέτρου και σε μια καθολική μεταβλητή: αυτό δεν είναι απαραίτητο, αλλά το έκανα απλά για να αφαιρέσω όλες τις σκληρές κωδικοποιημένες τιμές από τη συνάρτηση autologin ().

ΣΥΜΠΕΡΑΣΜΑ

Αυτό το απόσπασμα είναι μόνο μια απλή λειτουργία που έχει σχεδιαστεί για ελαφριά χρήση, όπως σε έναν ιστότοπο επίδειξης προϊόντων, αλλά έχει τη δυνατότητα να χρησιμοποιηθεί για πολύ πιο περίπλοκα σενάρια σύνδεσης. Ο υπόλοιπος κώδικας πρέπει να είναι αρκετά αυτονόητος, αλλά εάν έχετε οποιεσδήποτε ερωτήσεις σχετικά με το τι έχω κάνει ή γιατί το έκανα, απλώς αφήστε ένα σχόλιο παρακάτω ή tweet μου. Αν έχετε σχόλια / προτάσεις / ιδέες αφήστε ένα σχόλιο στην ενότητα σχολίων παρακάτω!

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me