[41496] removed support for numbered placeholders in queries send through `wpdb::prepare()`, which, despite being undocumented, were quite commonly used.
This change restores support for numbered placeholders (as well as a subset of placeholder formatting), while also adding extra checks to ensure the correct number of arguments are being passed to `wpdb::prepare()`, given the number of placeholders.
Merges [41662], [42056] to the 4.8 branch.
See #41925.
Built from https://develop.svn.wordpress.org/branches/4.8@42057
git-svn-id: http://core.svn.wordpress.org/branches/4.8@41886 1a063a9b-81f0-0310-95a4-ce76da25c4cd
* Twemoji 2.3.0 has a rendering issue in Safari, emoji can sometimes be followed by U+FEOF (which is just a flag meaning "render the preceding character as emoji).
* Twemoji wasn't catching this character correctly, and Safari rendered it incorrectly.
* Twemoji 2.5.0 resolves this issue.
Merge of [41250] to the 4.8 branch.
Props peterwilsoncc.
Fixes#41584.
Built from https://develop.svn.wordpress.org/branches/4.8@41394
git-svn-id: http://core.svn.wordpress.org/branches/4.8@41227 1a063a9b-81f0-0310-95a4-ce76da25c4cd
[41139] changed how the REST API URL is generated, but included an incorrect version of `wp-api-generated.js`.
This updates the generator to create the correct `wp-api-generated.js`, and updates ``wp-api-generated.js`.
Repeat of [41154], in the 4.8 branch.
Fixes#40886.
Built from https://develop.svn.wordpress.org/branches/4.8@41155
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40995 1a063a9b-81f0-0310-95a4-ce76da25c4cd
When pretty permalinks are disabled, the web server will internally forward requests to `index.php`. Unfortunately, nginx only forwards HTTP/1.0 methods: `PUT`, `PATCH`, and `DELETE` methods will return a 405 error.
To work around this nginx behaviour, including `index.php` in the REST URL skips the internal redirect.
Merges 41139 to the 4.8 branch.
Fixes#40886.
Built from https://develop.svn.wordpress.org/branches/4.8@41140
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40980 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The REST API does not provide a mechanism to distinguish between endpoints representing models and those representing collections, so the Backbone client must make that distinction internally. Previously wp-api.js accounted for `/users/me`, but not for `/settings`. This patch updates the logic so that `/settings` is properly registered as a Backbone model.
When calling `wp.api.init`, additional endpoints can be specified to be models using the `modelEndpoints` argument.
Merges [41112] onto 4.8 branch.
Props adamsilverstein, kadamwhite.
Fixes#41056 for 4.8.1.
Built from https://develop.svn.wordpress.org/branches/4.8@41126
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40966 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Ensures that users who copy HTML from the Text widget in legacy mode over to the Custom HTML widget will continue to get all of the same filters applied, including tag balancing and shortcodes, if a plugin added support. Plugins still have the `widget_text_content` and `widget_custom_html_content` filters they can use to target the specific widget types.
Merges [41086] onto 4.8 branch.
Amends [40893].
See #40951.
Fixes#40907 for 4.8.1.
Built from https://develop.svn.wordpress.org/branches/4.8@41087
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40927 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Since shortcode handling is just-in-time deferred to run after `wpautop`, there is no need to retain the presence of shortcodes to trigger legacy mode. Also updates Text widget legacy mode notice informing of Custom HTML widget.
Merges [41070] onto 4.8 branch.
Amends [41050].
Props westonruter, melchoyce.
Fixes#40951 for 4.8.1.
Built from https://develop.svn.wordpress.org/branches/4.8@41071
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40923 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Previously, `wp_encode_emoji()` and `wp_staticize_emoji()` used inaccurate regular expressions to find emoji, and transform then into HTML entities or `<img>`s, respectively. This would result in emoji not being correctly transformed, or occasionally, non-emoji being incorrectly transformed.
This commit adds a new `grunt` task - `grunt precommit:emoji`. It finds the regex in `twemoji.js`, transforms it into a PHP-friendly version, and adds it to `formatting.php`. This task is also automatically run by `grunt precommit`, when it detects that `twemoji.js` has changed.
The new regex requires features introduced in PCRE 8.32, which was introduced in PHP 5.4.14, though it was also backported to later releases of the PHP 5.3 series. For versions of PHP that don't support this, it will fall back to an updated version of the loose-matching regex.
For short posts, the performance difference between the old and new regex is negligible. As the posts get longer, however, the new method is exponentially faster.
Merges [41043], [41045], and [41046] to the 4.8 branch.
Fixes#35293.
Built from https://develop.svn.wordpress.org/branches/4.8@41069
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40921 1a063a9b-81f0-0310-95a4-ce76da25c4cd
Fixes issue where Video widgets embedding external files fail to get recognized due to the presence of the `loop` param after the video filename, even though it has a recognized extension. Regardless, the `loop` param is only present to fix a Vimeo issue in ME.js 2.x.
Merges [40892] into the 4.8 branch.
Props timmydcrawford.
Amends [40640].
See #39686, #39994.
Fixes#40977 for 4.8.1.
Built from https://develop.svn.wordpress.org/branches/4.8@41054
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40904 1a063a9b-81f0-0310-95a4-ce76da25c4cd
The Text widget in legacy mode omits TinyMCE and retains old behavior for matching pre-existing Text widgets. Usage pointers added to default visual mode appear when attempting to paste HTML code into the Visual tab and when clicking on the Text tab, informing users of the new Custom HTML widget.
Merges [41050] to 4.8 branch.
Props westonruter, melchoyce, gitlost for testing, obenland for testing, dougal for testing, afercia for testing.
See #35243.
Fixes#40951 for 4.8.1.
Built from https://develop.svn.wordpress.org/branches/4.8@41053
git-svn-id: http://core.svn.wordpress.org/branches/4.8@40903 1a063a9b-81f0-0310-95a4-ce76da25c4cd