Posts in der Kategorie WordPress

CloudflareEntwicklungPHPWordPress
WordPress: bei neuem Beitrag Drone CI Pipeline ausführen

Wenn ich auf meinem Blog einen neuen Beitrag erstelle, oder einen aktualisiere/lösche, möchte ich gerne eine CI/CD-Pipeline auf meinem Drone Build-Server starten. Dazu habe ich folgendes Plugin geschrieben: Den Drone CI-Token bekommt man, indem man mit seinem Benutzer links unten auf „Account“ klickt. Das Plugin wird einfach im WordPress wp-content/plugins z.B. als start-build.php abgespeichert, und […]

PHPWordPress
PHP: Zugriff auf Adminpanel für Benutzer verhindern

Um zu verhindern, dass nicht-Administratoren auf das Admin-Dashboard zugreifen können, registrieren wir zuerst einen Listener, der triggert, sobald jemand dieses abrufen möchte: add_action(‚admin_init‘, ‚dashboard_for_admins_only‘); Der Code für die Funktion dashboard_for_admins_only sieht wie folgt aus: function dashboard_for_admins_only() { // Trotzdem Zugriff auf Admin-AJAX zulassen if($_SERVER[‚PHP_SELF‘] == ‚admin-ajax.php‘) return; // Administratoren den Zugriff erlauben if(current_user_can(‚manage_options‘)) return; // […]

PHPWordPress
PHP: Einen Benutzer einloggen

Möchten wir einen Benutzer einloggen, benötigen wir erst einmal seine ID. Ein Beispiel, wie wir einen Benutzer über seine Email auslesen können: $user = get_user_by(‚email‘, ‚[email protected]‘); Um den Benutzer dann einzuloggen, wenn er erfolgreich aus der Datenbank geladen wurde: if($user) { wp_set_current_user($user->ID, $user->user_login); wp_set_auth_cookie($user->ID); do_action(‚wp_login‘, $user->user_login); }

PHPWordPress
PHP: WordPress Passwörter erstellen / validieren

In der wp-includes/pluggable.php finden wir die Funktion wp_hash_password, welche (ohne den Code für die Plugins) wie folgt aussieht $s = new PasswordHash(8, true); echo $s->HashPassword(‚test‘); In selbiger Datei finden wir ebenfalls die Funktion wp_check_password, welche auf folgende Art und Weise Passwörter validiert: $s = new PasswordHash(8, true); $s->CheckPassword(‚test‘, ‚$P$123456789012345678901234567890‘); Der String, der mit „$P$“ anfängt, […]