Advanced Customer Reports

How can we help?

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

Action hooks reference

Advanced Customer ReportsUpdated 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?