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 );
}
答案 0 :(得分:0)
对于你的问题的第一部分,这里是一个解释的链接,我发现前一段时间非常全面,它帮助我理解其中的差异。
https://wordpress.stackexchange.com/questions/1007/difference-between-filter-and-action-hooks
答案 1 :(得分: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 );
希望它有所帮助。