Am 13. Juli wurde die dritte Beta-Version von WordPress 4.6 veröffentlicht. Darüber hinaus wurden weitere Beiträge mit Hintergrundinformationen für Entwickler geschrieben und auf Make/Core gepostet.
Core
Weitere 4.6-Dev-Posts
WP_Post_Type
In WordPress 4.6 wird eine neue WP_Post_Type
-Klasse eingeführt, die das globale $wp_post_types
in ein Array von WP_Post_Type
-Objekten ändert. Jedes Post-Type-Argument ist nun eine Eigenschaft von WP_Post_Type
, und die beiden Funktionen register_post_type()
und get_post_type_object()
geben beide ein Objekt der neuen Klasse zurück.
Ein paar weitere Informationen dazu findet ihr im Beitrag von Dominik Schilling auf Make/Core.
Updates für dbDelta()
Die dbDelta()
-Funktion hilft dabei, die Datenbank basierend auf spezifischen SQL-Statements zu verändern. In 4.6 werden bei der Funktion die Index-Definitionen normalisiert, was vorher nicht der Fall war. Darüber hinaus werden Index-Namen, Index-Spaltennamen, Namen in Querys zum Ändern von Indizes und anderen Querys nun mit Backsticks escaped und SPATIAL
-Schlüssel unterstützt.
Näheres zu den einzelnen Punkten gibs im Beitrag von Dominik auf Make/Core.
admin_print_footer_scripts-$hook_suffix
Der Hook admin_print_footer_scripts
kann (natürlich) nicht zwischen den verschiedenen Admin-Seiten unterscheiden – die Prüfung auf eine bestimmte Backend-Seite musste vom Nutzer vorgenommen werden. Mit 4.6 wird eine dynamische Variante eingeführt, mit der sehr viel einfacher eine Aktion für eine bestimmte Backend-Ansicht vorgenommen werden kann. Dieser Code vor 4.6 (Code-Beispiele aus dem Make-Beitrag von Thorsten Frommen, wo es nähere Infos zu den Änderungen gibt):
add_action( 'admin_print_footer_scripts', function() {
global $hook_suffix;
if ( 'some_admin_page' !== $hook_suffix ) {
return;
}
// Whatever it is that you want to do...
} );
Code-Sprache: PHP (php)
kann nun so geschrieben werden:
add_action( 'admin_print_footer_scripts-some_admin_page', function() {
// Whatever it is that you want to do...
} );
Code-Sprache: PHP (php)
Diskussion zu register_meta()
Am 15. Juli gab es eine Diskussion zu den Änderungen von register_meta()
in 4.6. Augenmerk lag darauf, dass Objekt-Untertypen bei der Registrierung eines Meta-Keys angegeben werden, und das im Trunk bisher in einem dritten Argument von register_meta()
gemacht wird. Entscheidung in dem Meeting war, den Untertyp mit einer CURIE-ähnlichen Syntax zu registrieren (Code aus Diskussions-Ankündigungsbeitrag von Jeremy Felt):
register_meta( 'post:books', 'isbn', $args );
Code-Sprache: PHP (php)
In der aktuellen Trunk-Version hätte das so ausgesehen:
register_meta( 'post', 'isbn', array( 'object_subtype' => 'books', 'sanitize_callback' => 'my_sanitize_callback' ) );
Code-Sprache: PHP (php)
Infos zu damit einhergehenden weiteren Änderungen gibt es im Recap von Jeremy auf Make/Core.
Verschiedenes
Polyglots
Polyglots-Meeting
Im Meeting ging es unter anderem darum, wie mit Core-String-Problemen umgegangen werden soll. Ein Vorschlag war, möglichst synchron mit dem Core-Team zu arbeiten und Probleme bereits während der Alpha-Phase zu melden. Idealerweise sollten String-Probleme aber spätestens vor dem String-Freeze gemeldet werden.
Mehr zu dem Meeting gibts in den Notizen von Bego Mario Garde auf Make/Polyglots.
Docs
Docs-Meeting
Bei HelpHub geht der Prozess weiter, so wurde unter anderem der Custom-Post-Type für WordPress-Versionsartikel erstellt und zu wphelphub.com hinzugefügt. Weitere Infos im Post von Jon Ang auf Make/Docs.
Themes
Theme-Review-Team-Meeting
Im Meeting des Theme-Review-Teams wurden hauptsächlich Punkte besprochen, die den in der letzten Woche veröffentlichten Aktionsplan betreffen. So wurden für die verschiedenen Bereiche Leads gefunden und teilweise Deadlines gesetzt. Näheres im Beitrag von Ulrich Pogson auf Make/Themes.
Plugins
Plugin-Richtlinien
Aktuell werden die Plugin-Richtlinien komplett überarbeitet, um sie verständlicher und klarer zu machen. Bis Ende Juli soll ein „Beta“-Release dieser Seite geben, und bis spätestens Ende August zur öffentlichen Diskussion bereitstehen. Nähere Infos dazu findet ihr im Beitrag von Mika Epstein auf Make/Docs.
Bekannte Probleme mit Pre-Commit zum Plugin-SVN
Vor ein paar Wochen wurde der PHP-„lint“-Teil des SVN-Pre-Commit-Checks von PHP 5.4 auf PHP 7.0 geändert. PHP 7 meldet dabei einige Sachen, die schon in älteren Versionen nicht erlaubt beziehungsweise falsch waren, aber nicht gemeldet wurden. Samuel Wood empfiehlt, den Code vor dem Upload mit PHP 7 zu testen. Wie das geht und weitere Informationen zum Thema gibt es in seinem Beitrag auf Make/Plugins.
Meta
Forum-Design-Research
Im Rahmen der geplanten Verbesserungen der Support-Foren auf WordPress.org könnte auch das Design angefasst werden. Mark Uraine hat sich Designs von Support-Foren angeschaut, sowohl welche, die auf bbPress basieren, als auch andere, und fragt in seinem Beitrag auf Make/Meta nach Feedback, welches Design warum favorisiert wird.
Plugin-Verzeichnis v3
Unter wordpress.org/plugins-wp/ kann die dritte Beta-Version des neuen Plugin-Verzeichnisses angeschaut werden. Das Design ist noch nicht fertig, und generelles Feedback könnt ihr in dem Beitrag von Konstantin Obenland auf Make/Meta als Kommentar schreiben.
Update zu den Foren-Upgrades
Die Support-Foren sollen auf bbPress 2 gebracht werden, was aber nicht mal so eben gemacht ist. Jennifer M. Dodd hat auf Make/Meta ein Update dazu gepostet, so wurden (bereits während der letzten zwölf Monate) Plugins umgeschrieben, damit sie mit bbPress 2 arbeiten. Zudem hat Jennifer ein bbPress-1-Plugin geschrieben, um Requests von den alten Foren unter *.forums.wordpress.org auf die neuen Foren unter *.wordpress.org/support weiterzuleiten.
Einige weitere Infos zum aktuellen Stand findet ihr in dem verlinkten Beitrag.