Hooks
This section outlines the WordPress hooks utilised by the Afterpay WooCommerce integration.
Product Eligibility
The Afterpay plugin runs a series of checks to determine whether Afterpay should be an available payment option for each individual product. Third-party plugins can exclude Afterpay from products that would otherwise be considered supported. This can be done by attaching to the following filter hook:
afterpay_is_product_supported
Example:
/**
* @param bool $bool_result
* @param WC_Product $product
*/
function afterpay_ips_callback( $bool_result, $product ) {
# My custom products don't support Afterpay.
if ($product->get_type() == 'my-custom-product-type') {
$bool_result = false;
}
return $bool_result;
}
add_filter( 'afterpay_is_product_supported', 'afterpay_ips_callback', 10, 2 );
Display on Individual Product Pages
Third-party plugins can also filter the HTML content rendered on individual product pages using the following filter hook:
afterpay_html_on_individual_product_pages
*Note: This is intended for altering the HTML based on custom, varying criteria.
For setting the default HTML, use the admin interface under:
"WooCommerce > Settings > Checkout > Afterpay".
For hiding the HTML for a subset of products, consider using the following filter hook: afterpay_is_product_supported
Example:
/**
* @param string $str_html
* @param WC_Product $product
* @param float $price
*/
function afterpay_hoipp_callback( $str_html, $product, $price ) {
# Show a different message for products below a custom threshold.
# Note that this will only be called if the product price is within
# the payment limits defined at the account level.
if ($price < 10.00) {
$str_html = "<p>Shop Now, Pay Later with Afterpay. Supported for orders over $10.00</p>";
}
return $str_html;
}
add_filter( 'afterpay_html_on_individual_product_pages', 'afterpay_hoipp_callback', 10, 3 );
Display on Category Pages and Search Results
To filter the HTML content rendered on category pages and search results, use the following filter hook:
afterpay_html_on_product_thumbnails
*Note: This is intended for altering the HTML based on custom, varying criteria.
For setting the default HTML, use the admin interface under:
"WooCommerce > Settings > Checkout > Afterpay".
For hiding the HTML for a subset of products, consider using the following filter hook: afterpay_is_product_supported
Display on the Cart Page
To filter the HTML content rendered on the cart page, use the following filter hook: afterpay_html_on_cart_page
Display at the Checkout
To filter the HTML content rendered at the checkout, use the following filter hook: afterpay_html_at_checkout
Customising Hooks & Priorities
As discussed in the section entitled "Theme Support" above, various WooCommerce hooks are assumed to be implemented by the active WordPress theme. Afterpay methods can be detached from their default hooks and reattached to different hooks, or to the same hooks with different priorities.
Since version 2.1.0, hooks and priorities can be customised from within the plugin settings page.

Updated over 3 years ago