Documentation: Bricks Hooks

I was looking and didn’t find a central place that has all the various hooks within Bricks so I decided to sift through the code and document them as of 1.9.4. @timmse - should probably go on the Academy.

WooCommerce

  • woocommerce_after_cart_item_name
  • woocommerce_product_meta_start
  • woocommerce_product_meta_end
  • woocommerce_login_form_start
  • woocommerce_login_form
  • woocommerce_login_form_end
  • woocommerce_register_form_tag
  • woocommerce_register_form_start
  • woocommerce_register_form
  • woocommerce_register_form_end
  • woocommerce_before_cart_collaterals
  • woocommerce_cart_collaterals
  • woocommerce_cart_coupon
  • woocommerce_before_cart_table
  • woocommerce_before_cart_contents
  • woocommerce_cart_contents
  • woocommerce_cart_actions
  • woocommerce_after_cart_contents
  • woocommerce_after_cart_table
  • woocommerce_checkout_before_customer_details
  • woocommerce_checkout_billing
  • woocommerce_checkout_shipping
  • woocommerce_checkout_after_customer_details
  • woocommerce_pay_order_before_submit
  • woocommerce_pay_order_after_submit
  • woocommerce_checkout_before_order_review_heading
  • woocommerce_checkout_before_order_review
  • woocommerce_checkout_order_review
  • woocommerce_checkout_after_order_review
  • woocommerce_order_item_meta_start
  • woocommerce_order_item_meta_end
  • woocommerce_before_thankyou
  • woocommerce_thankyou_ (dynamic based on the payment method)
  • woocommerce_no_products_found
  • woocommerce_check_cart_items
  • woocommerce_ajax_added_to_cart
  • woocommerce_cart_is_empty
  • woocommerce_before_cart
  • woocommerce_after_cart
  • woocommerce_before_checkout_form
  • woocommerce_after_checkout_form
  • woocommerce_pay_order_before_payment
  • woocommerce_receipt_ (dynamic based on the payment method)
  • woocommerce_archive_description
  • woocommerce_before_shop_loop
  • woocommerce_shop_loop
  • woocommerce_after_shop_loop
  • woocommerce_before_main_content
  • woocommerce_after_main_content

Bricks Builder

  • bricks/dynamic_data/before_do_action
  • bricks/dynamic_data/after_do_action
  • bricks/form/custom_action
  • bricks/frontend/before_render_data
  • bricks/frontend/after_render_data
  • bricks/query/before_loop
  • bricks/query/after_loop
  • bricks/archive_product/before
  • bricks/archive_product/after
  • bricks_before_footer
  • bricks_after_footer
  • bricks_after_site_wrapper
  • bricks_meta_tags
  • bricks_body
  • bricks_before_site_wrapper
  • bricks_before_header
  • bricks_after_header

WPML (WordPress Multilingual Plugin)

  • wpml_add_language_selector
  • wpml_register_string

Other Plugins

  • cmb2_admin_init
  • bricks_sendgrid_double_opt_in_handler
  • litespeed_disable_all
  • render_footer
  • render_header
17 Likes

thanks, that’s helpful!

Its all hooks or exist other?

Thanks for compiling the list :slight_smile: Yes, documenting these hooks in the academy is on our to-do list as we work on overhauling & improving the entire Academy website.

3 Likes

Is this possible to add something like this hook?
bricks_after_main_html_tag_begin

When you say after main you mean inside of the main tag but as first element, and if so why not using a template for that? or you mean after main but before footer becasue there is bricks_before_footer hook

