Formatting component

The Formatting component primarily consists of formatting.php in wp-includes. This file contains various escaping and sanitization functions, and other functions for both security and formatting text. This includes two infamous functions with storied WordPress histories, wpautop() and wptexturize(). Formatting also includes kses.php, WordPress’s HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. security filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output..

Changes to the Formatting functions generally require extensive unit testing and a consensus of lead developers.  This tends to happen with deliberation across two or more versions.  The easiest way to contribute to this component is to write bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. reports or unit tests for existing code.  Remember, all security matters should be reported according to the Security FAQ and are not part of the public Formatting information.

Projects for the 4.4 milestone will focus on supporting the ShortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. Roadmap, which is deeply entwined with almost every facet of the Formatting functions. Large changes and many bug fixes are needed, and in some ways will also be made possible by the Shortcode plans.

Subcomponents: Emoji, Shortcodes, and Charset.

Recent posts on the make/core blog

View all posts tagged formatting.

222 open tickets in the Formatting component

222 open ticketsdefect (bug)enhancementfeature request
4390
7.2600
Awaiting Review82359
Future Release27101
222 open tickets. Last 7 days: -2 tickets

31 tickets that have no replies

View list on Trac
  • #33553  Bug with Linebreak before figcaption, fixed and then revert to make a fix elsewhere javascript
  • #34039  shortcode_parse_atts() no longer parses embedded html fragments
  • #36124  Format: Aside next to an embedded video, removes player and only displays URL
  • #36397  add_query_arg doesn't work with numbered html entities
  • #36712  Paragraph tags removed from div elements if script tag is present
  • #37077  Replacing one variable handler for another to ensure proper conditional check occurs 100%.
  • #39188  Wrapping paragraph tags around 'Read More' link stripped out of custom post type
  • #39190  RSS feed not valid: U+001A or 0x1a
  • #39674  Special characters are encoded in the database, for site settings options administration
  • #39724  Defining custom validation callbacks for tag/attribute values in wp_kses()
  • #40045  HTML code entered using "Text" mode gets garbled
  • #40528  Title with ascii paragraph separator is not being filtered on post save administration
  • #40569  next_post_link parameters $format and $link, have default values that produce awkward to use output
  • #42182  esc_js must escape U+2028 and U+2029
  • #43155  Formatting bug with ampasands - WooCommerce Layered Nav
  • #43156  _walk_bookmarks(): please add the link id as HTML id attribute.
  • #43205  Allow filtering the list of characters to be replaced by wptexturize
  • #49217  HTML error with the multi-level list in Classic Editor
  • #49492  wpautop inserted p tags inconsistently alter visual space
  • #49965  wptexturize should also work when using before hook after_theme_setup
  • #53041  colors.css is using the old blue. css administration
  • #53096  Color Settings include alpha channel for transparency
  • #53160  PHP 7.4 map_deep compatibility issue
  • #53815  safecss_filter_attr removes styles with min() max() and minmax()
  • #56656  Move accent removal from `sanitize_title_with_dashes()` to `remove_accents()`
  • #56774  Need more options on pre-existing blocks. ui javascript css template coding-standards
  • #57434  Extending the list of supported inline CSS properties allowed by safe_style_css
  • #58616  Replace apostrophe with hyphen for slugs
  • #58666  added HTML tags in HTML block
  • #58872  wpautop not disabled when blocks are inserted dynamically template
  • #62156  Defining custom colors in styles color palette removes other colors from palette in several block editor places

6 tickets slated for 7.2

View list in Trac
  • #60347  wp_kses breaking text fragments links
  • #64944  Generated Excerpts - Missing white space when stripping <br>s generated in paragraph block, verse block, etc.
  • #65717  Add support for the autofocus attribute for dialog children accessibility
  • #65729  List tables: Strip escaped HTML from values used in HTML attributes accessibility administration
  • #66110  Block Hooks run during wp_trim_excerpt(), leaking hooked-block markup into excerpts
  • #66153  wptexturize alters the content of math elements, including the LaTeX annotation

222 open tickets

Open enhancements: 54 View list on Trac
Open tasks: 0 View list on Trac
Open feature requests: 10 View list on Trac
Open defects: 158 View list on Trac

Help maintain this component

Component maintainers:

Many contributors help maintain one or more components. These maintainers are vital to keeping WordPress development running as smoothly as possible. They triage new tickets, look after existing ones, spearhead or mentor tasks, pitch new ideas, curate roadmaps, and provide feedback to other contributors. Longtime maintainers with a deep understanding of particular areas of Core are always seeking to mentor others to impart their knowledge.

Want to help? Start following this component! Adjust your notifications here. Feel free to dig into any ticket.

Contributors following this component: