0 ) { return get_post_type( $post_id ) ?: null; } $normalised = trailingslashit( $url ); foreach ( AccessMate_Site_Scanner::get_eligible_cpts() as $cpt ) { if ( ! $cpt->has_archive ) { continue; } $archive_url = get_post_type_archive_link( $cpt->name ); if ( $archive_url && trailingslashit( $archive_url ) === $normalised ) { return $cpt->name; } } return null; } /** * Sanitize axe-core issue text (title/description) without stripping HTML tag names. * axe-core titles often reference element names literally, e.g. "