Asked AI to generate a description to your wonderful list:

  • woocommerce_after_cart_item_name: Executes after the cart item name.
  • woocommerce_product_meta_start: Executes before the product meta section on the single product page.
  • woocommerce_product_meta_end: Executes after the product meta section on the single product page.
  • woocommerce_login_form_start: Executes at the start of the login form.
  • woocommerce_login_form: Executes inside the login form, before the submit button.
  • woocommerce_login_form_end: Executes at the end of the login form.
  • woocommerce_register_form_tag: Modifies the HTML tag of the registration form.
  • woocommerce_register_form_start: Executes at the start of the registration form.
  • woocommerce_register_form: Executes inside the registration form, before the submit button.
  • woocommerce_register_form_end: Executes at the end of the registration form.
  • woocommerce_before_cart_collaterals: Executes before the cart collaterals section.
  • woocommerce_cart_collaterals: Executes inside the cart collaterals section.
  • woocommerce_cart_coupon: Executes in the cart coupon section.
  • woocommerce_before_cart_table: Executes before the cart items table.
  • woocommerce_before_cart_contents: Executes before the cart contents table.
  • woocommerce_cart_contents: Executes inside the cart contents table.
  • woocommerce_cart_actions: Executes in the cart actions section (update/apply coupons buttons).
  • woocommerce_after_cart_contents: Executes after the cart contents table.
  • woocommerce_after_cart_table: Executes after the cart items table.
  • woocommerce_checkout_before_customer_details: Executes before the customer details section on the checkout page.
  • woocommerce_checkout_billing: Executes in the billing section on the checkout page.
  • woocommerce_checkout_shipping: Executes in the shipping section on the checkout page.
  • woocommerce_checkout_after_customer_details: Executes after the customer details section on the checkout page.
  • woocommerce_pay_order_before_submit: Executes before the submit button on the pay order page.
  • woocommerce_pay_order_after_submit: Executes after the submit button on the pay order page.
  • woocommerce_checkout_before_order_review_heading: Executes before the order review heading on the checkout page.
  • woocommerce_checkout_before_order_review: Executes before the order review section on the checkout page.
  • woocommerce_checkout_order_review: Executes in the order review section on the checkout page.
  • woocommerce_checkout_after_order_review: Executes after the order review section on the checkout page.
  • woocommerce_order_item_meta_start: Executes at the start of the order item meta section.
  • woocommerce_order_item_meta_end: Executes at the end of the order item meta section.
  • woocommerce_before_thankyou: Executes before the thank you page.
  • woocommerce_thankyou_ (dynamic based on the payment method): Executes on the thank you page, based on the payment method used.
  • woocommerce_no_products_found: Executes when no products are found in search/archive.
  • woocommerce_check_cart_items: Executes during the cart items check.
  • woocommerce_ajax_added_to_cart: Executes after an item is added to the cart via AJAX.
  • woocommerce_cart_is_empty: Executes when the cart is empty.
  • woocommerce_before_cart: Executes before the cart page.
  • woocommerce_after_cart: Executes after the cart page.
  • woocommerce_before_checkout_form: Executes before the checkout form.
  • woocommerce_after_checkout_form: Executes after the checkout form.
  • woocommerce_pay_order_before_payment: Executes before the payment section on the pay order page.
  • woocommerce_receipt_ (dynamic based on the payment method): Executes on the receipt page, based on the payment method used.
  • woocommerce_archive_description: Executes in the archive (category/tag) description section.
  • woocommerce_before_shop_loop: Executes before the shop loop (product listing).
  • woocommerce_shop_loop: Executes during the shop loop (product listing).
  • woocommerce_after_shop_loop: Executes after the shop loop (product listing).
  • woocommerce_before_main_content: Executes before the main content in the shop.
  • woocommerce_after_main_content: Executes after the main content in the shop.
  • bricks/dynamic_data/before_do_action: Executes before dynamic data action in Bricks Builder.
  • bricks/dynamic_data/after_do_action: Executes after dynamic data action in Bricks Builder.
  • bricks/form/custom_action: Executes a custom action on form submission in Bricks Builder.
  • bricks/frontend/before_render_data: Executes before rendering data on the frontend in Bricks Builder.
  • bricks/frontend/after_render_data: Executes after rendering data on the frontend in Bricks Builder.
  • bricks/query/before_loop: Executes before the query loop in Bricks Builder.
  • bricks/query/after_loop: Executes after the query loop in Bricks Builder.
  • bricks/archive_product/before: Executes before the product in the archive in Bricks Builder.
  • bricks/archive_product/after: Executes after the product in the archive in Bricks Builder.
  • bricks_before_footer: Executes before the footer in Bricks Builder.
  • bricks_after_footer: Executes after the footer in Bricks Builder.
  • bricks_after_site_wrapper: Executes after the site wrapper in Bricks Builder.
  • bricks_meta_tags: Executes in the meta tags section in Bricks Builder.
  • bricks_body: Executes in the body section in Bricks Builder.
  • bricks_before_site_wrapper: Executes before the site wrapper in Bricks Builder.
  • bricks_before_header: Executes before the header in Bricks Builder.
  • bricks_after_header: Executes after the header in Bricks Builder.
  • wpml_add_language_selector: Adds a language selector with WPML.
  • wpml_register_string: Registers a string for translation with WPML.
  • cmb2_admin_init: Initializes CMB2 in the WordPress admin.
  • bricks_sendgrid_double_opt_in_handler: Handles double opt-in with SendGrid in Bricks Builder.
  • litespeed_disable_all: Disables all optimizations in LiteSpeed Cache.
  • render_footer: Renders the footer.
  • render_header: Renders the header.
3 Likes

Excellent use of AI. That’s fabulous! =)

Hi there, did you find a way to hook into ‘main’ I came across a need today and have been digging for a way to do it.

My use case is I have a couple of different hero sections, one needs to display on specific pages and one needs to display on specific cpts and each displays the ‘Hook: Name’ field to hook into.

If I hook into the bricks_after_header, then it places the hero section between and like the screenshot shows.

Hey @SoloAnt,

isn’t bricks/content/html_after_begin what you’re looking for?

Available since version 1.6, this filter allows you to customize or insert HTML strings after main tag, before rendering bricks data.

Best,

André

Missing before/after loop item render to dynamically add HTML with some PHP code. E.g. for calendar month dividers.

I am missing this hook from my bricks…

  • bricks/form/custom_action: Executes a custom action on form submission in Bricks Builder.

Hi @aslotta I’ll give it a try, I don’t believe I saw this one. Thank you for sharing.:+1:

This is great thanks, 100% needs to be in the academy as a reference guide.