Four Weeks in Core – October 9, 2023

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between September 4 and October 9, 2023.

Please note that exceptionally and because of personal vacations, this Week in Core issue covers 4 weeks 😊

  • 269 commits
  • 337 contributors
  • 295 tickets created
  • 43 tickets reopened
  • 277 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Continue reading

#6-4, #core, #week-in-core

Week in Core, March 8th – 14th, 2017

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [40239-40291]. Here are the highlights:

  • 53 commits
  • 22 contributors
  • 101 tickets created
  • 12 tickets reopened
  • 48 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above. The following is a summary of commits, organized by component.

Code Changes

Administration

Build/Test Tools

  • Tests: Use httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URLs for wordpress.comWordPress.com An online implementation of WordPress code that lets you immediately access a new WordPress environment to publish your content. WordPress.com is a private company owned by Automattic that hosts the largest multisite in the world. This is arguably the best place to start blogging if you have never touched WordPress before. https://wordpress.com/ assets in Tests_HTTP_Functions and Tests_Image_Functions. [40289] #31091
  • Update .travis.yml to include latest improvements from trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision.. [40288] #35105, #40100, #30755, #36291, #36490
  • Switch to Node 0.12.18 when testing the 4.2 branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch".. [40285] #35105
  • Allow Travis CI to cache the node_modules directory. [40280-40281] #36291, #36490
  • Build/Test tools: Get Travis builds working on HHVM again. [40274] #40100
  • Build/Test tools: Don’t install PHPUnit on the travis:js builds. Saves a couple of minutes of build time. [40273] #40100
  • Build/Test tools: Switch to Node 4.7.2 when testing the 4.5 branch. [40266] #35105
  • Build/Test tools: Don’t override the wp_set_auth_cookie() and wp_clear_auth_cookie() functions. [40265] #39367
  • Docs: Remove the duplicate hook documentation for the newly introduced send_auth_cookies 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.. [40264] #39367
  • On Travis CI install and use the node version which is specified in package.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML.. [40258] #35105
  • Build/Test tools: Account for PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 5.2 when using Composer to install PHPUnit. [40257] #39822, #40086
  • Build/Test tools: Explicitly use PHPUnit 5.7 for the PHP 7 builds on Travis. [40255] #39822, #40086
  • Build/Test tools: Remove the unnecessary clone of the twentysixteen repo. [40253] #31550, #40066
  • Build/Test tools: Revert [40239] due to unrelated changes. [40240] #39486

Bundled Theme

  • Twenty Seventeen: Correct grammar in ‘Page Layout’ control description. [40270] #40107

Canonical

Date/Time

  • Docs: Correct @return type for calendar_week_mod(). [40254] #40077

Media

  • Improve wording of the AYS warning when permanently deleting uploads, tags, posts. [40283] #39712

Misc

  • Build/Test tools: Don’t attempt to report PHP’s extensions when running HHVM jobs on Travis. It doesn’t work. [40267] #
  • Build/test tools: Add some more debugging to Travis and bring the format of the Xdebug fix inline with branches. [40259] #
  • Updates for 4.6. Merge of and to the 4.6 branch.

Query

  • Tests: Use assertSame() for WP_Query ‘orderby’ tests. [40278] #38034

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Fix the formatting of $taxonomies parameter of 'wp_get_object_terms' filter. [40290] #40154
  • Don’t run ‘get_terms’ filter when querying for terms within get_term_by(). [40275] #21760

Themes

  • Docs: Correct the description for wp.updates.deleteTheme. [40279] #40110

Widgets

  • Customize: Show title input placeholders for widgets that have default titles when rendered. [40251] #39909

Thanks to @afercia, @azaozz, @boonebgorges, @bor0, @dingo_bastard, @dlh, @dllh, @gma992, @ig_communitysites, @jnylen0, @johnbillion, @joostdevalk, @jorbi, @lancewillett, @laurelfulford, @MattyRob, @netwe, @netweb, @ocean90, @SergeyBiryukov, @westonruter, and @zoonini for their contributions!

Week in Core: Sept. 13-21, 2015

Welcome to the Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. — Week Four, with super-exciting news from around WordPress-land, and Core changes and updates for Sept. 13–21, 2015 (commits [34093][34361]). This week’s core contributorsCore Contributors Core contributors are those who have worked on a release of WordPress, by creating the functions or finding and patching bugs. These contributions are done through Trac. https://core.trac.wordpress.org. number 106! I’m especially jazzed about the number of new names on the list, and want to thank everyone for your effort this week.

News you can use

The WP REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/. team submitted a proposal to merge the pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party into core, with a two-phase integration plan. The merge proposal blog post also does a nice job of presenting the history of the plugin and some use cases.

Do you use my-hacks.php in your site? Don’t. (A quick search through the plugin and theme repos shows only 10 plugins and 3 themes that mention the file.)

Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site is making some pretty big changes, including the addition of the  WP_Network class. Check out this blog post, which outlines some of the changes and a roadmap for future updates for 4.4.

Interested in the user-focused part of WordPress? Of course you are! Join in the conversation about “Potential UI/UX projects in core.”

Code changes

Here are some highlights from the 268 change sets published to TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.; the complete report is available online in plain-text format for a bit more in-depth coverage.

Continue reading

#4-4, #week-in-core

Week in Core: Aug. 31 – Sept. 12, 2015

Welcome to the Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., with updates from weeks 2 & 3: Aug. 31 – Sept. 12, 2015, changesets [33821][34092].

It’s been a busy couple of weeks in Core, with almost too many changes to count (for the record, this one covers 271 commits!). I’m going to keep this update shorter than usual and highlight some of the bigger changes.

If you’re interested in helping write this weekly post, pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @morganestes in #core-weekly-update on Slack.

Special Note: WordPress 4.3.1 was released this week, with three security-related fixes. Be sure to update your sites!

Here’s some highlights of recent changes in core, along with some future plans and ongoing initiatives. Remember, Core moves pretty fast. If you don’t stop and look around once in a while, you could miss it.

  • WordPress will support PHP7 when it’s released. Huzzah!
  • HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands./2 is coming! Here’s a list of tickets that need attention to get WordPress ready.
  • Get involved in Twenty Sixteen, which is in active development on GitHub.
  • Write better commit messages. The world will thank you for it. 🙂
  • As described in this post by @johnbillion, the show_ui flag for post types now gets fully honored. See #33763 for the ticketticket Created for both bug reports and feature development on the bug tracker. discussion.
  • A new helper function, wp_validate_action( $action = '' ), was introduced in [34059] and is used throughout adminadmin (and super admin) instead of directly accessing $_REQUEST['action'].
  • A new file, wp-admin/includes/noop.php, was created to load all of the noop functions for load-script|styles.php and is only loaded by those files. DRYs in the process. [34037] #33813
  • Schema change introduced in [34030] to increase the length of wp_options.option_name to 191 chars. #13310
  • Implement a priority system for Help Tabs to add them at specific positions. [33985] #19828
  • Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site: Don’t allow sites to be created with the following reserved slugs: wp-admin, wp-content, wp-includes [33952] #33615
  • Updated recommendations for minimum versions of PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher (5.6) and MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. (5.5), with a special note that Oracle only actively supports MySQL for 5 years after a General Availability release. [33937] [33946]

