Advanced Customer Reports

How can we help?

Search the documentation or ask the AI agent anything about the plugin.

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.

Related

Was this article helpful?