Browser: Chrome 110
OS: macOS / Windows / Linux / etc.
Environment: Bricks 2.4‑beta2, WooCommerce, Account v2 elements.
Hi,
The documented way to allow a function for {echo:…} is an array filter:
add_filter('bricks/code/echo_function_names', function($f){ $f[] = 'my_func'; return $f; });
This throws a fatal: Uncaught Error: [] operator not supported for strings.
Cause: in themes/bricks/includes/integrations/dynamic-data/providers/provider-wp.php:1446, Provider_Wp::get_echo_callback_value() applies the filter with a single function‑name string rather than the expected array:
#2 provider-wp.php(1446): apply_filters('bricks/code/echo_function_names', 'my_func')
#3 provider-wp.php(1073): Provider_Wp->get_echo_callback_value(Array, 'text', WP_Post)
So a callback that does $f[] = … (as the docs show) crashes because $f is a string here.
Repro: register the filter as documented, put an {echo:my_func} tag on any element (mine was inside WooCommerce Account v2 → View‑order state), view the page > fatal.
Expected: the filter should always receive the allowlist array, or the docs should reflect the new per‑name signature.
Secondary (maybe related): {woo_order_again_url} returns empty inside the Account v2 > View‑order state for a completed order, viewed as the logged‑in customer, on the view‑order endpoint (not order‑received) while {woo_order_number}, {woo_order_status}, {woo_order_total} all resolve fine in the same state. So an “order again” button gated on that tag never appears in the v2 account.