{"id":4290,"date":"2017-11-05T17:08:01","date_gmt":"2017-11-05T16:08:01","guid":{"rendered":"https:\/\/florianbrinkmann.com\/en\/?p=4290"},"modified":"2020-02-09T10:59:41","modified_gmt":"2020-02-09T09:59:41","slug":"wordpress-weekly-recap-wordpress-4-8-3","status":"publish","type":"post","link":"https:\/\/florianbrinkmann.com\/en\/wordpress-weekly-recap-wordpress-4-8-3-4290\/","title":{"rendered":"WordPress weekly recap #44: WordPress 4.8.3 and more"},"content":{"rendered":"\n<p>This week, WordPress 4.8.3 was released. The new version fixes a security issue, so updating is strongly encouraged.<\/p>\n\n\n\n<!--more-->\n\n\n\n<h2 class=\"wp-block-heading\">Core<\/h2>\n\n\n\n<h3 class=\"wp-block-heading\">WordPress 4.8.3<\/h3>\n\n\n\n<p>The core team released WordPress 4.8.3 on October 31. This is a security release which fixes an issue \u00bbwhere <code class=\"lang-php\">$wpdb-&gt;prepare()<\/code> can create unexpected and unsafe queries leading to potential SQL injection (SQLi)\u00ab as Gary Pendergast writes in the announcement post \u00bb<a href=\"https:\/\/wordpress.org\/news\/2017\/10\/wordpress-4-8-3-security-release\/\">WordPress 4.8.3 Security Release<\/a>\u00ab.<\/p>\n\n\n\n<p>If you disabled auto updates and did not update your site manually yet, you should do it.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customize JS API improvements in 4.9<\/h3>\n\n\n\n<p>WordPress 4.9 comes with a lot of improvements in the Customize JS API which are described in detail by Weston Ruter in his post \u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/11\/01\/improvements-to-the-customize-js-api-in-4-9\/\">Improvements to the Customize JS API in 4.9<\/a>\u00ab. With that, for example, it is no longer necessary to repeat the ID when adding a new construct. A code example from the dev note:<\/p>\n\n\n<pre class=\"wp-block-code lang-javascript\" aria-describedby=\"shcb-language-1\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/* Before WordPress 4.9 *\/<\/span>\nwp.customize.control.add(\n\t<span class=\"hljs-string\">'foo'<\/span>,\n\t<span class=\"hljs-keyword\">new<\/span> wp.customize.Control( <span class=\"hljs-string\">'foo'<\/span>, { <span class=\"hljs-comment\">\/* \u2026 *\/<\/span> } )\n);\n\n<span class=\"hljs-comment\">\/* Since WordPress 4.9 *\/<\/span>\nwp.customize.control.add(\n\t<span class=\"hljs-keyword\">new<\/span> wp.customize.Control( <span class=\"hljs-string\">'foo'<\/span>, { <span class=\"hljs-comment\">\/* \u2026 *\/<\/span> } )\n);<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-1\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>Besides that, since 4.9 the JS API makes use of default values for parameters as the PHP API does \u2013 again, a code example from Weston\u2019s post:<\/p>\n\n\n<pre class=\"wp-block-code lang-javascript\" aria-describedby=\"shcb-language-2\" data-shcb-language-name=\"JavaScript\" data-shcb-language-slug=\"javascript\"><span><code class=\"hljs language-javascript\"><span class=\"hljs-comment\">\/* Before WordPress 4.9 \u2013 no default values, needs all to be set by the dev *\/<\/span>\n<span class=\"hljs-keyword\">var<\/span> control = <span class=\"hljs-keyword\">new<\/span> wp.customize.ColorControl( <span class=\"hljs-string\">'favorite_color'<\/span>, {\n\t<span class=\"hljs-attr\">params<\/span>: {\n\t\t<span class=\"hljs-attr\">type<\/span>: <span class=\"hljs-string\">'color'<\/span>,\n\t\t<span class=\"hljs-attr\">content<\/span>: <span class=\"hljs-string\">'&lt;li class=\"customize-control customize-control-color\"&gt;&lt;\/li&gt;'<\/span>,\n\t\t<span class=\"hljs-attr\">priority<\/span>: <span class=\"hljs-number\">10<\/span>,\n\t\t<span class=\"hljs-attr\">active<\/span>: <span class=\"hljs-literal\">true<\/span>,\n\t\t<span class=\"hljs-attr\">section<\/span>: <span class=\"hljs-string\">'colors'<\/span>,\n\t\t<span class=\"hljs-attr\">label<\/span>: <span class=\"hljs-string\">'Favorite Color'<\/span>,\n\t\t<span class=\"hljs-attr\">settings<\/span>: { <span class=\"hljs-string\">'default'<\/span>: <span class=\"hljs-string\">'favorite_color'<\/span> },\n\t}\n} );\nwp.customize.control.add( <span class=\"hljs-string\">'favorite_color'<\/span>, control );\n\n<span class=\"hljs-comment\">\/* Since WordPress 4.9 \u2013 defalut values like in the PHP API *\/<\/span>\n<span class=\"hljs-keyword\">var<\/span> control = <span class=\"hljs-keyword\">new<\/span> wp.customize.ColorControl( <span class=\"hljs-string\">'favorite_color'<\/span>, {\n\t<span class=\"hljs-attr\">section<\/span>: <span class=\"hljs-string\">'colors'<\/span>,\n\t<span class=\"hljs-attr\">label<\/span>: <span class=\"hljs-string\">'Favorite Color'<\/span>,\n\t<span class=\"hljs-attr\">settings<\/span>: { <span class=\"hljs-string\">'default'<\/span>: <span class=\"hljs-string\">'favorite_color'<\/span> },\n} );\nwp.customize.control.add( control );<\/code><\/span><small class=\"shcb-language\" id=\"shcb-language-2\"><span class=\"shcb-language__label\">Code language:<\/span> <span class=\"shcb-language__name\">JavaScript<\/span> <span class=\"shcb-language__paren\">(<\/span><span class=\"shcb-language__slug\">javascript<\/span><span class=\"shcb-language__paren\">)<\/span><\/small><\/pre>\n\n\n<p>There are a lot more changes, so if you are interested in the JS API for the customizer, read Weston\u2019s post.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Customizer Changesets in 4.9<\/h3>\n\n\n\n<p>Another customizer-related dev note by Weston is \u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/11\/03\/new-features-and-enhancements-with-customizer-changesets-in-4-9\/\">New Features and Enhancements with Customizer Changesets in 4.9<\/a>\u00ab. Among other enhancements, 4.9 brings the ability to draft and schedule changesets in the customizer and lets unauthorized users preview customizer changes before they go live.<\/p>\n\n\n\n<p>A lot more information about these and the other changeset improvements can be found in Weston\u2019s post.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Misc<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/10\/30\/php-meeting-recap-october-23rd\/\">PHP Meeting Recap \u2013 October 23rd<\/a>\u00ab. The team continued to discuss the \u00bbBefore Upgrading PHP\u00ab section.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/10\/30\/mediaelement-upgrades-in-wordpress-4-9\/\">MediaElement upgrades in WordPress 4.9<\/a>\u00ab.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/10\/31\/changed-behaviour-of-esc_sql-in-wordpress-4-8-3\/\">Changed behaviour of <code class=\"lang-php\">esc_sql()<\/code> in WordPress 4.8.3<\/a>\u00ab.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/10\/31\/whats-new-in-gutenberg-31st-october\/\">What\u2019s new in Gutenberg? (31st October)<\/a>\u00ab. Among other things, the <a href=\"https:\/\/github.com\/WordPress\/gutenberg\/pull\/2998\">block toolbar was moved to the editor\u2019s top header<\/a>.<\/li><li>\u00bb<a href=\"https:\/\/wordpress.org\/news\/2017\/10\/wordpress-4-9-release-candidate\/\">WordPress 4.9 Release Candidate<\/a>\u00ab.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/11\/02\/php-meeting-recap-october-30th\/\">PHP Meeting Recap \u2013 October 30th<\/a>\u00ab. Among other things, there was an update given regarding the PHP compatibility checker plugin by WP Engine.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/11\/02\/dev-chat-summary-november-1st-4-9-week-14\/\">Dev Chat Summary: November 1st (4.9 week 14)<\/a>\u00ab.<\/li><li>\u00bb<a href=\"https:\/\/make.wordpress.org\/core\/2017\/11\/02\/press-this-in-4-9\/\">Press This in 4.9<\/a>\u00ab. 4.9 will remove Press This from core \u2013 there is <a href=\"https:\/\/wordpress.org\/plugins\/press-this\/\">a plugin to restore its functionality<\/a>, but old bookmarklets will not function with that.<\/li><\/ul>\n","protected":false},"excerpt":{"rendered":"<p>This week, WordPress 4.8.3 was released. The new version fixes a security issue, so updating is strongly encouraged.<\/p>\n","protected":false},"author":1,"featured_media":3219,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"wpf_show_in_dewp_planet_feed":false,"flobn_post_versions":"","webmentions_disabled_pings":false,"webmentions_disabled":false,"lazy_load_responsive_images_disabled":false,"footnotes":""},"categories":[37],"tags":[116],"class_list":["post-4290","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-wordpress-weekly-recap"],"wp-worthy-pixel":{"ignored":false,"public":"0a486615b0a344ad809c7dc2d2d479a3","server":"vg07.met.vgwort.de","url":"https:\/\/vg07.met.vgwort.de\/na\/0a486615b0a344ad809c7dc2d2d479a3"},"wp-worthy-type":"normal","_links":{"self":[{"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/posts\/4290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/comments?post=4290"}],"version-history":[{"count":7,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/posts\/4290\/revisions"}],"predecessor-version":[{"id":5835,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/posts\/4290\/revisions\/5835"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/media\/3219"}],"wp:attachment":[{"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/media?parent=4290"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/categories?post=4290"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/florianbrinkmann.com\/en\/wp-json\/wp\/v2\/tags?post=4290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}