For the full report, visit https://core.trac.wordpress.org/log/?verbose=on&format=changelog&rev=34092&stop_rev=33821&limit=400&mode=stop_on_copy.

Thanks to @adamsilverstein, @afercia, @amereservant, @ankit-k-gupta, @antpb, @austinginder, @azaozz, @BdN3504, @benjmay, @boonebgorges, @bradt, @brettz95, @celloexpressions, @cgrymala, @Cheffheid, @chriscct7, @codeelite, @CoenJacobs, @danielbachhuber, @daniellandau, @dannydehaan, @dd32, @dimadin, @dipeshkakadiya, @dlh, @DrewAPicture, @dustinbolton, @egower, @enshrined, @ericdaams, @ericlewis, @extendwings, @figureone, @filosofo, @gaelan, @GaryJ, @gitlost, @gnaka08, @gradyetc, @gregrickaby, @hauvong, @helen, @imath, @ippetkov, @iseulde, @ixkaito, @jazbek, @jeffstieler, @jeremyfelt, @jesin, @jobst, @johnbillion, @joostdevalk, @jorbin, @juliobox, @JustinSainton, @kevinlangleyjr, @khromov, @kitchin, @kraftbj, @lancewillett, @liljimmi, @lukecarbis, @macmanx, @MatheusFD, @mehulkaklotar, @mercime, @metodiew, @michielhab, @MikeHansenMe, @miqrogroove, @mitchoyoshitaka, @mordauk, @morganestes, @mrahmadawais, @mrmist, @Mte9, @nacin, @netweb, @nikeo, @nikolovtmw, @nofearinc, @obenland, @ocean90, @OriginalEXE, @Otto42, @paulwilde, @pavelevap, @pento, @peterwilsoncc, @racaseh, @rachelbaker, @rajnikmit, @rmccue, @rommelxcastro, @sc0ttkclark, @scribu, @SergeyBiryukov, @sillybean, @solarissmoke, @stevehenty, @swissspidy, @tmatsuur, @trepmal, @tyxla, @umeshnevase, @utkarshpatel, @wen-solutions, @wenthemes, @westonruter, @wojtekszkutnik, @wonderboymusic, @yoavf, and @zeo for their contributions!

#4-4, #week-in-core

WordPress Core Weekly

Howdy! Sorry, I dropped the ball last week so this week’s Weekly Roundup is a double issue — it covers April 4, 2015 [32003] to April 18, 2015 [32140].

This week marks the release of RC1, which is the first release that many pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party authors and betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. testers will test heavily. If you don’t already, now is a good time to check out the Alpha/Beta forums for any issues that crop up during this testing cycle.

We’re only days away from the release of 4.2; let’s finish strong! 🏃👏 Here’s the rundown of recent changes:

TinyMCE

  • Update to 4.1.9+. Changes:
    • Fixed 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. where extra empty paragraphs would get deleted in WebKit/Blink due to recent Quriks fix.
    • Fixed bug where the editor wouldn’t work properly on IE 12 due to some required browser sniffing.
    • Fixed bug where formatting shortcut keys where interfering with Mac OS X screenshot keys. [32058] #31895
  • Disable the wp-autoresize plugin in iOSiOS The operating system used on iPhones and iPads.. All iframes there are already expanded to the height of the content document. [32095] #31937
  • Update the “Keyboard Shortcuts” modal. [32060] #29558
  • Fix our shortcuts on Mac, use Ctrl + Opt + letter. [32059] #29558
  • Use window.twemoji directly in the wpemoji plugin. Gives a chance to the browser to lazy load twemoji.js when reloading the page. [32142] #31901
  • Remove the empty paragraph that sometimes is left over after adding an image caption. [32141] #32003

wpView

  • Remove selected views when inserting content but not when loading all content, and remove the ref. to the selected view node on resetting the views. [32140] #31998
  • Resize sandbox iframes on load. [32056] #31480
  • Empty the content in the timeout, so it doesn’t render iframes twice. [32022] #31669

Build/Test Tools

  • During PHPUnit tests, don’t autodetect permalink structure during WP installation. [32139] #31994
  • Move the built media JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files up a directory to their previous location and naming convention. [32125] #31912 (see [31373])
  • Don’t reference underscore.js source map. [32065] #31477

General/Misc.

  • WordPress 4.2-RC1 [32137] [32138]
  • Use HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URLs for codex.wordpress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/. [32116] #27115
  • Explain all placeholders in translator comment, not just the first one. [32111] #31675
  • Ensure post title input is not shortened for non-public post types. [32071] #30968
  • Improve handling of incomplete From and Content-Type headers in wp_mail(). [32070] #30266
  • wpLink: always show the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org field at the top. [32017] #28206
  • Force default avatarAvatar An avatar is an image or illustration that specifically refers to a character that represents an online user. It’s usually a square box that appears next to the user’s name. for HiDPI avatars on Discussion Settings. [32129] #31972

Translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. and Strings

  • Merge strings that describe the same command. [32078] #31776
  • Update placeholder for FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients. credentials. [32077] #31922
  • After [31941], use the decoupled strings from wp-admin/network/themes.php in wp-admin/network/site-themes.php as well. [32029] #28502
  • Correct grammar when referring to “a user” vs “an user” in several places. [32025] #31894

Administration

  • Fix flickering of the adminadmin (and super admin) menu on over-scrolling. [32089] #30900
  • Dashboard: Ensure images other than avatars (such as emoji replacements) in recent comments are not incorrectly positioned. [32076] #31919
  • Admin menu: fix colors for focus state and in IE8. [32075] #31345
  • Dismissible notices: more precise positioning across browsers. [32068] #31233
  • Reset padding for buttons in theme details modal. [32128] #31963
  • Revert [32099] per discussion in #core. [32100] #30900
  • Remove z-index from #adminmenuback. [32099] #30900
  • Don’t print the custom-background class in body_class() when a default color is in use. [32081] #28687
  • Toolbar: Search item consistency for focus state and IE8. [32074] #31322
  • Pointers: Make the dismiss icon a consistent size. [32069] #31915
  • Update more instances of default admin blues and grays. [32051] #31234

