# Mark Each Block in the Page Source for Administrators

> Wraps every rendered block in HTML comments with its name, such as core/group or a plugin's block, when an administrator views a page with ?wpide_blocks=1, to see which block produced which markup.

- Type: PHP
- Runs: Frontend only
- Category: [Developer](https://wpide.com/library/category/developer/)
- Tags: debugging, blocks, block-themes
- Author: WPIDE Team
- Installs: 0
- Updated: 2026-10-28
- Page: https://wpide.com/library/debug-block-markers-in-source/

## Code

```php
add_filter( 'render_block', function ( $content, $block ) {
    if ( empty( $block['blockName'] ) || ! isset( $_GET['wpide_blocks'] ) || ! current_user_can( 'manage_options' ) ) {
        return $content;
    }

    $name  = sanitize_text_field( $block['blockName'] );
    $attrs = ! empty( $block['attrs'] ) ? ' ' . wp_json_encode( array_keys( $block['attrs'] ) ) : '';

    // Strip "--" so attribute names cannot close the comment early.
    return "\n<!-- block: " . str_replace( '--', '', $name . $attrs ) . " -->\n" . $content . "\n<!-- /block: " . str_replace( '--', '', $name ) . " -->\n";
}, 999, 2 );
```

## Notes

View the page source after adding ?wpide_blocks=1 to the address; visitors never see the comments.

## How to use it

Install the free WPIDE plugin (https://wordpress.org/plugins/wpide/), find "Mark Each Block in the Page Source for Administrators" in its snippet library and add it in one click; or create a new PHP snippet in WPIDE (or any code snippets plugin) and paste the code above. More snippets: https://wpide.com/library/
