Description
This filter allows you to programmatically exclude specific posts or pages from the Accessibility Checker Pro full site scan. Any post IDs you return will be skipped entirely. They will not be scanned and will not appear in the scan progress counts during a full site scan.
This is useful when certain pages are problematic for the scanner. Common use cases include:
- Pages which trigger a logout when visited.
- Very large or complex pages that reliably timeout the scanner and need to be temporarily excluded.
Note: This filter only affects the full site scan. Scanning an individual post or page from the editor is not affected. Excluded posts can still be scanned individually at any time.
This filter requires Accessibility Checker Pro with a valid license.
Usage
add_filter( 'edacp_excluded_post_ids', 'my_excluded_post_ids' );
The edacp_excluded_post_ids filter passes the current array of excluded post IDs. You add any IDs you want to exclude and return the updated array. The exclusions are applied as the full scan post list is assembled and the counts for showing on the page are computed.
When this filter returns a non-empty array, the Full Site Scan page will display a notice in the pre-scan summary listing how many posts are excluded and which IDs, along with the filter name — making it transparent to anyone reviewing the scan that not all content is being checked.

Parameters
| Parameter | Type | Description |
|---|---|---|
$excluded_ids | int[] | Array of post IDs to exclude from the full site scan. Default is an empty array. |
Examples
Exclude posts by ID directly
The simplest usage — pass one or more known post IDs to exclude:
add_filter( 'edacp_excluded_post_ids', function( $excluded_ids ) {
return array_merge( $excluded_ids, [ 42, 101, 207 ] );
} );
Exclude a page by slug
Use get_page_by_path() to look up a page dynamically when you don’t want to hardcode the post ID:
add_filter( 'edacp_excluded_post_ids', function( $excluded_ids ) {
$page = get_page_by_path( 'thank-you' );
if ( $page ) {
$excluded_ids[] = $page->ID;
}
return $excluded_ids;
} );
Exclude posts with a specific custom field
This example queries for any post with the _skip_accessibility_scan meta field set to 1 and excludes all of them. This allows content editors or other plugins to flag individual posts for exclusion without requiring code changes each time:
add_filter( 'edacp_excluded_post_ids', function( $excluded_ids ) {
$query = new WP_Query( [
'fields' => 'ids',
'post_type' => 'any',
'meta_key' => '_skip_accessibility_scan',
'meta_value' => '1',
'posts_per_page' => -1,
'no_found_rows' => true,
] );
return array_merge( $excluded_ids, $query->posts );
} );
Advanced: Full Control Over the Scan List
If you need to do more than exclude specific IDs the edacp_post_ids_to_scan filter gives you the complete array of post IDs after the list is built. For example, filtering by post type or replacing the scan list entirely.
The list of IDs passed to this filter could be very large and already an expensive set of queries to produce, so bear that in mind when filtering this list.
You can add, remove, or replace entries freely before scanning begins:
add_filter( 'edacp_post_ids_to_scan', function( $ids ) {
return array_filter( $ids, function( $id ) {
return get_post_type( $id ) !== 'landing_page';
} );
} );
Since
This filter was added in Accessibility Checker Pro 1.21.0.
Source Code
This filter is located in edacp_get_post_ids_to_scan() in /accessibility-checker-pro.php.