WP 4.4-alpha: taxonomy.php makes little babies ;-)

The taxonomy is the basis of categories, keywords (tags) and other rankings in WordPress (like language with xili-language trilogy). Since WP 2.3, all key components are found in the file wp-includes / taxonomy.php. WP 4.4 release announces a big change. The developer will seek information in 3 files:

including the new wp-term class that strengthens the previous object describing the terms methodically …

Added to this is the new term meta table that will be very useful to supplement the description of a tag, for example.

It is too early to draw conclusions but Xili-language will continue to take advantage of these new classes, functions and tables.

For now, Xili-language still works;-)

Justin Tadlock has published a comprehensive article for developers.

To still follow (closely) …

Multisite and custom taxonomy… quid ?

In multisite context and WordPress version 4.2.2, with this function in blog_id #3:

switch_to_blog( 2 );

have we really switched in blog_id #2 to fire a query (new WP_Query ( $query ) ;) including a custom taxonomy here (‘domain’) ?

In fact NO, because interpreting $query needs the taxonomy to be declared in blog_id #3 where this code is.
A workaround ?
The plugin registering this new taxonomy must not be ‘network activated’ but one by one in #2 and #3 and in properties of this taxonomy, define where the taxonomy must be visible (here #2)
'show_ui' => ($current_blog->blog_id == 2 ) ? true :false,

With this workaround, the deficiency of switch_to_blog( 2 ); is “fixed” and it now possible to display with a custom function (including complex query) in theme of website #3 a list of posts coming from #2.

How to include language in a query with xili-language ?

In the lines above, the WP_Query is called with query vars as in URI. Currently, the result is good because the request will be now transformed in an array of params (and taxonomy).

TIPS: But it is possible to give a better description with arrays passed as below (remember ‘language’ is a taxonomy since 6 years):

For more accurate query, it will be easier to introduce others parameters (taxonomy, custom fields (meta), sorting…)..

Reference in codex.