1

wordpress 中的过滤器和钩子有什么区别。

如何在子主题中使用以下过滤器?

<?php
foreach ( $results as $result ) {
// external plugins can modify or disable field
$result = apply_filters( 'cp_package_field', $result, 'ad' );
if ( ! $result )
continue;
?>

如何在子主题中使用以下钩子?

/**
* called in cp_add_new_listing() to hook into inserting new ad process
*
* @since 3.2.1
* @param int $post_id
*
*/
function cp_action_add_new_listing( $post_id ) {
do_action( 'cp_action_add_new_listing', $post_id );
}
4

2 回答 2

0

要在您的子主题中使用钩子,您可能需要在子主题的functions.php文件中包含以下代码:

/**
 * Our callback function to the hook
 * @param  int $post_id id of the post
 * @return void
 */
function my_child_theme_new_listing_cb( $post_id ) {
    if($post_id == 10) { //Or whatever you want
        echo 'Hello World';
    }
    //We do not have the responsibility to return something as it is a hook
}

add_action( 'cp_action_add_new_listing', 'my_child_theme_new_listing_cb', 10, 1 );

希望能帮助到你。

于 2013-09-07T09:10:08.330 回答
0

对于您问题的第一部分,这是我不久前发现的一个解释的链接,该解释非常全面,它帮助我理解了差异。

https://wordpress.stackexchange.com/questions/1007/difference-between-filter-and-action-hooks

于 2013-09-03T02:24:27.913 回答