Úprava fungování WP_Hook ve WordPress 4.7 - Affinite.io CZ

WP_Hook znají všichni, kteří někdy použili funkce add_action, nebo add_filter. A v jeho fungování dojde ve WordPress 4.7 ke změně.

Přestože to zní dramaticky, 90% pluginů a šablon budou fungovat dál, bez jakékoliv změny.

Co přesně se tedy změní?

Jednoduše řečeno globální proměnná $wp_filter již nadále nebude pole, ale objekt.

To v praxi ovlivní pouze ty developery, kteří místo add_action a add_filter, přistupuji k WP_Hook přes $wp_filter.

Příklad:

$wp_filter['save_post'][10]['my_special_key'] = array( 'function' => 'my_callback_function', 'accepted_args' => 2 );

Tento zápis je ekvivalentní k add_action( ‚save_post‘, ‚my_callback_function‘, 2, 10 );

Použití takovým způsobem bude vracet false. Pokud však z nějakého důvodu budete chtít obejít add_action, musíte vytvořit nový object:

$wp_filter['save_post'] = new WP_Hook();

Následně do objectu přidat callback funkci.

Doplnění

V případě, že budete z nějakého důvodu potřebovat manipulovat přímo s $wp_filter, do WP_Hook budou implementovány ArrayAccessIteratorAggregate. Pomocí těchto rozhraní, budete schopni upravovat například priority callbacků.

Zdroj: https://make.wordpress.org/core/2016/09/08/wp_hook-next-generation-actions-and-filters/

Deaktivace page builderu v Divi šabloně
Deaktivace page builderu v Divi šabloně
16 Srp, 2016
Nová galerie produktu ve WooCommerce 2.7
Nová galerie produktu ve WooCommerce 2.7
10 Zář, 2016

Looking for something?