Title: WebberZone Code Block Highlighting
Author: Ajay
Published: <strong>2026-05-03</strong>
Last modified: 2026-10-11

---

Szukaj wtyczek

![](https://ps.w.org/webberzone-code-block-highlighting/assets/banner-772x250.png?
rev=3612324)

![](https://ps.w.org/webberzone-code-block-highlighting/assets/icon-256x256.png?
rev=3620012)

# WebberZone Code Block Highlighting

 Autor: [Ajay](https://profiles.wordpress.org/ajay/)

[Pobierz](https://downloads.wordpress.org/plugin/webberzone-code-block-highlighting.1.3.0.zip)

 * [Szczegóły](https://pl.wordpress.org/plugins/webberzone-code-block-highlighting/#description)
 * [Recenzje](https://pl.wordpress.org/plugins/webberzone-code-block-highlighting/#reviews)
 *  [Instalacja](https://pl.wordpress.org/plugins/webberzone-code-block-highlighting/#installation)
 * [Rozwój](https://pl.wordpress.org/plugins/webberzone-code-block-highlighting/#developers)

 [Wsparcie](https://wordpress.org/support/plugin/webberzone-code-block-highlighting/)

## Opis

**WebberZone Code Block Highlighting** is the easiest way to add syntax highlighting
to your WordPress site. It extends the native Gutenberg `core/code` block with [Prism.js](https://prismjs.com/)
highlighting in the browser, or optional server-side highlighting with [highlight.php](https://github.com/scrivo/highlight.php)—
no shortcodes, no block replacement, no risk of breaking existing posts.

Simply activate the plugin and your code blocks will instantly display beautiful,
readable syntax highlighting on the frontend. Choose from 40+ programming languages
and 21 colour themes, all controlled from the block editor’s Inspector Controls 
sidebar.

### Two highlighting modes

Pick the rendering mode that best fits your site from the settings page:

 * **Client-side (default)** — [Prism.js](https://prismjs.com/) highlights your 
   code in the browser. Best for interactive features such as copy-to-clipboard 
   and expand/collapse.
 * **Server-side (highlight.php)** — Code is pre-highlighted on the server with 
   [highlight.php](https://github.com/scrivo/highlight.php), so no Prism.js or any
   other JavaScript is loaded for highlighting. Ideal for performance, Core Web 
   Vitals, AMP-style setups, and strict content-security policies.

Both modes use the same 21 Prism themes and produce visually identical output, so
you can switch between client-side and server-side rendering at any time without
changing how your code blocks look.

### Why use this plugin?

 * **Safe by design** — Works as a filter on top of `core/code` and saves blocks
   with core’s own markup. Existing posts are never invalidated. Deactivate the 
   plugin and your blocks are still valid standard WordPress code blocks.
 * **Zero configuration** — Activate and start writing. No setup wizard, no shortcodes.
 * **No highlighting JavaScript in server mode** — Server-side mode pre-renders 
   syntax colours on the server. No Prism.js or any other JavaScript is enqueued
   for highlighting.
 * **Smart asset loading** — Theme CSS (and, in client mode, Prism JS) only load
   on pages that actually contain code blocks. Pages without code stay fast.
 * **Per-block controls** — Set language, theme, line numbers, word wrap, title,
   highlighted lines, and max height individually for each block.
 * **Developer-friendly** — Filters to add languages, override themes, and force
   asset loading.

### Supported languages

40 languages including: Apache Config, Bash, C, C++, C#, CSS, Dart, Docker, F#, 
Go, GraphQL, Groovy, Haskell, HTML, Java, JavaScript, JSON, JSX, Kotlin, Lua, Markdown,
Nginx, Objective-C, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Sass, Scala, SQL,
Swift, TOML, TSX, TypeScript, Vim, XML, YAML. Use the `wzcbh_languages` filter to
add or remove entries from the language picker.

### Included themes (21)

A11y Dark, Coldark Cold (Light), Coldark Dark, Dracula, Duotone Dark, Duotone Light,
GitHub (Light), Gruvbox Dark, Gruvbox Light, Lucario, Material Dark, Material Light,
Night Owl, Nord, One Dark, One Light, Shades of Purple, Solarized Dark, Synthwave’
84, VS Code Dark+, Xonokai (Monokai).

### Per-block features

 * **Language selector** — Choose the programming language from the sidebar; applies
   the correct Prism grammar automatically.
 * **Line numbers** — Toggle line numbers per block, with a configurable start line.
 * **File title / label** — Add an optional filename or label displayed in the code
   block toolbar.
 * **Highlight lines** — Specify lines or ranges (e.g. `1,3-5`) to visually highlight
   using Prism’s line-highlight plugin.
 * **Max height with expand/collapse** — Set a maximum height in pixels; an expand/
   collapse toolbar button appears automatically.
 * **Word wrap** — Toggle soft word wrapping per block.

### Global settings

 * Highlighting mode — client-side (Prism.js) or server-side (highlight.php)
 * Default colour scheme (theme)
 * Default language
 * Default line numbers toggle and start value
 * Default word wrap
 * Copy-to-clipboard button
 * Show language label in toolbar
 * Font size

### Developer filters

 * `wzcbh_languages` — Filter the language list array (`slug => label`)
 * `wzcbh_color_scheme_css_url` — Override the Prism theme CSS URL
 * `wzcbh_force_load_assets` — Force Prism assets to load on every page

### GDPR

WebberZone Code Block Highlighting does not collect personal data, set cookies, 
or communicate with any external services.

### Contribute

The plugin is open source and available on [GitHub](https://github.com/WebberZone/webberzone-code-block-highlighting).
Pull requests for bug fixes and new features are welcome. Please use the [WordPress.org support forum](https://wordpress.org/support/plugin/webberzone-code-block-highlighting/)
for support and [GitHub Issues](https://github.com/WebberZone/webberzone-code-block-highlighting/issues)
for confirmed bug reports.

### Translations

Help translate WebberZone Code Block Highlighting into your language on [WordPress.org](https://translate.wordpress.org/projects/wp-plugins/webberzone-code-block-highlighting).
See the [Translator Handbook](https://make.wordpress.org/polyglots/handbook/rosetta/theme-plugin-directories/)
for guidance.

### Other plugins by WebberZone

 * [Contextual Related Posts](https://wordpress.org/plugins/contextual-related-posts/)—
   Display fast, intelligent related posts to keep visitors on your site longer
 * [Top 10](https://wordpress.org/plugins/top-10/) — Track daily and total visits
   and display popular and trending posts
 * [WebberZone Snippetz](https://wordpress.org/plugins/add-to-all/) — Manage custom
   HTML, CSS and JS snippets across your site
 * [Knowledge Base](https://wordpress.org/plugins/knowledgebase/) — Create a knowledge
   base or FAQ section on your WordPress site
 * [Better Search](https://wordpress.org/plugins/better-search/) — Contextual search
   results sorted by relevance
 * [Auto-Close](https://wordpress.org/plugins/autoclose/) — Automatically close 
   comments, pingbacks, trackbacks and manage revisions
 * [Popular Authors](https://wordpress.org/plugins/popular-authors/) — Display popular
   authors in a WordPress widget
 * [Followed Posts](https://wordpress.org/plugins/where-did-they-go-from-here/) —
   Show related posts based on what your visitors have already read
 * [WebberZone Link Warnings](https://wordpress.org/plugins/webberzone-link-warnings/)—
   Add accessible warnings for external links and target=”_blank” links

## Zrzuty ekranu

[⌊Block editor — language picker, line numbers toggle, title field, and more in 
the Inspector Controls sidebar.⌉⌊Block editor — language picker, line numbers toggle,
title field, and more in the Inspector Controls sidebar.⌉[

Block editor — language picker, line numbers toggle, title field, and more in the
Inspector Controls sidebar.

[⌊Frontend code block with Prism.js syntax highlighting, line numbers, and toolbar.⌉⌊
Frontend code block with Prism.js syntax highlighting, line numbers, and toolbar
.⌉[

Frontend code block with Prism.js syntax highlighting, line numbers, and toolbar.

[⌊Plugin settings page — choose a global colour scheme, default language, and more.⌉⌊
Plugin settings page — choose a global colour scheme, default language, and more
.⌉[

Plugin settings page — choose a global colour scheme, default language, and more.

## Instalacja

#### WordPress admin (recommended)

 1. Go to **Plugins > Add New** in your WordPress admin.
 2. Search for **WebberZone Code Block Highlighting**.
 3. Click **Install Now**, then **Activate**.

#### Manual installation

 1. Download the plugin zip file.
 2. Extract it to your `wp-content/plugins/` directory. You should end up with a `webberzone-
    code-block-highlighting/` folder.
 3. Go to **Plugins** in your WordPress admin and activate **WebberZone Code Block 
    Highlighting**.

After activation, open any post or page in the block editor, add or select a Code
block, and the **Code Highlighting** panel will appear in the Inspector Controls
sidebar.

## Najczęściej zadawane pytania

### Does this plugin replace the core Code block?

No. WebberZone Code Block Highlighting uses JavaScript and PHP filters to extend
the native `core/code` block. It never swaps the block for a custom one: the block
is saved with the same markup as the core Code block, the highlighting options are
stored as block attributes, and the language classes, file name, line numbers and
max height are added when the page is rendered.

### Will my code blocks break if I deactivate the plugin?

No. Code blocks are saved with the core Code block’s own markup, so deactivating
simply removes the highlighting and the blocks stay valid.

Blocks last saved with version 1.2.3 or earlier carry extra markup that the core
block does not recognize, and show „This block contains unexpected or invalid content”
if you deactivate the plugin before they are converted. To convert them, either 
open and update each post with the plugin active, or convert every post at once 
from the **Convert Code Blocks** link in the banner at the top of Settings > Code
Block Highlighting, or with the WP-CLI command `wp wzcbh migrate-code-blocks`. Back
up your database first: posts are updated in place without creating revisions.

### Which programming languages are supported?

40 languages out of the box: Apache Config, Bash, C, C++, C#, CSS, Dart, Docker,
F#, Go, GraphQL, Groovy, Haskell, HTML, Java, JavaScript, JSON, JSX, Kotlin, Lua,
Markdown, Nginx, Objective-C, Perl, PHP, PowerShell, Python, R, Ruby, Rust, Sass,
Scala, SQL, Swift, TOML, TSX, TypeScript, Vim, XML, and YAML.

Use the `wzcbh_languages` filter to add or remove entries from the language picker.
Note: adding a language to the filter only affects the UI dropdown — the corresponding
Prism.js grammar must also be available on the frontend (either bundled in `frontend.
js` or loaded separately).

### How do I add a custom or additional Prism theme?

 1. Add the theme mapping in `build-prism.js`.
 2. Copy the generated CSS to `includes/assets/`.
 3. Register the slug in `includes/admin/class-settings.php`.
 4. Run `npm run build:prism`.

You can also use the `wzcbh_color_scheme_css_url` filter to point to any CSS file
without touching the plugin source.

### What is the difference between client-side and server-side highlighting?

In **client-side** mode (the default), [Prism.js](https://prismjs.com/) runs in 
the visitor’s browser and highlights your code on page load. This mode enables interactive
toolbar features such as copy-to-clipboard and expand/collapse.

In **server-side** mode, the plugin uses [highlight.php](https://github.com/scrivo/highlight.php)
to pre-render the highlighted markup on the server. No JavaScript is loaded for 
highlighting, which is great for performance, Core Web Vitals, and sites with strict
content-security policies. Both modes share the same 21 Prism themes and produce
visually identical results, so you can switch freely from **Settings > Code Block
Highlighting**.

### Does server-side highlighting work without JavaScript?

Yes. When server-side mode is enabled, syntax colours are baked into the HTML on
the server — no Prism.js or any other JavaScript is enqueued for highlighting.

### Does Prism.js load on every page?

No. Theme CSS and (in client-side mode) Prism JS are only enqueued on pages that
contain at least one code block. All other pages are unaffected. Use the `wzcbh_force_load_assets`
filter to override this behaviour if needed.

### How do I highlight specific lines in a code block?

Enter a comma-separated list of lines or ranges in the **Highlight Lines** field
in the Inspector Controls sidebar (e.g. `1,3-5,8`). This maps to the `data-line`
attribute consumed by the Prism line-highlight plugin.

### Can I show a filename or label on the code block?

Yes. Use the **Title** field in the Inspector Controls sidebar. The label is displayed
in the Prism toolbar above the code block.

### Does the plugin support dark mode or multiple themes?

The plugin ships with 21 Prism themes. The active theme is selected globally on 
the settings page (**Settings > Code Block Highlighting**). Per-block theme switching
is not currently supported.

### Is this plugin compatible with the WordPress block editor (Gutenberg)?

Yes. The plugin is built specifically for the Gutenberg block editor (WordPress 
6.6+) and uses the native block filter APIs. It does not support the Classic Editor.

### Where do I report security bugs found in this plugin?

Please report security bugs found in the source code of the WebberZone Code Block
Highlighting plugin through the [Patchstack Vulnerability Disclosure Program](https://patchstack.com/database/vdp/d9673655-4a25-4c42-8908-9737ab36602a).
The Patchstack team will assist you with verification, CVE assignment, and notify
the developers of this plugin.

## Recenzje

Wtyczka nie ma jeszcze żadnej recenzji.

## Kontrybutorzy i deweloperzy

„WebberZone Code Block Highlighting” jest oprogramowaniem open source. Poniższe 
osoby miały wkład w rozwój wtyczki.

Zaangażowani

 *   [ Ajay ](https://profiles.wordpress.org/ajay/)
 *   [ WebberZone ](https://profiles.wordpress.org/webberzone/)

[Przetłumacz wtyczkę “WebberZone Code Block Highlighting” na swój język.](https://translate.wordpress.org/projects/wp-plugins/webberzone-code-block-highlighting)

### Interesuje cię rozwój wtyczki?

[Przeglądaj kod](https://plugins.trac.wordpress.org/browser/webberzone-code-block-highlighting/),
sprawdź [repozytorium SVN](https://plugins.svn.wordpress.org/webberzone-code-block-highlighting/)
lub czytaj [dziennik rozwoju](https://plugins.trac.wordpress.org/log/webberzone-code-block-highlighting/)
przez [RSS](https://plugins.trac.wordpress.org/log/webberzone-code-block-highlighting/?limit=100&mode=stop_on_copy&format=rss).

## Rejestr zmian

#### 1.3.0

Release date: 11 October 2026
 Release post: https://webberzone.com/announcements/
code-block-highlighting-v1-3/

**Added**

 * Convert Code Blocks screen, linked from the settings page banner, and `wp wzcbh
   migrate-code-blocks` WP-CLI command to convert code blocks saved by earlier versions
   in bulk.
 * Per-block color scheme option to override the global color scheme for a single
   code block, also stored by **Save as default**.
 * Language detection for code blocks with no language set, in server-side mode.
   Turn on **Detect Language** in the settings; blocks that do not clearly match
   a language stay plain.

**Changed**

 * **Save as default** now also stores the block’s download button setting.

**Fixed**

 * Code blocks with a language, file name, highlighted lines, max height or custom
   start line showed „This block contains unexpected or invalid content” after the
   plugin was deactivated. Blocks saved by earlier versions convert when their post
   is updated.
 * In server-side mode, a custom start line was ignored when the block also had 
   a max height or a spacing style.
 * Code blocks inside synced patterns, widgets or templates were not highlighted
   when the post content itself had no code block.
 * Opening a post in the editor applied the saved block defaults to its existing
   code blocks and marked the post as changed. Defaults now apply only to newly 
   inserted blocks.

#### Earlier versions

For the changelog of earlier versions, please refer to the [releases page on GitHub](https://github.com/WebberZone/webberzone-code-block-highlighting/releases).

## Meta

 *  Wersja **1.3.0**
 *  Ostatnia aktualizacja **6 dni temu**
 *  Włączone instalacje **Mniej niż 10**
 *  Wersja WordPressa ** 6.6 lub nowszej **
 *  Testowano do **7.1.3**
 *  Wersja PHP ** 7.4 lub nowszej **
 *  Język
 * [English (US)](https://wordpress.org/plugins/webberzone-code-block-highlighting/)
 * Tagi
 * [code block](https://pl.wordpress.org/plugins/tags/code-block/)[code highlighting](https://pl.wordpress.org/plugins/tags/code-highlighting/)
   [gutenberg](https://pl.wordpress.org/plugins/tags/gutenberg/)[prism](https://pl.wordpress.org/plugins/tags/prism/)
   [syntax highlighting](https://pl.wordpress.org/plugins/tags/syntax-highlighting/)
 *  [Widok zaawansowany](https://pl.wordpress.org/plugins/webberzone-code-block-highlighting/advanced/)

## Oceny

Nie przesłano jeszcze żadnych recenzji.

[Twoja opinia](https://wordpress.org/support/plugin/webberzone-code-block-highlighting/reviews/#new-post)

[Zobacz wszystkierecenzje.](https://wordpress.org/support/plugin/webberzone-code-block-highlighting/reviews/)

## Zaangażowani

 *   [ Ajay ](https://profiles.wordpress.org/ajay/)
 *   [ WebberZone ](https://profiles.wordpress.org/webberzone/)

## Wsparcie

Masz coś do dodania? Potrzebujesz pomocy?

 [Zobacz forum wsparcia](https://wordpress.org/support/plugin/webberzone-code-block-highlighting/)

## Złóż datek

Czy chcesz wesprzeć rozwój wtyczki?

 [ Wspomóż wtyczkę ](https://wzn.io/donate-wz)