Skip to content

Docs: Clarify that meta_query REGEXP values are raw MySQL patterns#12072

Open
patrickcoombe wants to merge 1 commit into
WordPress:trunkfrom
patrickcoombe:fix/58180-meta-query-regexp-docs
Open

Docs: Clarify that meta_query REGEXP values are raw MySQL patterns#12072
patrickcoombe wants to merge 1 commit into
WordPress:trunkfrom
patrickcoombe:fix/58180-meta-query-regexp-docs

Conversation

@patrickcoombe
Copy link
Copy Markdown

Trac ticket: https://core.trac.wordpress.org/ticket/58180

When a meta_query clause uses 'compare' => 'REGEXP' (or 'NOT REGEXP' / 'RLIKE'), the value is passed directly to MySQL's REGEXP operator. This is not obvious from the DocBlock, and a common mistake is to wrap the pattern in PCRE-style delimiters (e.g. /^bar/), which MySQL treats as literal characters.

This adds a note to the $value parameter in the WP_Meta_Query DocBlock clarifying that for the REGEXP-family compares the value is used as a raw MySQL regular expression and should not be wrapped in delimiters such as /.

Documentation only; no behavioral change.

Props letraceursnork.
Fixes #58180.

Document in the WP_Meta_Query DocBlock that when $compare is 'REGEXP',
'NOT REGEXP', or 'RLIKE', the $value is used as a raw MySQL regular
expression and must not be wrapped in delimiters such as '/'.

Props letraceursnork.
Fixes #58180.
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

The following accounts have interacted with this PR and/or linked issues. I will continue to update these lists as activity occurs. You can also manually ask me to refresh this list by adding the props-bot label.

Core Committers: Use this line as a base for the props when committing in SVN:

Props patrickfl.

To understand the WordPress project's expectations around crediting contributors, please review the Contributor Attribution page in the Core Handbook.

@github-actions
Copy link
Copy Markdown

github-actions Bot commented Jun 3, 2026

Test using WordPress Playground

The changes in this pull request can previewed and tested using a WordPress Playground instance.

WordPress Playground is an experimental project that creates a full WordPress instance entirely within the browser.

Some things to be aware of

  • All changes will be lost when closing a tab with a Playground instance.
  • All changes will be lost when refreshing the page.
  • A fresh instance is created each time the link below is clicked.
  • Every time this pull request is updated, a new ZIP file containing all changes is created. If changes are not reflected in the Playground instance,
    it's possible that the most recent build failed, or has not completed. Check the list of workflow runs to be sure.

For more details about these limitations and more, check out the Limitations page in the WordPress Playground documentation.

Test this pull request with WordPress Playground.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant