>本文探讨了WordPress挂钩和过滤器,可自定义插件和主题的强大工具。 开发人员可以使用这些来在WordPress操作中的特定点添加自定义功能。
>
密钥概念:
remove_action
>
基于类的钩子:remove_action
>
>删除标准挂钩:
remove_action
$tag
$function_to_remove
$priority
>。do_action
>
add_action
可以删除通过显示的WooCommerce的面包杆吧
do_action( 'woocommerce_before_main_content' );
>在类中删除钩子:
<code class="language-php">remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);</code>>
>在类中删除钩子更为复杂。 类变量必须传递给>:>
<code class="language-php">remove_action('woocommerce_before_main_content', 'woocommerce_breadcrumb', 20);</code>
定位类对象至关重要。 对于Singleton课程,请使用MyClass::getInstance()
之类的方法。 否则,请尝试在全球范围内访问它(例如global $myClassObject
)。 检查元素并追溯到其关联功能可以帮助识别钩子和功能。
>示例:WooCommerce电子邮件
> WooCommerce中的课程处理电子邮件生成。 从电子邮件中删除客户详细信息:WC_Emails
<code class="language-php">remove_action('hook_name', array($myclass, 'my_function_remove'), 10);</code>
>示例:自定义类挂钩删除
此示例演示了以子为主题处理的父主题中的自定义类中删除钩子:
<code class="language-php">function remove_customer_email_details($instance) { remove_action('woocommerce_email_customer_details', array( $instance, 'customer_details'), 10); } add_action('woocommerce_email', 'remove_customer_email_details');</code>
当此技术失败时
如果类对象无法访问,请考虑:
切换到替代插件/主题。
(为了简洁而省略了其余的常见问题部分,因为它是文章中已经涵盖的信息的重复。
以上是深入挖掘WordPress钩和过滤器的详细内容。更多信息请关注PHP中文网其他相关文章!