WordPress hat viele Filter, wo sich Entwickler einklinken können. Durch einen Filter ist es möglich, bestimmte Daten vor der Ausgabe zu filtern.
Manchmal ist es dann interessant zu wissen, welche Funktion welchen Ausgabe filtert.Dafür habe ich mir folgende Funktion geschrieben, welche jeder gerne benutzen und weiter entwickeln darf.
<?php/** * Debug WordPress filters. * * Use add_action( 'shutdown', 'ds_debug_filters' ) to display all used * filters with the functions hooked into the filter. * * @author Dominik Schilling * @license GPLv2 * @link https://dominikschilling.de/262/ * * @version 0.1.1 * * Changelog: * Version 0.1.1 - Fixed string for more then 1 accepted arguments. * */functionds_debug_filters($custom_tags=array()){// $wp_filter Stores all of the filtersglobal$wp_filter;if(empty($wp_filter))returnfalse;// Check if custom tags are definedif(!empty($custom_tags)){// Check if custom tags are available$tags=array_intersect(array_keys($wp_filter),(array)$custom_tags);if(empty($tags))returnfalse;// Fill custom tagsforeach($tagsas$tag)$_wp_filter[$tag]=$wp_filter[$tag];}else{// Use default tags$_wp_filter=$wp_filter;}echo'<pre id="wp-debug-filters">';// Uncomment, if you want to sort by name of the filter hooks// ksort( $_wp_filter );foreach($_wp_filteras$tag=>$data){// Print tag nameprintf('<br /><strong>%s</strong><br />',esc_html($tag));// Sort by priorityksort($data);foreach($dataas$priority=>$functions){// Print priority onceprintf('%s',$priority);// Go through each functionforeach($functionsas$function){$_function=$function['function'];$_args=$function['accepted_args'];// Check function typeif(is_array($_function)){// Object class callingif(is_object($_function[0]))$class=get_class($_function[0]);else$class=$_function[0];$name=$class.'::'.$_function[1];}else{// Static calling$name=$_function;}// Print function name and number of accepted argumentsprintf("t%s() (%s)<br />",esc_html($name),sprintf(_n('1 accepted argument','%s accepted arguments',$_args),$_args));}}}echo'</pre>';}
Heute Nacht wurde die erste Beta der neuen WordPress Version veröffentlicht.
Features almost done…
3.3 at Beta 1.
Test it now — have fun!
Seit gestern hatte ich eine Demo Version schon zur Verfügung gestellt. Jetzt kann jeder sich selbst eine WordPress 3.3 Installation anlegen.
Dazu einfach das Paket wordpress-3.3-beta1.zip herunterladen und in einer Testumgebung installieren.
Ryan legt uns zu Herzen, dass dies noch kein Endrelease ist, also nicht für den Live-Betrieb gedacht ist.
Mit der kommenden Version von WordPress wird man sich von den zwei Feed-Arten RSS 0.92 und RDF (RSS 1.0) verabschieden.
Änderung bei der Funktion get_default_feed()
RSS 0.92 hatte unter anderem den Nachteil, dass der Feed nur ein Kurzfassung des Artikels darstellen konnte, egal welche Einstellung getätigt war.
Beide Arten sind mittlerweile von RSS 2.0 bzw dem Atom Feed überholt worden.
Dementsprechend werden in WordPress 3.3 die alten Feeds zum RSS 2.0 Feed weitergeleitet.
Die Umsetzung hat 4 Jahre gedauert und kann in diesem Ticket nachgelesen werden.
Nachtrag: Auf Wunsch von Matt wurde der RDF Feed noch nicht deaktiviert. Er kann somit weitergenutzt werden.
Jetzt heißt es nochmal testen, testen, testen, damit WordPress 3.3 pünktlich veröffentlicht werden kann. Derzeit wird der 29. November 2011 angepeilt. Ich tippe aber eher auf Anfang Dezember, der 6. Dezember wäre doch ein gutes Datum…
Wie auch schon für die vorherigen Versionen biete ich unter demo.wphelper.de entweder die aktuelle oder die zukünftige WordPress Version an.
Seit dem Wochenende ist es die kommende Version 3.3.
Wer jetzt schon einen Blick auf WordPress 3.3 werfen möchte kann dies gerne machen.