Skip to content

Hooks and Filters

webtriad_awl_before_wishlist_table

Fires before the wishlist table is rendered.

do_action('webtriad_awl_before_wishlist_table', int $wishlist_id);

Parameters:

  • $wishlist_id (int) - The wishlist ID

Example:

add_action('webtriad_awl_before_wishlist_table', function($wishlist_id) {
echo '<div class="custom-message">Your wishlist:</div>';
}, 10, 1);

webtriad_awl_after_wishlist_table

Fires after the wishlist table is rendered.

do_action('webtriad_awl_after_wishlist_table', int $wishlist_id);

Parameters:

  • $wishlist_id (int) - The wishlist ID

webtriad_awl_before_wishlist_row

Fires before a wishlist item row is rendered.

do_action('webtriad_awl_before_wishlist_row', array $item, WC_Product $product);

Parameters:

  • $item (array) - Wishlist item data
  • $product (WC_Product) - Product object

webtriad_awl_after_wishlist_row

Fires after a wishlist item row is rendered.

do_action('webtriad_awl_after_wishlist_row', array $item, WC_Product $product);

Parameters:

  • $item (array) - Wishlist item data
  • $product (WC_Product) - Product object

webtriad_awl_wishlist_row_html

Filter the HTML output for a wishlist item row.

apply_filters('webtriad_awl_wishlist_row_html', string $html, array $item, WC_Product $product);

Parameters:

  • $html (string) - The row HTML
  • $item (array) - Wishlist item data
  • $product (WC_Product) - Product object

Example:

add_filter('webtriad_awl_wishlist_row_html', function($html, $item, $product) {
// Add custom class to row
return str_replace('<tr class="', '<tr class="custom-class ', $html);
}, 10, 3);

webtriad_awl_button_html

Filter the wishlist button HTML.

apply_filters('webtriad_awl_button_html', string $html, int $product_id, int $variation_id);

Parameters:

  • $html (string) - Button HTML
  • $product_id (int) - Product ID
  • $variation_id (int) - Variation ID

Example:

add_filter('webtriad_awl_button_html', function($html, $product_id, $variation_id) {
// Wrap button in custom div
return '<div class="custom-wrapper">' . $html . '</div>';
}, 10, 3);

webtriad_awl_product_page_position

Filter the button position on product pages.

apply_filters('webtriad_awl_product_page_position', string $position);

Parameters:

  • $position (string) - Position: below_add_to_cart, above_add_to_cart, after_summary

Example:

add_filter('webtriad_awl_product_page_position', function($position) {
return 'above_add_to_cart';
});

webtriad_awl_loop_position

Filter the button position on shop/loop pages.

apply_filters('webtriad_awl_loop_position', string $position);

Parameters:

  • $position (string) - Position: overlay_on_image, below_title, after_add_to_cart

webtriad_awl_default_settings

Filter default settings.

apply_filters('webtriad_awl_default_settings', array $defaults);

Parameters:

  • $defaults (array) - Default settings array

Example:

add_filter('webtriad_awl_default_settings', function($defaults) {
$defaults['wishlist_display']['items_per_page'] = 20;
return $defaults;
});

webtriad_awl_settings

Filter retrieved settings.

apply_filters('webtriad_awl_settings', array $settings);

Parameters:

  • $settings (array) - Settings array

webtriad_awl_product_data

Filter product data before sending to frontend.

apply_filters('webtriad_awl_product_data', array $data, WC_Product $product);

Parameters:

  • $data (array) - Product data array
  • $product (WC_Product) - Product object

Example:

add_filter('webtriad_awl_product_data', function($data, $product) {
$data['custom_field'] = get_post_meta($product->get_id(), '_custom', true);
return $data;
}, 10, 2);

Default priorities for automatic button placement:

HookPriorityDescription
woocommerce_after_add_to_cart_button10Product page button
woocommerce_before_shop_loop_item10Loop overlay button
woocommerce_after_shop_loop_item_title15Loop below title
woocommerce_after_shop_loop_item10Loop after cart
[
'id' => 1,
'wishlist_id' => 1,
'product_id' => 123,
'variation_id' => 0,
'quantity' => 1,
'attributes' => [],
'added_at' => '2024-01-01 12:00:00'
]
[
'id' => 123,
'name' => 'Product Name',
'price' => '$19.99',
'price_html' => '<span class="price">$19.99</span>',
'image' => 'https://...',
'url' => 'https://...',
'stock_status' => 'instock',
'is_purchasable' => true,
'is_in_stock' => true
]