Przeglądając fragmenty / samouczki / wtyczki WordPress często widzę add_action()
i add_filter()
umieszczam je przed zadeklarowaniem funkcji:
add_action( 'publish_post', 'email_friends' );
function email_friends( $post_ID ) {
$friends = 'bob@example.org, susie@example.org';
mail( $friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com' );
return $post_ID;
}
Z logicznego punktu widzenia nie ma to dla mnie sensu. Dlaczego miałbyś umieszczać funkcję po jej wywołaniu w kodzie? Tak zazwyczaj radziłbym sobie z tą samą sytuacją:
function email_friends( $post_ID ) {
$friends = 'bob@example.org, susie@example.org';
mail( $friends, "sally's blog updated" , 'I just put something on my blog: http://blog.example.com' );
return $post_ID;
}
add_action( 'publish_post', 'email_friends' );
Wiem, że oba scenariusze działają, ale czy jest jakaś konkretna zaleta dla jednego lub drugiego? Około 90% czasu widzę, że pierwszy scenariusz jest używany, więc to prowadzi mnie do przekonania, że jest to w jakiś sposób korzystne.