Hier sind einige kurze, aber praktische Codeausschnitte, die Ihnen das Leben als WordPress-Entwickler ein wenig erleichtern können. Wir werden ein wenig von allem behandeln, von der automatischen Löschung von Beiträgen über das schnelle Verteilen eines Miniaturbilds bis hin zur Umleitung von Benutzern, sobald sie sich angemeldet haben. Öffnen Sie Ihr Textersetzungsprogramm und machen Sie sich bereit, etwas hinzuzufügen ein paar neue Verknüpfungen!
Wir fangen mit ein paar einfachen Einzeilen an.
Seit v3.1 bietet WordPress eine Front-End-Verwaltungsleiste für alle Benutzer. Abhängig von Ihrer Absicht kann dies das Erscheinungsbild Ihrer Website beeinträchtigen. Verwenden Sie zum Deaktivieren die Funktion show_admin_bar:
show_admin_bar (FALSE);
Sie können dies auch in Ihrem Benutzerprofil deaktivieren. Dies ist jedoch besonders nützlich, wenn Sie auf der Website eine Unmenge von Autoren / Mitgliedern haben und die Leiste vollständig deaktivieren müssen.
Wenn Sie vergessen haben, sie endgültig zu löschen, kann es zu Papierkorb kommen. Verwenden Sie diesen Code in /wp-config.php, um Ihre verworfenen Beiträge zu leeren:
define ('EMPTY_TRASH_DAYS', 5);
Beim Entwickeln müssen Sie die Fehler sehen, die Ihr Code auslöst. Beachten Sie, dass nicht alle Fehler die Ausführung eines Skripts verhindern, aber dennoch Fehler sind und sich auf Ihren anderen Code möglicherweise merkwürdig auswirken. Aktivieren Sie daher WordPress-Debugging, indem Sie dies in Ihre /wp-config.php einfügen:
define ('WP_DEBUG', TRUE);
Sie werden überrascht sein, was Sie in der Fußzeile sehen. Denken Sie daran, das Debuggen zu deaktivieren, wenn Ihre Website für die Veröffentlichung bereit ist. Debug-Informationen können für Hacker wertvoll sein.
Wenn sich ein Benutzer anmeldet, wird er normalerweise direkt an sein Dashboard gesendet. Dies ist möglicherweise nicht die Erfahrung, die Ihre Benutzer haben sollen. Im folgenden Code wird der login_redirect-Filter verwendet, um Nicht-Administratoren auf die Homepage umzuleiten:
add_filter ("login_redirect", "subscriber_login_redirect", 10, 3); Funktion subscriber_login_redirect ($ redirect_to, $ request, $ user) if (is_array ($ user-> rollen)) if (in_array ('administrator', $ user-> rollen)) return home_url ('/ wp-admin /' ); return home_url ();
Je nach Rolle des Benutzers können Sie sie an jede beliebige Seite senden.
Seit Version 2.9 bietet WordPress eine Option für die Nach-Miniaturansicht, genau wie die Bilder, die Sie hier auf wp.tutsplus sehen. Auf der Admin-Post-Seite heißt es "Featured Image". Wenn Sie für Ihren Beitrag kein Bild haben, können Sie einfach ein Standardbild aufrufen.
Innerhalb der Schleife:
if (has_post_thumbnail ()) the_post_thumbnail (); else echo '';
Sie könnten sogar eine Reihe von Standardbildern haben und nach dem Zufallsprinzip eines auswählen
Anstelle von: Gepostet am 12. Oktober 2011, können wir: Gepostet vor 2 Tagen.
Wie in der Schleife verwendet:
echo human_time_diff (get_the_time ('U'), aktuelle_zeit ('timestamp')). 'vor';
Verwenden Sie es auch für Kommentare:
echo human_time_diff (get_comment_time ('U'), aktuelle_zeit ('timestamp')). 'vor';
Oder zeigen Sie das reguläre Datum / die reguläre Zeit des Beitrags nur dann an, wenn es sich vor mehr als einer Woche befindet, ansonsten zeigen Sie die Uhrzeit an:
$ time_diff = current_time ('timestamp') - get_the_time ('U'); if ($ time_diff.) < 604800)//seconds in a week = 604800 echo 'Posted ' . human_time_diff(get_the_time('U'), current_time('timestamp')) . ' ago'; else echo 'Posted on ' . get_the_date() . ', ' . get_the_time(); ;
Es ist schön, dass die Benutzer sehen können, wann der Autor eines Posts einen Kommentar zum Post schreibt, genau wie wir es hier auf wp.tutsplus tun. Wir müssen lediglich eine Klasse zum Kommentar-Wrapper hinzufügen und diese dann im Design gestalten.
Um herauszufinden, welche Kommentare vom Autor des Beitrags stammen, verwenden wir diesen Code, um einen Klassennamen auszugeben:
if ($ comment-> user_id == get_the_author_meta ('ID')) echo ''; else echo '';Wir vergleichen die Benutzer-ID des Kommentars mit der Beitragsautor-ID von get_the_author_meta. Wenn sie übereinstimmen, geben wir eine Klasse von author_comment wieder, die wir mit css formatieren können.
8. Zeigen Sie Benutzer-, Post- und Kommentarinformationen für Ihre WordPress-Site an
Sie können Ihre WordPress-Datenbank direkt abfragen, um nützliche Site-Informationen anzuzeigen. Fügen Sie diese Funktion in Ihre functions.php ein und rufen Sie sie mit get_site_data () an beliebiger Stelle in Ihren Vorlagendateien auf.
function get_site_data () global $ wpdb; $ users = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> Benutzer"); $ posts = $ wpdb-> get_var ("SELECT COUNT (ID) FROM $ wpdb-> posts WHERE post_status = 'publish'"); $ comments = $ wpdb-> get_var ("SELECT COUNT (comment_ID) FROM $ wpdb-> comments"); Echo ''. $ Benutzer "Mitglieder haben gemacht". $ Kommentare "Kommentare in". $ Beiträge 'Beiträge
';Dies ist besser als das Aufrufen einiger nativer WordPress-Funktionen, da alle Post-Typen und nur aktuell veröffentlichte Posts gezählt werden.
9. Fügen Sie eine JavaScript-Datei richtig hinzu
WordPress gibt uns die Funktion wp_enqueue_script, damit wir Skripte sicher hinzufügen können.
Nehmen wir an, wir haben ein Skriptverzeichnis unter unserem Vorlagenverzeichnis und dort ein Skript namens do_stuff.js. Wir haben also url_to_template_dir / scripts / do_stuff.js
Lassen Sie uns unser Skript richtig einbinden. Dies muss vor dem Aufruf von wp_head in Ihrer Headerdatei enthalten sein:
$ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url);Hier verketten wir unseren Skriptpfad und Namen mit der Ausgabe der WordPress-Funktion get_template_directory_uri. Anschließend erfassen wir das Skript, indem wir ein Handle (zur späteren späteren Bezugnahme) und die URL zu unserem Skript bereitstellen. WordPress wird nun auf jeder Seite unser Skript enthalten.
Der wahre Vorteil von all dem ist, dass unser do_stuff-Skript ein jQuery-Skript war. Dann müssten wir auch jQuery laden.
Jetzt ist jQuery standardmäßig in WordPress enthalten und wurde bei der Handle-Jquery vorregistriert. Wir müssen also nur unsere jQuery und dann unsere do_stuff.js wie folgt in die Warteschlange stellen:
wp_enqueue_script ('jquery'); $ script_url = get_template_directory_uri (). '/scripts/do_stuff.js'; wp_enqueue_script ('do_stuff', $ script_url, array ('jquery'));Beachten Sie den dritten Parameter von wp_enqueue_script für do_stuff: Dieser sagt WordPress, dass unser do_stuff-Skript von der Datei mit der Handle-Jquery abhängt. Dies ist wichtig, da dies bedeutet, dass Jquery vor do_stuff geladen wird. In der Tat könnten Sie die Enqueue-Anweisungen in umgekehrter Reihenfolge ausführen, und dies ist unwichtig, da WordPress durch das Definieren der Abhängigkeiten eines Skripts die richtige Reihenfolge beim Laden der Skripte ermöglicht, sodass sie problemlos zusammenarbeiten.