基本问题。有一个钩子我想改变,我不知道在哪里找到它。这是我正在使用的代码。具体的钩子是'bp_before_member_header_meta'
”
/**
* BuddyPress - Users Header
*
* @package BuddyPress
* @subpackage bp-default
*/
?>
<?php do_action( 'bp_before_member_header' ); ?>
<div id="item-header-content">
<div class="auther-part">
<div id="item-header-avatar">
<a href="<?php bp_displayed_user_link(); ?>">
<?php bp_displayed_user_avatar( 'type=full' ); ?>
</a>
</div><!-- #item-header-avatar -->
<div class="auther-sidebar">
<div id="item-meta">
<div id="item-buttons">
</div><!-- #item-buttons -->
<?php do_action( 'bp_before_member_header_meta' ); ?>
<?php do_action( 'bp_member_header_actions' ); ?>
答案 0 :(得分:1)
有一个名为$ wp_filter的全局数组,其中包含操作和过滤器的调用,因此如果查看$ wp_filter ['bp_before_member_header'],您将获得该操作的当前调用。
您还可以使用IDE或grep在代码中查找add_action的出现位置。这并不总是找到它们,因为名称有时是由代码构建的。今天我花了半个小时在Shopp寻找一个以这种方式建造的动作。
编辑: 动作过滤器世界的另一面可以在plugin.php函数do_action和apply_filters中找到。这是实际运行操作和过滤器的代码,因此如果您想知道运行过滤器的位置,可以查找对此的调用。它将过滤器名称作为参数,并按指定的顺序运行所有匹配的过滤器。看起来你已经知道它们在哪里了。
答案 1 :(得分:0)
如果您只想修改特定钩子输出的内容,您应该能够使用add_filter()
,并直接向该钩子添加过滤器。