Emoji and Smilies

  • Tweak which smiley matches which emoji. [32105] [32107] #31709
  • Update our few remaining smilies to better align with Twemoji, and add frownie.png until Twemoji provides a build containing it. [32104] #31709
  • The emoji JS files should be run through the script_loader_src 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., as they would be if they were registered scripts. [32097] #31938
  • Tidy up the wp_encode_emoji() regex, and clarify the function comment on Unicode 8 support. [32096]
  • Remove an errant / in Twemoji URLs. [32024] #31893
  • Remove executable bit from smilies. [32109] #31709

Themes

  • Twenty Fourteen: update editor styles to better account for adaptive images in small screens. [32094] #31934
  • Twenty Fifteen: update editor styles to better account for adaptive images in small screens. [32090] #31934
  • Theme Compat: Make string translatable and add translator comments. Added in [31941]. [32084] #28502, #31921
  • Move initialization of $customizeSidebar to api.ThemesSection.initialize() to prevent cases where the result can be undefined. [32119] #31793
  • Translator comment should just reference placeholder numbers, not the actual placeholders. [32112] #31675
  • Tell developers how to correctly silence register_sidebar() notices. [32110] #31675

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

  • Refresh nonces when a session expires and the user logs in again. [32054] #31294
  • Widgets: Improve sync logic for select[multiple] inputs. [32012] #31885
  • Fix spinners after [31996]. [32008] #31884
  • Escape theme preview URLs. [32134] #31896
  • Headers: Improve handling of the initial headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes. model.[32091] #31786, #31742

Theme Switcher

  • Fix some esoteric breakage in iOS Safari. [32103] #31794
  • Don’t deactivate section on empty search results. [32083] #31889
  • Remove “Add New” reference from customize-controls.js. [32004] #31837
  • Use text input for the search field to prevent double tap issues for Preview and Customize buttons on iOS. [32127] #31794
  • Don’t re-render a theme control if it has already been rendered.
  • Lazy load theme screenshots. [32088] #31793
  • Fix tabbing order if section is open. [32087] #31289
  • Fix preview URL for subfolder installs. [32086] #31896

Shiny Updates

  • Disable shiny updates from modal based on parent window [32082] #31739
  • Fix logic for details based shiny updates. [32080] #31739
  • Disable modal initiated shiny updates on wp-admin/update-core.php. [32067] #31739
  • Use dashes instead of dots as separator for jQuery events in shiny updates . is used for namespaces, so better to use dashes. [32063] #31819
  • Trigger events upon the completion of a shiny update. [32061] #31819
  • Remove Shiny Bulk Updates. Bulk updates don’t need to be ajaxified so let’s revert. [32053] #31770, #29820
  • Conditionally add AYS to leaving shiny updates. [32052] #31769
  • Enable users to initiate a shiny update from plugin detail modal. [32062] #31739

Media

  • Don’t allow whitespace-only image captions from the Media modal. [32079] #21848
  • Fix focus and selected state for the selected attachments set. [32072] #31898
  • Rename get_media_embedded_in_content_allowed filter tomedia_embedded_in_content_allowed_types. [32113] #26675
  • Bring back spinners, now without bouncing select elements. [32101] #22839, #30725
  • Fix the media modal Insert into post button on narrow screens by limiting the width of .media-toolbar-primary and .media-toolbar-secondary only inside .attachments-browser (the top toolbar). [32121] #31908
  • Insert from URL: Make sure the link text is actually used. [32055] #29476
  • Make sure the spinner in the media modal is visible on narrow screens (without affecting the media grid). [32120] #30725

Build Tools

  • Don’t override minified libraries included in coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. [32066] #31477

Docs

  • Remove unnecessary inline @see tags from a variety of parameter and return descriptions in wp-includes/wp-db.php. [32050] #31888
  • Remove unnecessary inline @see tags from the wpdb::process_field_charsets()DocBlockdocblock (phpdoc, xref, inline docs). [32049] #31888
  • Add a missing return description for has_header_image(). [32048] #31888
  • Fix a variety of inline documentation syntactical issues in wp-includes/taxonomy.php. [32047] #31888
  • Add a missing @access tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) to the DocBlock for the WP_Meta_Query->$clauses property. Also adds a missing return description for WP_Meta_Query::get_clauses(). [32044] #31888
  • Add a variety of missing descriptions and fix syntax for wp_scripts(),_wp_scripts_maybe_doing_it_wrong(), and wp_script_add_data(). [32040] #31888
  • Remove an unnecessary inline @see tag and document the $wpdb global in two WP_Comment_Query methods. [32038] #31888
  • Add missing parameter and return descriptions to WP_Customize_Widgets->filter_customize_dynamic_setting_args(). [32036] #31888
  • Add parameter and return descriptions for WP_Customize_Widgets->get_setting_type(). [32035] #31888
  • Add missing @access tags to two DocBlocks in WP_Customize_Setting. [32034] #31888
  • Document the $theme property in WP_Customize_Themes_Section. Also adds a missing@access tag to the DocBlock for WP_Customize_Themes_Section->render(). [32033] #31888
  • Cleanup DocBlock syntax, add a missing parameter description for WP_Customize_Manager->set_post_value(). [32031] #31888
  • Add inline doc syntax fixes for WP_Customize_Manager->doing_ajax(). Also adds a return description. [32030] #31888
  • Add documentation for the $type and $theme properties in WP_Customize_Theme_Control. Also add some missing @access tags to various DocBlocks. [32028] #31888
  • Fix description alignment for the category_css_class filter docs. [32026] #31888
  • Add documentation for the $type, $mime_type, and $button_labels properties in WP_Customize_Media_Control. [32023] #31888
  • Clarify the DocBlock summary and parameter description forwp_edit_attachments_query_vars(). [32019] #31888
  • Add proper descriptions for the @global and @param tags in the wp_media_attach_action() DocBlock. [32018] #31888
  • Clarify the DocBlock description for wp_print_request_filesystem_credentials_modal(). [32016] #31888
  • Clarify 4.2.0 changelog entry, add global description to the DocBlock for WP_Users_List_Table->single_row(). [32015] #31888
  • Add missing @since versions from a variety of methods in WP_Press_This. [32014] #31888
  • Add missing DocBlocks for the _limit_array(), _limit_string(), _limit_url(),_limit_img(), _limit_embed(), and _process_meta_entry() utility methods in WP_Press_This. [32013] #31888
  • Add a return description to the DocBlock for WP_Posts_List_Table->is_base_request(). [32009] #31888
  • Add an @see mention for Plugin_Upgrader, plus spacing to the wp_ajax_update_plugin()delcaration. [32006] #31888
  • Add a more descriptive function summary for options_discussion_add_js(). [32005] #31888
  • Fix Docblock syntax for the taxonomy_parent_dropdown_args filter. [32003] #31888
  • Add a missing return description for wp_styles(). [32041] #31888
  • wp_install_maybe_enable_pretty_permalinks() should have a consistent @return value. [32027] #6481, #31888

Help/About

  • All strings are available for translation. [32132] [32135] [32136] #31929
  • Change the subhead strings on credits.php and freedoms.php to match about.php.
  • Link the Emoji Codex article in the emoji blurb.
  • Add a second sentence to the JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a user’s browser. https://www.javascript.com/. AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) blurb.
  • Switch positions for the JavaScript Accessibility and Complex Query Ordering sections for balance. [32131] #31929
  • Update about page for 4.2. [32118] [32123] [32130] #31929

Upgrade/Install

  • Move wp-plugin-update-success event to after lock is released [32133] #31978, #31819
  • Use named function instead of anonymous function, making it testable and replaceable. [32126] #31964
  • When dbDelta() is checking whether an index is defined in a CREATE TABLE statement, don’t worry if MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. has a subpart defined on an index, but the CREATE TABLE doesn’t. [32108] #31869

Script Loader

Press This

  • Do not show the bookmarklet upgrade notice when accessing directly press-this.php. [32122] #31968
  • Add mb_strlen() compatibility function. Works the same way as the existing mb_substr() compatibility function. [32114] #31951
  • Check the bookmarklet version and add the update notice from PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher. [32106] #31942
  • Add ARIA attributes to the alerts container. [32102] #31942
  • Fix focusing the Standard Editor link after saving draft, if the user has not focused another element. [32098] #31923
  • Change the link text to Standard Editor. [32093] #31923
  • When saving a draft change the text of the Save Draft button to “Saving…” [32092] #31923
  • Update documentation for press_this_save_redirect filter after [31992]. [32143] #31996

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • wp_update_term() should check if get_term() returned null. [32117] #31954
  • Avoid an unexpected object error when syncing global terms. Pass the expected single value, rather than object, when recursively calling global_terms(). [32064] #31914, #31149

Editor

Thanks to @adamsilverstein, @afercia, @awbauer, @azaozz, @boonebgorges, @DavidAnderson, @dimadin, @dlh, @DrewAPicture, @ericlewis, @hauvong, @helen, @hugobaeta, @iseulde, @jamescollins, @jeremyfelt, @joemcgill, @joen, @johnbillion, @jorbin, @kraftbj, @lancewillett, @markjaquith, @mattheu, @Michael-Arestad, @mindrun, @morganestes, @nacin, @nitkr, @obenland, @ocean90, @pavelevap, @pento, @peterwilsoncc, @samuelsidler, @SergeyBiryukov, @siobhan, @sirbrillig, @slobodanmanic, @swissspidy, @tmatsuur, @Tmeiste, @tyxla, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Here we go again! It’s time to look at what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This edition of WordPress Core Weekly covers March 28, 2015 [31916] through April 4, 2015 [32002].

Note: If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

Highlights from this week

This week WordPress 4.2 Beta 4 got released. This hopefully last betaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. saw lots of accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) improvements and added the ability to make adminadmin (and super admin) notices dismissible. Emoji support in core is now pretty stable – maybe the next weekly post is written in emojis only? Also, there were some notes posted on utf8mb4 and the term splitting in WordPress 4.2.

Last but not least, @obenland and @wonderboymusic were announced as release leads for WordPress 4.3 and 4.4, respectively. Congrats! 🎉

Code Updates

Posts, Post Types

  • After [31114] and [31323], ‘View Post’ generated in get_sample_permalink_html() should go to pretty permalink. [32002] #30910
  • Avoid duplicate classes for different terms with UTF–8 slugs in post_class() and body_class(). [31979] #30883
  • In WP_Posts_List_Table::get_views(), don’t add the current class to the all status link if ->user_posts_count has a value, which triggers the additional mine status. [31959] #24869

Users

  • WP_User_Query: When querying users with fields=all, ensure that caps and roles are filled for the current site. [32001] #31878
  • When updating the email address for an existing user, make sure the email address is not already in use. [31963] #30647

Comments

General

  • WordPress 4.2-beta4 [31997][31998]
  • Respect numerical keys in add_query_arg(). Avoid the use of array_replace() in add_query_arg(). [31966][31967] #31306
  • TinyMCE: always focus the editor after using the floated toolbar. [31972] #30619

Emoji

  • Enhance twemoji.js to support passing of additional attributes for the replacement images. [31948] #31627
  • When encoding emoji into HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. entities, 0 was being incorrectly trimmed from the right side of the hex string, causing some characters to be encoded incorrectly. [31926]
  • When staticizing emoji into <img> tags, include an alt attribute of the original Emoji, to match both Smiley and Twemoji <img> tags. [31924]
  • Change the emoji CDN to w.org, from wp.com. [31938][31977] #31651

Themes

  • Accessibility improvements for Themes screen: fix keyboard events and callbacks for the Search field, increase trigger timeout a bit, improve Esc. key handling. [31994] #26600
  • Improve focus styling of add-new-theme link. [31952] #31203
  • Add a 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. to short-circuit wp_prepare_themes_for_js(). [31943] #31789

Administration

  • Accessibility improvements for Options general screen: add missing labels and aria attributes. [31993] #31144
  • Accessibility: Add landmark roles to WordPress admin areas. [31955] #31450
  • Make sure the update button in “At a Glance” dashboard widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. does not overlap with long strings. [31928] #30766

Press This

  • Prevent pasting of HTML in the title H2. Insert the clipboard text instead. [31987] #31768
  • Use more accurate wording on Tools screen. [31980] #31836
  • Use the error message returned by wp_update_post() instead of a generic one. [31930] #31808
  • Fix accessibility for the post options “sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme.”. Fix size of the Add CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. button. [31925] #31575

Upgrade/Install

  • Introduce a string representing bulk pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party update success, ready for string freeze. Not used yet. [31991] #31770
  • Plugins Browser: Replace the download count with the number of Active installs of the plugin. [31990] #31865
  • Add beforeunload string for shiny updates. [31989] #31769
  • Update aria-label when doing a shiny plugin update [31982] #31722
  • Add some logic into wp_tempnam to prevent it creating ‘falsey’ directory names that might get used elsewhere within WordPress. [31936] #31811

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Merge title strings on Edit Site screens. [31962] #31844
  • Remove unused printf() on networknetwork (versus site, blog) setup screen. [31961] #31841
  • Decouple strings where the singular and plural form are not just the same string with different numbers, but essentially two different strings. [31941][31951] #28502

Customize

  • Theme Switcher: Navigation streamlining. [31975] #31289
  • Theme Switcher: Remove “Add New” references. [31968] #31837
  • Theme Switcher: Switch the details/live preview buttons. [31954] #31791
  • Theme Switcher: Use the global panel back button instead of adding a new one. [31918] #31794
  • Theme Switcher: Fix invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. HTML markup when New Theme control is added. [31950] #31203
  • Make the available widgets overlay closable on narrow screens. [31974] #28784
  • Defer rendering theme controls until the section is displayed. [31944] #31793
  • Revert [31911]. We want to preserve url and return URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org parameters to make the experience smoother. [31933] #31782
  • Increase size of search field and disable text size adjustment to prevent auto zooming. [31917] #31794
  • Increase initial-scale viewport specification to 1.0. [31921] #31794, #28784
  • Fix selector for container which includes the controls. Broken since [30102]. [31916] #31794, #31014

XML-RPC

  • Correctly set the post author in wp_xmlrpc_server::mw_editPost() when the current user is not the author of the post. [31983] #24916

Networks and Sites

Administration

  • Admin notices: Make (most) core notices dismissible. These no longer return upon refreshing the page when JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. is on and working, so users should be able to dismiss them. [31973] #31233, #23367

Bundled Theme

  • Twenty Eleven: add postMessage support for header_textcolor to improve the user experience in the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. [31971] #24128
  • Twenty Fifteen: adjust scroll behavior to make sure sidebar height is calculated during scroll events, not just resize events. [31934] #31734
  • Twenty Thirteen: make sure submenu links work correctly on small screens with touch events. [31932] #31762

Formatting

  • Alter the regex in wptexturize() to properly handle input like: <> "Hello world" <>. [31965] #30344

Permalinks

  • When shifting WP_Rewrite::flush_rules() to a later action if it was called too early, make sure to do a hard flush if requested. [31964] #30501

Media

  • When editing an image from the editor, and the image has a value for alignment (but not for width or caption), don’t bail without first checking that the alignment’s value is not alignnone. If so, add the class to the <a> before bailing. [31958] #21848
  • Media Library: Add a label for attachment type select in list mode. [31942] #31795

Editor

  • wpLink: Enable smooth scrolling on iOSiOS The operating system used on iPhones and iPads. devices. [31957] #31612

Database

  • When we check the character set of a column, and find that it’s utf8mb4, we should also check that the current connection supports utf8mb4. It’s possible that the environment may have changed since upgrading the DB, so we can fall back to utf8 when that happens. [31947] #31771
  • When we’re checking to see if the MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. client library supports utf8mb4, we need a separate check for mysqlnd versions, which using different version numbering to libmysqlclient. [31939] #31644

Login and Registration

  • Disable body scrolling when session expired log in modal is open. [31945] #31610

Media

  • Revert using require for JS modules because that made them read-only for the public. [31935] #31684, #28510

Menus

  • Fix duplicate ID for Save Menu button on Menus screen. [31927] #31803

Thanks to @A5hleyRich, @adamsilverstein, @afercia, @azaozz, @boonebgorges, @cdog, @celloexpressions, @davideugenepratt, @dd32, @deconf, @Denis-de-Bernardy, @designsimply @dllh, @DrewAPictur, @DrewAPicture, @ericlewis, @evansolomon, @folletto, @helen, @iseulde, @jeremyfelt, @joedolson, @johnbillion, @jorbin, @jorbin, @kraftbj, @lancewillett, @markoheijnen, @mattheu, @mattwiebe, @MattyRob, @mehulkaklotar, @MikeHansenMe, @miqrogroove, @mordauk, @mrahmadawais, @ocean90, @paulwilde, @pento, @ramiy, @redsweater, @rittesh.patel, @sagarjadhav, @SergeyBiryukov, @sgrant, @stephdau, @swissspidy, @tyxla, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This edition covers March 20, 2015 [31845] through March 28, 2015 [31915].

If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

This week’s highlight is WordPress 4.2 Beta 3, which was released on Thursday. There were many accessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) and emoji improvements and 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. fixes. Also, shiny installs functionality was removed.

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Improve newly added strings for i18n. [31905] #31776
  • Remove <code> tags from translatable strings. Uncomment deprecation notice for get_bloginfo( 'text_direction' ). [31899] #30614

Customize

  • Theme Switcher: Opening themes details modal shouldn’t require two clicks on touch devices. [31914] #31794
  • Theme Switcher: Reset font size of theme names in overlay. Apply left position only to themes section. [31892] #31303
  • Theme Switcher: Don’t hide action buttons on narrow screens. [31912] #31794
  • Use proper preview URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for Live Preview links. [31911] #31782
  • Avoid SecurityErrors when the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. is embedded in an origin other than wp-adminadmin (and super admin). [31885] [31893] #31687
  • Use responsive button styles if screen is max-width 640px. [31913] #31794, #28784

Emoji

  • [31864] changed emoji image’s inline style from height to max-height. Unfortunately, anything using feedparser.py (for example, NewsBlur) strips out max-height, which gives us massive emoji in feeds. This re-adds height, and also reminds us why we can’t have nice things. [31909] #31719
  • When we’re replacing emoji with <img>s in email, we can only do that if the Content-Type is text/htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. – otherwise, they’ll show up in the email as the HTML string. [31860] #31720
  • Instead of loading the emoji JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files automatically, we now include a small JS shim in the headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes., to test if the user’s browser needs Twemoji. It then loads the emoji JS files only if they’re needed. [31875] [31877] [31879] #31701
  • Set the emoji image protocol with set_url_scheme(), instead of defaulting to HTTPSHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information.. [31861] #31735

Press This

  • Remove role="application" from the Categories list wrapper. This doesn’t make it work better in screen readers. [31907] #31443
  • On sites that support oEmbed, if the user has selected some text, quote it below the embed. [31894] #31763
  • Fix the links on inserted images to point to the source site. Fix inserting of images above the blockquote when the editor has not been focused. [31868] #31745

Upgrade/Install

  • Fill $plugins['upgrade'] with extra info for use in list table [31872] #31738
  • Remove Shiny PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party Installs [31897] [31900] [31901] #31773, #29820
  • When creating a temporary working directory, strip off .tmp as well as .zip incase we end up using that directory as the items main directory. [31863] #30945

