Skip to content

Word Rendering Modes

Word rendering controls how a blocked word looks after masking. Two settings work together: Word Rendering (how many letters stay visible) and Filter Character (which symbol replaces masked letters). Both are on the General Settings tab.


The wbbprof_settings[word_render] option accepts four values.

The first character of the blocked word stays visible; all remaining characters are replaced.

Example with blog masked using *: b***

Use this when you want readers to have a hint at the word’s starting letter, which is often enough context without displaying the full word.

All characters except the final one are replaced.

Example: ***g

Less common — useful if the tail of the word is more recognizable than the start.

First and last letter retained (first_last)

Section titled “First and last letter retained (first_last)”

The first and last characters stay visible; middle characters are replaced.

Example: b**g

This is the default at installation and a reasonable balance — the word is recognizable to those who know it but not spelled out in full.

Every character in the blocked word is replaced.

Example: ****

The strongest visual mask. The reader sees only symbols and the word length.


The wbbprof_settings[character] option determines which symbol is used in place of masked letters. It applies to both word masking and privacy masking.

Slug Character Notes
asterisk * Default at installation
dollar $
question ?
exclamation !
hyphen -
hash #
tilde ~
blank space Makes masked words disappear into whitespace

For case-insensitive matching (incase), the plugin uses a regex callback that calls the censoring function on each match. This means the actual matched characters (which may differ in case from the keyword) are used to determine the replacement length, so the output length always matches the input length.

For case-sensitive matching (case), a direct preg_replace is used. The replacement string is computed from the keyword as stored in your list, not from the matched text.

In both modes, the masking is applied letter-by-letter using multibyte string functions, so Unicode characters (accented letters, etc.) in keywords are handled correctly.


Developers can add their own character option to the dropdown using the wbbprof_word_rendering_symbols filter, and supply the actual character at masking time using wbbprof_custom_character.