Action hooks reference
Updated September 15, 2026
The plugin fires a small number of action hooks that let you add your own content to the reports screen or respond to activity being recorded.
acreports_show_customer_list
Fires inside the report results area on the Customer Reports screen, before any report has been generated. This is where the built-in customers list is rendered.
Hook here to add your own panel above or below the customers list. Anything you output is replaced as soon as a report is generated, since the report takes over that area.
add_action( 'acreports_show_customer_list', function() {
echo '<p>Your own panel here.</p>';
}, 5 );
acreports_settings
Fires inside the settings tab on the reports screen and renders the settings form. Hook here to append your own settings output.
add_action( 'acreports_settings', function() {
echo '<p>Extra settings notes.</p>';
}, 20 );
acreports_show_acreports_activity
Fires inside the Activity tab of a customer report, and is passed the WP_User object for the customer. This is how the Pro activity log renders itself, so the tab is empty in the free version.
add_action( 'acreports_show_acreports_activity', function( $user ) {
// $user is a WP_User object.
echo esc_html( $user->user_login );
}, 20 );
The tab is not rendered at all for guest customers, since there is no user object to pass.
acreports_check_activity (Pro)
Fires after each activity log entry is written, passing the user ID. The plugin uses it to trim the log down to the Activity Per User limit.
add_action( 'acreports_check_activity', function( $user_id ) {
// Runs after an activity entry is recorded.
}, 20 );
A note on adding activity types
There is no public API for registering a new activity type. Entries are written straight into the activity table with a type string, and the Activity tab only renders the types it knows about, so a custom type will be stored but not displayed. If you need custom events on the report, render them through acreports_show_acreports_activity instead.