General

  • Remove ambiguity in the time display format in core, switches to using 24hr notation where am/pm isn’t specified. [31862] #31121
  • Comments List: Don’t let “Quick Edit” break on smaller screens. [31889] #31482
  • Admin menu: Revert [31720] for swipe open/closed. This is problematic on any device that uses swipe for history navigation, particularly iOSiOS The operating system used on iPhones and iPads.. [31910] #31187
  • Do not output empty name and id HTML attributes in get_submit_button(). [31880] #31749
  • When altering the admin URL to reflect the canonical location, keep the existing hash (if present) in the URL. [31882] #31758, #23367
  • WordPress 4.2-beta3 [31902] [31903]

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • When saving post, ensure that non-hierarchical taxonomy input is defined before attempting to parse it. [31895] #30859
  • Taxonomy List Tables: On mobile devices, hide the slug column, to avoid cramping the action links into two rows. [31865] #29992
  • Supplement hook documentation for the get_terms_fields 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. to more clearly explain the expected consequences of using it to modify the fields to select in a terms query. [31855] #31174

TinyMCE

  • Make sure the editor is not completely empty before checking if the user clicked above or below a wpView. [31888] #31765
  • Pad empty paragraphs with <br> in Chrome to stop it from inserting non-breaking spaces in them. [31878] #31255
  • Fix error and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher warning when adding more than one instance in RTL mode. [31874] #31578
  • Fix the icon for the wp_code button. [31858] #31733
  • When pasting an URL, check if the node it is pasted at is empty and remove any empty inline child elements. [31856] #31158

Script Loader

  • Avoid a PHP notice in wp_enqueue_script() if $handle is an array. Calling wp_enqueue_script() with an array as the first argument is a “hidden feature” and should be avoided. Use dependencies instead. [31887] #31636, #14488

Widgets

  • Text WidgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.: Use !empty() for checking if the filter setting is set. [31886] #31690
  • Trigger _doing_it_wrong() if register_sidebar() is not passed an id. [31850] #31675

Login and Registration

  • Implement an aria-describedby attribute for login screen errors, and improve the “Forgot password?” anchor text. [31871] #31143

Media

  • Introduce attachment_url_to_postid filter to let plugins manage the uploads location better. [31867] #31717
  • Show filename instead of extension in the list table. [31857] #30943

Bundled Theme

  • Update editor styles to better display images and captions in small screens. [31849] #31250

Build/Test Tools

Thanks to @A5hleyRich, @afercia, @aferica, @atimmer, @azaozz, @boonebgorges, @Cheffheid, @dd32, @dkotter, @DrewAPicture, @ericlewis, @extendwings, @HarishChaudhari, @helen, @ianmjones, @iseulde, @jacklenox, @janhenckens, @johnbillion, @johneckman, @jorbin, @kraftbj, @lamosty, @lancewillett, @magicroundabout, @maimairel, @markjaquith, @mattheu, @mattwiebe, @MikeNGarrett, @nerrad, @obenland, @ocean90, @pento, @ramiy, @rianrietvel, @SergeyBiryukov, @sorich87, @stephdau, @swissspidy, @tschutter, @tyxla, @valendesign, @valendesigns, and @westonruter for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., directly from WordCampWordCamp WordCamps are casual, locally-organized conferences covering everything related to WordPress. They're one of the places where the WordPress community comes together to teach one another what they’ve learned throughout the year and share the joy. Learn more. London. This edition covers March 13, 2015 [31765] through March 20, 2015 [31844].

If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

This week’s highlight is definitely WordPress 4.2 Beta 2, which was released on Thursday. Make sure to check it out!

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Use bold Arial for RTL headings. [31843] #30807
  • Make dates in multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site site and user list tables translatable. [31833] #22302

Bundled Themes

  • After [31453], replace `current()` with `reset()`, which is guaranteed to be the first item. [31842] #31259, #31260
  • Replace array_shift() with reset() where appropriate for performance. [31829] [31841] #31259, #15459
  • Add documentation for new onResizeARIA function. [31814] #31527
  • Twenty Fourteen: add ARIA attributes to search toggle. See #31527. [31794] #31527
  • Twenty Thirteen: add ARIA attributes to menu toggle. See #31527. [31785] #31527
  • Twenty Fourteen: add ARIA attributes to menu toggle. See #31527. [31784] #31527
  • Use SSLSSL Secure Sockets Layer. Provides a secure means of sending data over the internet. Used for authenticated and private actions. for theme and author URIs. [31839] #31699, #27115
  • Add trailing slashes to theme URIs to avoid a redirect. [31840] #31839

Canonical

  • If the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org being visited has non-breaking spaces at the end of it, they were probably inserted by an errant URL copy/paste. Instead of showing a 404 for no obvious reason, let’s just trim them. [31838] #31499

Press This

  • Check if the URL is to embeddable content on a site that supports oEmbed. Then insert only the URL in the editor. It will trigger a wpView with the embedded content. [31827] #31637
  • Prepend the site domain to root-relative URLs. Reject other relative URLs. [31818] #31645
  • Ignore site descriptions that end with an ellipsis. These are most likely auto-generated. [31810] #31639
  • Change the Publish button text to Submit for Review for contributors (like on the Edit Post screen). [31798] #31658
  • Increase the number of metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. tags we check in the bookmarklet to 200. Sometimes there are empty meta tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) nodes (no attributes) in some browsers. [31778] #31373
  • Simplify and restyle the categories drop-down, remove the checkboxes and use JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. to get the selected categories on submitting the form. [31765] #31443

Plugins

Embeds

  • Revert stripping of tags from pasted URLs on beforeSetContent [31817] and [31819]. Clean up URLs on `pastePreProcess`. [31832] #31158
  • Small cleanup for stripping of tags from pasted URLs. See #31158. [31819] #31158
  • Strip tags from pasted URLs before testing if they are embeddable. [31817] #31158

Upgrade/Install

  • Ensure that we target the correct pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party row for update updates [31831] #31621
  • Request FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients. and SSHSSH Secure SHell - a protocol for securely connecting to a remote system in addition to or in place of a password. credentials when needed during shiny updates [31811] #31528

General

  • WordPress 4.2-beta2 [31835]
  • Remove duplicate label on Add New User screen. [31777] #31131
  • Don’t try to call wp_clean_plugins_cache(); twice in wp_clean_update_cache(). [31825] #31503
  • List tables: Go back to inserting quick edit rows after, as some plugins rely on that assumption. Results are the same. [31820] #26060

