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 HTML security filter.

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 bug 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 Shortcode API 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.

139 open tickets in the Formatting component

139 open tickets defect (bug) enhancement feature request
Awaiting Review 52 18 0
Future Release 47 21 1

139 open tickets. Last 7 days: +1 ticket

22 tickets that have no replies

View list on Trac

  • #28972  enhance make_clickable so that it allows for anchor attributes to be passed via an extra array argument. template
  • #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
  • #36445  force_balance_tags not properly balancing custom HTML tags with dashes in them
  • #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%.
  • #37085  $allowedposttags doesn't allow form inputs
  • #37613  In Publish metabox content could be arranged properly with smooth animation ui
  • #37814  wpautop losing closing </pre> tags if doubled
  • #38044  Make seems_utf8() RFC 3629 compliant.
  • #38059  'wp_trim_excerpt' is not stripping oembed url's like shortcodes before applying 'the_content' filter performance
  • #38656  wpautop incorrectly handling paragraphs within block elements
  • #39153  Bug in wp_html_split with unclosed PHP tag (or HTML tag <) administration template
  • #39188  Wrapping paragraph tags around 'Read More' link stripped out of custom post type
  • #39636  Smilies not converted when directly followed by punctuation marks
  • #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()
  • #39847  force_balance_tags not properly balancing < with <strong> and </strong> ui
  • #40045  HTML code entered using "Text" mode gets garbled
  • #40191  Multiline post content with `<` as first character becomes malformed

139 open tickets

Open bugs: 99. View list on Trac

Help maintain this component

Component maintainers:

  • nacin

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: