Inpsyde GmbH · Frank Bültge · 2012/02/28
define( 'WP_DEBUG', TRUE );
PHP Error und Warnings sehen, Notices for abgekündigte Funktionen triggerndefine( 'SAVEQUERIES', TRUE );
define( 'SCRIPT_DEBUG', TRUE );
Einfach sehen, was schief geht
PHP Notices sehen
und andere Dinge, die sonst verborgen sind
Empfehlungen aus dem täglichen Umfeld
nicht vollständig und subjektiv
Nimm keine Veränderungen am Core vor.
Präfixe helfen
Coding Standards haben einen Grund
Nutze die richtigen Hooks und Filter
plugins_loaded
wp_enqueue_scripts
after_setup_theme
Nutze APIs; erfinde das Rad nicht neu
wp_remote_get()
wp_remote_request()
wp_remote_head()
Sicherheit - einen Zustand, der frei von unvertretbaren Risiken
der Beeinträchtigung ist oder als gefahrenfrei angesehen wird.
Validiere Daten, folge dem Grundsatz des Whitelist-Konzeptes
Bereinige, wass der User sendet:
sanitize_text_field()
clear all HTMLintval()
get integer value of varwp_filter_post_kses()
sanitize for allowed HTML tags and attributessanitize_key()
lowercase alphanumeric characters, dashes and underscoressanitize_title()
ähnlich, aber mächtiger und flexiblerNutze diverse Escape Funktionen zum Schutz der HTML
esc_html()
escape for data within HTML, checks for invalid UTF-8esc_attr()
escape for HTML attributes, checks for invalid UTF-8esc_js()
escape single quotes, htmlspecialchar ” < > &, fix line endingsesc_textarea()
escapes data for use in a textareaesc_url()
removes a bunch of invalid characters from your URL, makes it goodSicherstellung, dass kommt, was kommen soll
SQL Nutzung in WordPress = $wpdb->prepare()
Achte auf die Verwendung von %s und %d und stelle sicher, dass es sich um Strings oder Zahlen handelt. Anführungszeichen (Quotes) werden automatisch ergänzt.
Nutze die Query
query_posts()
Nicht nutzen, nur wenn die Main Query geändert werden muss. Viele globale Variablen können zu Problemen führen.get_posts()
Die Argumente sind gleich, liefert ein Array und kann überall verwendet werden.WP_Query
Die Klasse hinter den Kulissen, diese man nutzt, wenn eigene Objekte benötigt werden. Komplex, weniger Restriktionen und überall nutzbar.$query->is_main_query()
Prüfe, ob es die Main Query ist.wp_reset_postdata()
, wp_reset_query()
ResetsSpeichere excessive Daten
WordPress Caches
WordPress lernen & verstehen · EduPress
Für Menschen · Seien Sie begeistert und Sie werden begeistern!