Emoji

  • Move a comment to match the restructure in [31779], and add an extra comment explaining how emoji rendering support is detected. [31788] #31242
  • Fix few typos. See #31242. [31787] #31242
  • Add the styling for the replacement images to the adminadmin (and super admin) CSSCSS Cascading Style Sheets. and revert to using .emoji as replacement image class. [31786] #31242
  • Smilies: The new smilies added in [31733] and [31745] are larger than the old smilies. By adding a little bit of inline style to them, we get pleasingly sized smilies everywhere. 🙂 [31781] #31242
  • Yet another update for Twemoji, to 1.3.2. See #31242. [31773] #31242
  • TinyMCE emoji: fix highlighting of selected replacement images in Chrome. [31822] #31628

Posts, Post Types

  • Add WP_Posts_List_Table::is_base_request() to determine if the current “view” is the “All” (default) view. [31828] #24869

Widgets

Toolbar

  • Protect against Firefox font rendering interference by themes. [31824] #30021

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Edit Terms: Show error messages actually as error messages. [31823] #31241
  • Ensure that the $exclusions parameter of list_terms_exclusions 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. is always a string. [31813] #31681

Comments

  • Move HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. tags for screen reader text into translatable strings. [31821] #26553
  • Improve method consistency in WP_Comment_Query. These changes bring WP_Comment_Query syntax closer to that of WP_Query. [31793] #24826
  • Restore line breaks before comment text in comment notification emails. [31770] #31508

Filesystem 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.

  • Change WP_Filesystem_FTPext::exists() and WP_Filesystem_ftpsockets::exists() to return true for empty directories. [31815] #30815

Build/Test Tools

Formatting,Taxonomy

  • In wp_insert_term(), allow a term with an existing name if a unique $slug has been provided. [31792] #17689 #31328

Database

  • HHVM doesn’t support passing a DB link to mysqli_get_client_version(). While we usually pass a DB link to every ext/mysqlMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. and mysqli function call, we don’t really need to do that here, as there’s no way for the client library to change mid page load.[31783] #31644

Thanks to @abhishekfdd, @afercia, @azaozz, @boonebgorges, @cbaldelomar, @cfinke, @danielbachhuber, @DrewAPicture, @ericlewi, @ericlewis, @fhwebcs, @helen, @imath, @iseulde, @jeremyfelt, @jorbi, @jorbin, @kraftbj, @lancewillett, @mercime, @Michael-Arestad, @mordauk, @morganestes, @obenland, @ocean90, @pavelevap, @pento, @rahulbhangale, @SergeyBiryukov, @siobhan, @stephdau, @swissspidy, @TobiasBg, @valendesigns, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hi everyone, and welcome to this week’s installment of WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Weekly – covering March 5 2015 [31621] through March 13, 2015 [31764].

If you want to write the next WordPress Core Weekly summary, check out the schedule over at make/docs and get in touch in the #core-weekly-update Slack channel.

WordPress 4.2 BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1

In case you missed it, the first beta of WordPress 4.2 was released yesterday! Read the announcement post for a quick overview of all features (emojis! 🎉🎉) and be sure to test it extensively.

Code Updates

General

  • Add emoji support, with Twemoji fallback. [31733] [31745] [31750] [31756] [31758] #31242
  • Add emoji URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org support, and Twemoji fallback for displaying slugs in wp-adminadmin (and super admin), when the browser doesn’t natively support emoji. [31734] #31328
  • Gravatars: Enable HiDPI versions for browsers that support srcset. [31721] [31722] #22329
  • Declare multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site as a field for WP_Object_Cache. [31682] #30799
  • Introduce $autoload parameter to update_option(). [31640] [31628] #31130, #26394

TinyMCE

  • Abstract the code for creating floating toolbars. Introduce editor.wp namespace to hold exported methods from our plugins. [31725] #30619
  • Hide TinyMCE help button on mobile. [31718] #31161
  • Update TinyMCE to 4.1.9. [31700] #31551
  • TinyMCE: when pasting an URL over a selection, insert a link with the URL instead of replacing the selection with it. [31691] #31571
  • In the modal state for Embed previews, only show the Title field when the preview fails. [31632] #29476

Upgrade/Install

  • Shiny Updates: Disable body scrolling when filesystem request modal is open. [31753] #31607
  • Shiny Updates: Don’t translate an error code string. [31751] #31606

Posts, Post Types

  • Allow is_page_template() to accept an array, as many other conditional tags do. [31754] #31271
  • Introduce a new algorithm for displaying a hierarchical list of post objects in the WP_Posts_List_Table. This reduces processing time, reduces database queries, and substantially reduces memory use on sites with a high number of Pages. [31730] #15459

Press This

  • Remove obsolete help tab in Settings -> Writing. [31743] #26794
  • update _limit_url(), use esc_url_raw(). [31737] #31373
  • 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. and select the content on the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher side. Then pass only the needed data to JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors.. [31693] #31373
  • Add preview functionality. Opens the preview in a new window or a tab next to the source tab. [31654] #31458

Media

  • EXIF/IPTC captions should populate Caption (post_excerpt) on upload, not Description (post_content). [31694] #22768
  • Introduce a function, wp_attachment_is( $type, $post = 0 ), to collapse the logic for determining whether an attachment is an image, audio, or video. [31645] [31670] #25275

Widgets

Feeds

External Libraries

Plugins

  • PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party details: Ensure banner image doesn’t repeat. [31719] #30773

Embeds

  • Remove oEmbed support for Revision3. [31712] #31592
  • Allow httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URLs for Instagram embeds, and switch to https for its oEmbed 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. endpoint. [31710] [31711] #28507
  • Add oEmbed support for Kickstarter. [31671] #29126
  • Add oEmbed support for Tumblr. [31630] #31180

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

  • Return the original value when filtering theme mods/options and the current blogblog (versus network, site) has changed. [31707] #31428
  • Prevent a race condition when attempting to publish too soon after updating widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. form fields with multiple edits. [31706] #31501
  • Fix previewing and applying widgets when previewing another theme. [31705] #31484
  • Introduce WP_Customize_Media_Control, a new base class for all Customizer media controls. [31698] #29215
  • Add loading indicators for the Customizer preview. [31697] #31196
  • Add audio/video previews for upload controls. [31661] #30850

Comments

  • Improved customizability for the Submit button in comment_form(). [31699] #15015
  • Comments: Show more identifying information for moderation and editing. [31641] [31695] #23988

