{"id":3130,"date":"2016-09-08T05:27:20","date_gmt":"2016-09-08T05:27:20","guid":{"rendered":"http:\/\/musilda.cz\/?p=3130"},"modified":"2016-09-08T05:27:20","modified_gmt":"2016-09-08T05:27:20","slug":"uprava-fungovani-wp_hook-ve-wordpress-4-7","status":"publish","type":"post","link":"https:\/\/affinite.io\/cs\/uprava-fungovani-wp_hook-ve-wordpress-4-7\/","title":{"rendered":"\u00daprava fungov\u00e1n\u00ed WP_Hook ve WordPress 4.7"},"content":{"rendered":"
WP_Hook znaj\u00ed v\u0161ichni, kte\u0159\u00ed n\u011bkdy pou\u017eili funkce add_action, nebo add_filter. A v jeho fungov\u00e1n\u00ed dojde ve WordPress 4.7 ke zm\u011bn\u011b.<\/p>\n
P\u0159esto\u017ee to zn\u00ed dramaticky, 90% plugin\u016f a \u0161ablon budou fungovat d\u00e1l, bez jak\u00e9koliv zm\u011bny.<\/p>\n
Co p\u0159esn\u011b se tedy zm\u011bn\u00ed?<\/strong><\/p>\n Jednodu\u0161e \u0159e\u010deno glob\u00e1ln\u00ed prom\u011bnn\u00e1 $wp_filter ji\u017e nad\u00e1le nebude pole, ale objekt.<\/p>\n To v praxi ovlivn\u00ed pouze ty developery, kte\u0159\u00ed m\u00edsto add_action a add_filter, p\u0159istupuji k WP_Hook p\u0159es $wp_filter.<\/p>\n P\u0159\u00edklad:<\/strong><\/p>\n Tento z\u00e1pis je ekvivalentn\u00ed k add_action( ‚save_post‘, ‚my_callback_function‘, 2, 10 );<\/p>\n Pou\u017eit\u00ed takov\u00fdm zp\u016fsobem bude vracet false. Pokud v\u0161ak z n\u011bjak\u00e9ho d\u016fvodu budete cht\u00edt obej\u00edt add_action, mus\u00edte vytvo\u0159it nov\u00fd object:<\/p>\n N\u00e1sledn\u011b do objectu p\u0159idat callback funkci.<\/p>\n Dopln\u011bn\u00ed<\/strong><\/p>\n V p\u0159\u00edpad\u011b, \u017ee budete z n\u011bjak\u00e9ho d\u016fvodu pot\u0159ebovat manipulovat p\u0159\u00edmo s $wp_filter, do WP_Hook budou implementov\u00e1ny\u00a0ArrayAccess<\/a> a\u00a0IteratorAggregate<\/a>. Pomoc\u00ed t\u011bchto rozhran\u00ed, budete schopni upravovat nap\u0159\u00edklad priority callback\u016f.<\/p>\n Zdroj:\u00a0https:\/\/make.wordpress.org\/core\/2016\/09\/08\/wp_hook-next-generation-actions-and-filters\/<\/p>\n","protected":false},"excerpt":{"rendered":" WP_Hook znaj\u00ed v\u0161ichni, kte\u0159\u00ed n\u011bkdy pou\u017eili funkce add_action, nebo add_filter. A v jeho fungov\u00e1n\u00ed dojde ve WordPress 4.7 ke zm\u011bn\u011b. P\u0159esto\u017ee to zn\u00ed dramaticky, 90% plugin\u016f a \u0161ablon budou fungovat d\u00e1l, bez jak\u00e9koliv zm\u011bny. Co p\u0159esn\u011b se tedy zm\u011bn\u00ed? Jednodu\u0161e \u0159e\u010deno glob\u00e1ln\u00ed prom\u011bnn\u00e1 $wp_filter ji\u017e nad\u00e1le nebude pole, ale objekt. To v praxi ovlivn\u00ed pouze<\/p>\n","protected":false},"author":1,"featured_media":8624,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[30],"tags":[469,541],"class_list":["post-3130","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-wordpress-4-7","tag-wp_hook"],"_links":{"self":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/3130"}],"collection":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/comments?post=3130"}],"version-history":[{"count":0,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/posts\/3130\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media\/8624"}],"wp:attachment":[{"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/media?parent=3130"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/categories?post=3130"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/affinite.io\/cs\/wp-json\/wp\/v2\/tags?post=3130"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}$wp_filter<\/code>
[<\/code>
'save_post'<\/code>
][10][<\/code>
'my_special_key'<\/code>
] = <\/code>
array<\/code>
( <\/code>
'function'<\/code>
=> <\/code>
'my_callback_function'<\/code>
, <\/code>
'accepted_args'<\/code>
=> 2 );
\n<\/code><\/p>\n$wp_filter<\/code>
[<\/code>
'save_post'<\/code>
] = <\/code>
new<\/code>
WP_Hook();<\/code><\/p>\n