tools.php?page=lh-block-and-shortcode-auditor. Capability manage_options (filter lh_block_and_shortcode_auditor_return_site_capability), so each site’s administrators see their own site only.
lh_bsa_rescan): forces a full sweep, requests a registry capture and fires a loopback.&bsa_type=…&bsa_tag=…): every post or widget using one tag, with a view per status and Edit (core edit link, which also sends templates and template parts to the Site Editor), View (published, viewable items) and Rescan row actions. Rescan (nonce lh_bsa_rescan_item_{post_id}) rescans that post and refreshes counts immediately.lh_block_and_shortcode_auditor_summary_per_page, _usage_per_page).network/admin.php?page=lh-block-and-shortcode-auditor, under the shared LH Network Tools menu. Capability install_plugins (filter lh_block_and_shortcode_auditor_return_network_capability).
&site_id=…): the per-site summary table for that site, a site switcher, its scan status read in its own context, a link to its own Tools screen, and Rescan this site.&site_id=…&bsa_type=…&bsa_tag=…): rendered inside switch_to_blog(). The usage table runs in network mode: edit links are built with get_admin_url() (post.php, or the Site Editor for templates using their wp_theme term) because the subsite’s custom post types are not registered in network admin, and per-item rescan is hidden.lh_bsa_rescan_site_{site_id}): clears the site’s scanner version option, requests a capture and fires a loopback to the site, which then sweeps itself. Nothing is queued into another site’s Action Scheduler from network admin.Both list tables take the site ID, base URL and per-page option as constructor arguments so the network screen reuses them. List table classes load only on these screens.