Administration

  • Screen Options: Improve items per page option label. Add a default label “Number of items per page:” to WP_Screen->render_per_page_options() and remove all the existing one-word labels. [31696] #31349, #15576
  • Theme Details: Hide admin toolbar on smaller screens. [31702] #31381
  • Star ratings: Use a yellow color across the board. Keying these to color schemes originally turned out to be weird. [31747] #31424
  • Remove single-use URL parameters and create canonical link based on new URL. [31736] #23367
  • Allow swiping of the admin menu on touch devices. [31720] #31187
  • Restore <title> tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) on Posts and Pages screens after [31696]. [31709] #31349
  • Replace flagrant instances of .htmlHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers.(”) with .empty(). [31690] #27034
  • Nav menus: Return to calling links “Custom Links”. [31748] #31344

Networks and Sites

  • Introduce delete_site metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress. capability. [31673] #30470
  • Return HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. status code 403 in networknetwork (versus site, blog) admin when access is forbidden. [31658] #31422
  • Return HTTP status code 500 by default in ms_not_installed() [31657] #30002

Query

Users

  • Improve experience when deleting users from a multisite network. [31656] #18132

Bundled Theme

  • Twenty Fifteen: add ARIA attributes to menu toggle. [31644] #31527

Thanks to @adamsilverstein, @afercia, @azaozz, @batmoo, @beaulebens, @bendoh, @boonebgorges, @celloexpressions, @codix, @coffee2code, @craig-ralston, @dd32, @doublesharp, @DrewAPicture, @elliottcarlson, @ericlewis, @Fab1en, @HarishChaudhari, @helen, @hugobaeta, @iandunn, @Idealien, @iseulde, @jeremyfelt, @jesin, @jipmoors, @joen, @johnbillion, @jorbin, @kraftbj, @lancewillett, @LeoPeo, @mattheu, @mattheu, @MattyRob, @Michael-Arestad, @MikeHansenMe, @miqrogroove, @morganestes, @morpheu5, @mkaz, @nacin, @netweb, @ninnypants, @nofearinc, @obenland, @ocean90, @OriginalEXE, @pavelevap, @pbearne, @pento, @peterwilsoncc @podpirate, @rachelbaker, @rodrigosprimo, @scott.gonzalez, @seanchayes, @senff, @SergeyBiryukov, @SergeyBiryukov, @stephdau, @stevenkword, @swissspidy, @thaicloud, @thomaswm, @tyxla, @valendesigns, @westonruter, @wonderboymusic, and @yo-l1982 for their contributions!

#4-2, #week-in-core

WordPress Core Weekly

Hello everyone, let’s have a look at what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.! This edition covers February 19th, 2015 [31479] through February 25th, 2015 [31544].

If you want to write the next WordPress Core Weekly summary, check out the table over at make/docs and get in touch in the #core-weekly-update Slack channel.

Customize

  • Make sure WP_Customize_Manager::theme() never returns null. [31536] #31445
  • Add theme browsing and theme switching to the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.. Brings into core the Customizer Theme Switcher feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins.. You can now browse, preview, and activate themes right from the Customizer [31533] #31303

AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility)

  • Provide proper label associations and descriptions throughout the networknetwork (versus site, blog) adminadmin (and super admin) [31517] #38406
  • Add missing labels to Archives and Categories dropdown widgets. [31520] #18650

Press This

  • JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. encode the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org before appending it to the bookmarklet. See #31373. [31537] #31373
  • Hard-code the minified bookmarklet js. Adding the non-minified bookmarklet to the browser bookmarks bar may have unexpected effect. #31373
  • PressThis v2, first run. [31534] #31373

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Add orderby=description support to get_terms(). This appears as a sortable column headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.. [31532] #31364
  • Pass taxonomy name, not object, to edit_term_taxonomy and edited_term_taxonomy actions. [31525] #30999

Media

  • Better image-type support checks in image unit tests. PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher can be compiled without support for certain image types. Our unit tests should be sensitive to these configurations. [31510] [31512] #31124
  • Specify globals in media JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. files – it is important to denote where we are diverging from dependency injection. [31489] [31491] [31492] [31493] [31494] #28510

Upgrade/Install,Upgrade/Install

  • Upgrades: Specifically pass the version and locale POST vars through the Core Update FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients. credentials form. [31527] [31528] #30245 #31378

Script Loader

Menus

  • Menus: Remove fixed height from .description-thin fields. [31524] #31426
  • Menus: Prevent checkboxes and radio buttons from being stretched to full width on mobile. [31523] #31425

Themes

  • Use a darker color for “No themes found” message to increase contrast. [31519] #26600
  • Add feedback for screen readers when search results are changed. [31497] #26600
  • Update the theme count when searching for installed themes, like we do on Add Themes screen. [31495] #26600

Comments

  • Add comment-author-is-site-member class to comment output for site members. [31518] #24054
  • Delegate focusin and focusout events for row actions to make sure the actions are always revealed on focus. [31509] #29765

Users

  • Multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site: Pass a response code of 200 to wp_die() when a user is successfully added to an individual site after using the /newbloguser/ URL from an invite email. This is a user facing success message. [31514] #31224
  • Multisite: Avoid clearing stored capabilities for a user when removing their built in role in multisite. [31516] #18934
  • When creating a new user, pasting a password should update the password strength indicator. [31483] #31226

Administration

  • Improve table footer tab sequence by moving &lt;tfoot&gt; after &lt;tbody&gt;. [31513] #30914
  • Dashboard: Add a 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. for the query arguments used for the Recent Posts widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user.. [31508] #29374
  • Quick Edit: Make date fields a bit wider. [31507] #27912
  • Use correct closing tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) for “Under the Hood” header on About screen. [31503] #31402

Plugins

  • Do not activate plugins on initial installation in multisite. Check is_multisite() before activating a pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party that has been installed via AJAX. Without this check, the plugin would be automatically activated on the main site of the network. [31511] #31327

TinyMCE

  • TinyMCE wpView: don’t insert nested paragraphs when inserting embeddable URLs. [31485] #29526

Bundled Themes

Thanks to @afercia, @ AramZS @atimmer, @azaozz, @boonebgorges, @celloexpressions, @cfoellmann, @danielbachhuber, @dd32, @designsimpl, @dipesh.kakadiya, @DrewAPicture, @folletto, @ianmjones, @ipm-frommen, @iseulde, @janhenckens, @jeremyfelt, @jlevandowski, @joedolson, @joostdevalk, @kraftbj, @lancewillett, @mako09, @marcelomazza, @markjaquith,@michael-arestad @MikeHansenMe, @neil_pie, @NikV, @obenland, @ocean90, @PeteMall, @ravindra-pal-singh, @rachelbaker, @rianrietveld, @SergeyBiryukov, @stephdau, @stevegrunwell, @swissspidy @tyxla, @Viper007Bond, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core