January 31, 2016
The Very Best WordPress Scheduling Plugins - WP Mayor
If you want to take bookings and appointments from your WP website, you’re in luck. Here I'll introduce you to 4 of the very best WordPress scheduling plugins.
Originally posted at The WP Guy - WordPress Web Design
January 27, 2016
Previewing Site Responsiveness in the Customizer
The customizer is a framework for live-previewing changes to WordPress sites. And by now, nearly every WordPress theme/site features responsive designs intended to look good on any device. Previewing site changes is just important on mobile as it is on desktop, to ensure that front-end user experience is exactly as intended.
Bringing these ideas together, #31195 proposes a new feature in the customizer that allows users to quickly preview their site on various device sizes. Here’s a quick walkthrough:
The proposed feature focuses on simplicity. The device previewer is in the customizer controls footer, near the “Collapse” button. Only three options are available by default, and they’re intentionally ambiguous. Rather than looking like specific devices, the intent is to understand what a site may look like on a roughly tablet-sized, portrait-orientation device or a roughly phone-sized device, in addition to the standard desktop view. A further extension in #34051 may allow larger screen sizes to be previewed on smaller devices with forced horizontal scrolling; for now, the feature is only available on larger devices.
For Developers
Along with this feature would come a couple of ways to customize the behavior. Please keep in mind that these are proposed and subject to change.
The new customize_previewable_devices
filter lets you customize the devices available for preview. One use case may be to turn off this feature entirely:
add_filter( 'customize_previewable_devices', function() { return array(); } );
Or, developers can add additional custom device preview buttons. The button element will be rendered and the appropriate JS applied to custom devices when the button is clicked; however, developers need to provide CSS to add an icon to the button and to react to the preview size changing.
In JavaScript, themes and plugins can react to changes in the device size being previewed with:
wp.customize.previewedDevice.bind( function( newDevice ) { // Do something to adapt to the new device being previewed. });
This is particularly useful if your theme requires a JS trigger for responsive elements to apply, instead of using CSS solely.
Summary
Any feedback and testing is much appreciated. Device previews in the Customizer can be tested with the latest patch on #31195.
Comments are welcome on this post, the ticket (#31195), or our continuous chat in #core-customize on Slack.
Previewing Site Responsiveness in the Customizer by Nick Halsey was originally posted at https://make.wordpress.org/core/2016/01/28/previewing-site-responsiveness-in-the-customizer/
Core Dev chat notes for Jan 27
Announcements
- Extending the Feature Plugin decision and merge deadline by one week, taking them to Feb 10 and 17, respectively. This does not affect the rest of the release schedule, and betas, RC, and release are all the same dates. This gives feature plugins a little more time to have necessary discussions.
- @ebinnion has graciously continued with the week in core post, and @rockwell15 volunteered to lend a hand. If you like these posts, please help! Many hand make light work.
- @dd32, @jorbin and a few others are working on finishing up 4.4.2. Ticket owners should review the list of tickets tagged for the release.
Focus Status Updates
- Customizer: @westonruter, @celloexpressions
- Posted a recent status update here on the make/core blog.
- Customize Device Preview is up and ready for testing #31195, with a make/core post coming shortly.
- Assistance requested with the Customizer Pane Resize plugin #32296.
- Some movement on adding a notification area to Customizer #35210, with the need for an initial workup – help needed.
- HTTPS Improvements: @johnbillion
- Focusing on avoiding mixed content on https sites – a working http site is much preferable to an https site full of mixed content.
- Working on a feature plugin which implements various granular controls over forcing HTTPS on a site: forcing enqueued assets to https, rewriting URLs in content on the fly to force their scheme to https, forcing redirects to the https version of the site, etc. Individual options with the ability to enforce the lot.
- Adding a GitHub repo where this will be worked on and also posting a summary to make/core soon.
- Image Improvements: @joemcgill
- Good conversation last week about displaying responsive images in the editor.
- Team could use help with profiling to Improve default Imagick compression settings #33642.
- The old #feature-respimg channel has been renamed #core-images to be a place to talk about images in any/all capacities.
- Weekly meeting is Friday at 20:00 UTC.
- Multisite/WP_Site: @jeremyfelt
- WP_Site landed!
- Editor: @azaozz, @iseulde
- The inline link dialog is in. Please test! #33301
- Looking into wpviews soon (Using the TinyMCE API).
- Also looking at improving the shortcuts soon.
- Could use help investigating using the image editing tools from TinyMCE for the media library.
Open Floor
- @veraxus brought up #16031 and the inability of handle new bulk actions in a non-hacky way (you can add the actions in the list, but not handle the action). Is it worth the effort to rework the patch? Will the core team support it?
View the full logs on Slack.
Core Dev chat notes for Jan 27 by Adam Silverstein was originally posted at https://make.wordpress.org/core/2016/01/27/core-dev-chat-notes-for-jan-27/
Week in Core, Jan. 19-26 2016
Welcome back to the latest issue of Week in Core, covering changes from January 19th – January 26th, 2016, changesets [36351]–[36406]. Here are the highlights:
- 55 commits
- 44 contributors with props
- 99 tickets created
- 10 tickets reopened
- 86 tickets closed
Ticket numbers based on trac timeline for the period above.
Note: If you want to help 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.
Code Updates
Accessibility
- Improve the focus style on the Credits screen. Leads and contributing developers will now look nicer when focused. Also, combines adjacent image and text links for the same resource thus simplifying markup and reducing noise for screen reader users. [36406] #34953
- Accessibility: Improve the color contrast ratio replacing the residual occurrences of the
#777
gray. Uses the existing#72777c
on white backgrounds and the new#555d66
“dark medium gray” on darker backgrounds. [36396] #35605 - Fix the color contrast ratio in the login screen. [36395] #31548
- Remove title attributes from the Menus screen. [36379] #35374
Cache API
Comments
- Fire an action after a comment is removed from object cache. When a comment is removed from the object cache, the clean_comment_cache action is now fired. This provides plugin and theme developers a chance to perform secondary cache invalidation as needed. [36405] #35610
- In comments list table,
$post_id
should default tofalse
rather than0
. [36387] #35090 - Allow comment query results to be limited to comments with
comment_post_ID = 0
. [36381] #35090 - Ignore hierarchy in pagination calculation when comment threading is disabled. Merges [36275] to the 4.4 branch. [36362] #8071, #35419
- Respect all post-related filters in
WP_Comment_Query
. Merges [36326] to the 4.4 branch. Fixes #35478. [36361] #35478 - Use the post-filter
WHERE
clause when querying for comment descendants. Merges [36277] to the 4.4 branch. Fixes #35192. [36357] #35192 - Always respect
$comments
array passed towp_list_comments()
. Merges [36276] to the 4.4 branch. [36356] #35175, #35356 - In
comments_template()
, don’t run hierarchical queries if comment threading is disabled. Merges [36226] to the 4.4 branch. [36353] #35378
Customizer
- Use “(Untitled)” as site title if blogname is empty. Fixes #35579. [36388] #35579
- Add shift-click on nav menu items in preview to focus on corresponding nav menu item controls in pane. [36383] #32681
- Hide help toggle button in panel when no description is supplied. This aligns with the
.customize-panel-description
element which is also excluded if there is no description. [36374] #35540 - Fix
click.preview
event handler for jump links andshift+clicks
in preview. Fixes #26005. [36371] #32681, #26005 - Prevent erroneously directing user to login screen when closing. Fixes #35355. [36363] #32637, #35355
- Respect custom pagination params when using
wp_list_comments()
in a query loop. Merges [36324] to the 4.4 branch. [36360] #35402
Documentation
- Correct return value for
is_allowed_http_origin()
. [36398] #35607 - Clarify that mu-plugins can’t be “active” in docs. [36397]
- Fix parameter documentation ordering in the hook docs for the register_taxonomy_args filter. [36391] #32246
Editor
- TinyMCE: add inline link dialog. First run. Links the advanced button to the “old” dialog for now. [36384] #33301
- TinyMCE: remove the srcset and sizes attributes (if any) after replacing or editing an image. [36376] #35434
Emoji
- Work around a mod_security rule which prevents pages with 4 or more instances of String.fromCharCode( from being served. [36359] #35412
I18n
- Add the text domain to
translate_nooped_plural()
calls as well. [36390] #34126 - Add a test for the add-textdomain.php script. [36389]
Media
- In
_wp_handle_upload()
, move ending brace to a new line. [36373] #35565 - When reusing the initial values from the global
MediaElement
config object, the config object should first be cloned. Objects in JS are references that will retain any changes. Fixes #34152. [36364] #34152
Multisite
Plugins
Query
- Respect ‘suppress_filters’ when filtering search-related SQL. [36404] #35594
- Introduce
$comment_status
and$ping_status
params for WP_Query. [36403] #35601 - Avoid invalid SQL when building ORDER BY clause using long search strings. Merges [36251] to the 4.4 branch. Fixes #35361. [36354] #35361
Quick/Bulk Edit
- Remove a no more used jQuery loop for unsupported post formats. See #24096. [36375] #23426, #24096, #35564
- On the Taxonomies screens, prevent a page reload when pressing Enter on a focused field. Merges [36260 to the 4.4 branch. [36355] #35401
Posts, Post Types
- Allow
is_post_type_viewable()
to accept a post type name. Previously, it accepted only a post type object. [36402] #35609 - Add tests for
is_post_type_viewable()
. [36401] #35609
Taxonomy
- Populate term cache with proper clone of term objects. Merges [36323] to the 4.4 branch. [36358] #35462
Themes
TinyMCE
- Update to 4.3.3. Update the QUnit tests and revert back to testing the non-minified files in
/src
. [36352] #35539
Upgrade/Install
- Switch the locking mechanism to using static methods so that it can be accessed from other upgrade-classes. [36370] #34878
Widgets
- Show the “Clear Inactive Widgets” button only after the sidebar with inactive widgets. Merges [36326] to the 4.4 branch. [36369] #35447
Props
Thanks to @5um17, @afercia, @azaozz, @berengerzyla, @birgire, @boonebgorges, @chandrapatel, @chriscct7, @danielbachhuber, @dd32, @dmsnell, @dotancohen, @drebbitsweb, @DrewAPicture, @ericlewis, @Fab1en, @firebird75, @Frozzare, @georgestephanis, @iseulde, @ivankristianto, @jeremyfelt, @jmdodd, @johnjamesjacoby, @johnnypea, @kraftbj, @lamosty, @luciole135, @MattGeri, @michalzuber, @mrahmadawais, @obenland, @ocean90, @pauldewouters, @rob, @salvoaranzulla, @scarinessreported, @SergeyBiryukov, @spacedmonkey, @tahteche, @walbo, @westi, @westonruter, and @wonderboymusic for their contributions!
Week in Core, Jan. 19-26 2016 by Eric Binnion was originally posted at https://make.wordpress.org/core/2016/01/27/week-in-core-jan-19-26-2016/
Shiny Updates v2
What is Shiny Updates?
With the stated goal of “Hiding the The Bleak Screen of Sadness”, the shiny updates team is working on bringing a smoother experience for managing plugins and themes to WordPress.
Shiny Updates v2 is an effort to continue the shiny updates effort from WordPress 4.2. The original shiny update feature only includes shiny plugin updates. The new version aims to extend this to all aspects of updates, installs, and deletes for plugins, themes in WordPress.
There are numerous screens in the Admin that allow you to install, update, and delete themes, plugins and WordPress itself. Shiny updates is exploring ways to improve their design and especially to offer a better user experience by improving perceived performance and limiting confusing notifications.
What does it do?
The shiny updates plugin currently enables the following features:
- Deleting single plugins, bulk updating and bulk deleting plugins from the plugin page.
- Shiny plugin installs from the plugin install screen: multiple actions can be queued up.
- Shiny theme installs, updates, and deletes, multiple queue-able, including multisite.
What is still being worked on?
Currently the team is brainstorming a complete rethink of the core updates page (update-core.php
), working to improve clarity and enable easier Update All functionality. Work on that is happening here: https://github.com/obenland/shiny-updates/issues/5
- Development for bulk plugin action notifications: https://github.com/obenland/shiny-updates/issues/7
- Design for updating themes from the theme card (on top of from details modal): https://github.com/obenland/shiny-updates/issues/54
- Another round of user tests to get more feedback on the new flows.
How can I help?
Anyone can help by testing the plugin! Download and install the plugin, then test out all the shiny features: try installing, updating, and deleting plug7ins and themes, including bulk actions, on both single and multisite. Does everything work as expected? Are there any jarring flows? Missing notifications?
Please report any issues on the Github repository, or drop in the #feature-shinyupdates channel in Slack to ask questions or give feedback. It’s also where we have our weekly chats, on Tuesdays 19:00 UTC. Thank you!
P.S. Props @adamsilverstein for ghost-writing this post.
Shiny Updates v2 by Konstantin Obenland was originally posted at https://make.wordpress.org/core/2016/01/27/shiny-updates-v2/
The Two Factor Plugin is currently on a…
The Two-Factor Plugin is currently on a brief hiatus, while we work on splitting off it’s Application Passwords feature into a smaller, solo feature plugin.
https://github.com/georgestephanis/application-passwords/
Application Passwords was initially a sub-feature of Two-Factor Authentication, but due to the fact that we had very little confidence in Two-Factor being ready for the 4.5 cycle, we spun off a nearly-complete sub-feature that may mesh very well with the existing REST API.
Application Passwords lets each user choose to generate “Application Passwords” — randomly generated 16-character alphanumeric codes, that are only displayed to the user once, upon creation. These passwords can be revoked either individually or all at once, and track usage, so in the admin UI you can view the most recent IP and Date that the password in question was used.
The passwords are only valid for non-interactive prompts. That is, for use with our XML-RPC and REST APIs. They can not be used on `wp-login.php` or to access the admin panel. The idea is that each application you connect to your WordPress account — a mobile app, if this then that, Microsoft Word, or some sort of local blogging software, they all have their own password that can be revoked if the device is lost or no longer in usage, all without dispensing full access to your account.
For folks building a quick one-off script that needs to tie into WordPress, this is far simpler than using the obscure oAuth version that Core has to use because we can’t guarantee HTTPS, and far more secure than the existing “use your account password for api calls” standalone plugin, that many folks would likely choose to default to otherwise.
Code reviews, issues, and pull requests are very welcome.
The Two Factor Plugin is currently on a… by George Stephanis was originally posted at https://make.wordpress.org/core/2016/01/27/the-two-factor-plugin-is-currently-on-a/
Feature Plugin chat notes for Jan 26
Agenda
- Review the feature plugins for status updates from leads
- Open floor for feature plugin proposal
Feature Plugin Updates
- Background Image Cropper: @celloexpressions asked for feedback for the Background Image Cropper. Current thinking is this is better explored as a standard enhancement for core. See #32403.
- Customizer: @westonruter left status on the blog post for the Customize Pane Resizer, Customize Device preview (along with @celloexpressions), Selective Refresh, and Transactions. Please comment there if you’re interested in helping out where needed (especially requested for the Pane Resizer).
- Fields API: @sc0ttkclark updated: term add/edit is in: props @technosailor. Team has been working on simplifying the code required for each screen implementing the Fields API. Scott posted an update on make/core and reports getting lots of feedback (especially from @helen, @drew, @technosailor & @celloexpressions)
- Shiny Updates: @obenland updated – Lots of progress in the last week. @ipstenu helped tremendously in getting it multisite compliant. Team decided to not pursue shiny activations/deactivations for a whole set of reasons, mostly around redirects on subsequent page loads, and fatal error protection.
Currently working on enabling theme updates without having to open the modal, and revamping update-core.php. An update will be posted to the make/core blog soon. The team needs more feedback and testing! Testers can get the current plugin from the wordpress.org repository. - WP-API: @danielbachhuber updated – released beta 11 yesterday. The team is meeting in person (minus @rachelbaker) this week at A Day of REST. Summary: in the home stretch, but there’s a ton more work to do. Friday’s contributor day (at the Day of REST) will hopefully get other people diving in and contributing to the final push.
Open Floor
- @johnbillion mentioned exploring developing the Notifications API in the form of a feature plugin
- @jrf proposed a feature plugin for theme and plugin dependency management and is looking for feedback on the idea — please leave any notes in the comments.
The full logs are available on Slack.
Feature Plugin chat notes for Jan 26 by Adam Silverstein was originally posted at https://make.wordpress.org/core/2016/01/27/feature-plugin-chat-notes-for-jan-26/
January 25, 2016
HTTPS discussion meeting this Wednesday
In recent releases of WordPress there have been various improvements made to support for sites running on HTTPS. While support is currently very good, it’s still too easy to end up with mixed content on a site (HTTP content embedded within an HTTPS page), and especially so when migrating an existing site from HTTP to HTTPS.
There will be a discussion meeting in the #core-http Slack channel on Wednesday, January 27, 2016 at 2000 UTC. This is one hour before the regular weekly meeting in #core. I’d like to discuss three topics:
- Implementing an (opt-in) method of forcing a site to use HTTPS.
- What should this cover? (Embedded content, enqueued scripts/styles, links, redirects)
- How should it be implemented? (eg. filter/constant/automatic)
- Defaulting to HTTPS for new installs when it’s available.
- Only applies when setting up a site over HTTP and it’s available over HTTPS.
- Need to communicate clearly to the user what this implies, with option to toggle.
- Aiding in switching an existing site from HTTP to HTTPS.
- Migrating existing embedded content.
- Should this be a feature plugin?
If you’re interested in helping out with any of the above, or with HTTPS improvements in general, join us on Wednesday.
Further reading: the https tag on Core Trac.
HTTPS discussion meeting this Wednesday by John Blackbourn was originally posted at https://make.wordpress.org/core/2016/01/26/https-discussion-meeting-this-wednesday/
WP REST API: Version 2.0 Beta 11
Just days before the first conference dedicated to the REST API, we bring you: 2.0 Beta 11 “Give me a white wine spritzer!”. Download it from the plugin repository or from GitHub.
Here are some highlightsbreaking changes from the changelog:
- Moves Post->Term relations to the Post Resource. Previously, a client would fetch a Post’s Tags with
GET /wp/v2/posts/<id>/tags
. In Beta 11, an array of term ids is included on the Post resource. The collection of terms for a Post can be fetched withGET /wp/v2/tags?post=<id>
. TheWP_REST_Posts_Terms_Controller
class no longer exists. - Changes
featured_image
attribute on Posts tofeatured_media
. While featuring other attachment types isn’t yet officially supported, this makes it easier for us to introduce the possibility in the future. - Uses discrete schema title for categories and tags. If you’ve used
register_rest_field( 'term' )
, you’ll need to change'term'
to'tag'
and/or'category'
. - Makes many filters dynamic based on the controller type. If you were using the
rest_prepare_term
filter, you’ll need to change it torest_prepare_post_tag
orrest_prepare_category
. If you were usingrest_post_query
orrest_terms_query
, you’ll need update your use torest_page_query
, etc. If you were usingrest_post_trashable
,rest_insert_post
orrest_delete_post
, they are now dynamic based on the post type slug.
As always, we have a detailed changelog as well as the full set of changes if you’re interested.
WP REST API: Version 2.0 Beta 11 by Daniel Bachhuber was originally posted at https://make.wordpress.org/core/2016/01/26/wp-rest-api-version-2-0-beta-11/
Video: How to Add a Note to Your WordPress Site
WPBeginner - WordPress Tutorials originally appeared at http://www.youtube.com/watch?v=jy2vy9C_itQ
January 24, 2016
Accessibility Coding Standards now in draft and seeking comments.
The WordPress Accessibility Team has created draft Accessibility Coding Standards for the core handbook. These standards will remain in draft format for at least the next two weeks while everyone has an opportunity to review and comment. If there are significant changes made based on the comments, additional posts here will be made announcing them and seeking further comments.
Please review the draft standards and leave your comments on this post.
Accessibility Coding Standards now in draft and seeking comments. by Aaron Jorbin was originally posted at https://make.wordpress.org/core/2016/01/24/accessibility-coding-standards-now-in-draft-and-seeking-comments/
January 23, 2016
Feature Plugin Meeting on Tuesday, Jan 26
As mentioned in this week’s dev chat, we’ll be holding a Feature Plugin meeting on Tuesday, January 26, 2016 at 2100 UTC (the usual dev chat time).
If you are a lead for an officially recognized feature plugin, please either plan to attend if you’d like feedback, or if you can’t attend, leave a status in a comment on this post — we’ll be going through each of them during the meeting.
These meetings are a great time to request feedback, show interest in a merge in 4.5, or propose a new feature plugin idea.
For background, you can see more details on the feature plugin process in the core handbook, and a list of current feature plugins.
Feature Plugin Meeting on Tuesday, Jan 26 by Mike Schroder was originally posted at https://make.wordpress.org/core/2016/01/23/feature-plugin-meeting-on-tuesday-jan-26/
January 22, 2016
Call for Trac Tickets and Recap of 1/15/2016 Bug Scrub
On Friday January 15 at 17:00 UTC we held the second regularly scheduled bug scrub of the WordPress 4.5 release cycle. As a reminder, for the 4.5 release, trac bug scrubs will be held weekly each Friday at 17:00 UTC. Bug scrubs are held in the #core channel of WordPress Slack.
Unfortunately, as I am unable to make today’s meeting, and was unable over the last few days to find a replacement, today’s meeting is cancelled. I hope to see you all at the next meeting, which will be next Friday at 17:00 UTC. Regardless, please feel free to use the time to triage tickets!
The Slack archive for last week’s meeting begins here: https://wordpress.slack.com/archives/core/p1452877403010570
During the bug scrub, the following tickets were covered:
#32318 , #32920 , #12955 , #25669 , #27056 , #28441 , #29660 , #34839 , #35100 , #13910 , #30352 , #2702 , #33045 , #33283 , #13459 , and #18877
Next week, the bug scrub will run approximately 1 hour. Participants need not be present for the full duration, and everyone is welcome to attend.
We’ll start with a list of pre-submitted tickets, before going to an open floor. As time permits, the remainder will be filled with a mix of tickets in the 4.5 milestone, and abandoned tickets, taken from report 43 (Ancient Tickets) on Trac.
If you would like to submit a ticket for consideration for the bug scrub, please comment below with the ticket number. If you have extensive knowledge of the ticket, accompanying text which provides a brief description of each ticket, its current status, and what needs to happen for the ticket would be appreciated. Bug scrubs are a great way to get extra eyes on tickets, feedback on patches, or suggestions on future routes.
During the WordPress 4.4 cycle, Trac experienced a net loss of approximately 600 tickets. The goal for the 4.5 release is to get to 2,500 tickets open on Trac. The current count is 3,347, which is 847 tickets from this goal.
Call for Trac Tickets and Recap of 1/15/2016 Bug Scrub by Chris Christoff (chriscct7) was originally posted at https://make.wordpress.org/core/2016/01/22/call-for-trac-tickets-and-recap-of-1152016-bug-scrub/
January 20, 2016
Core Dev Chat Notes for Jan 20
Announcements
- Week in Core is started up again! Thanks @ebinnion, @adamsilverstein, and @morganestes for the effort. Help is needed! Please join the Slack #core-weekly-update to volunteer.
- There will be another feature plugin meeting next Tuesday, January 26, 2016, 2100 UTC (normal dev chat time). More details coming soon.
Focus Status Updates
- Customizer: @westonruter, @celloexpressions
- HTTPS Improvements: @johnbillion
- Nothing specific to report about the HTTPS work, there will be a meeting next week about ‘force ssl’ which he will post about in make/core tomorrow morning for those who want to get involved.
- Image Improvements: @joemcgill
- Multisite/WP_Site: @jeremyfelt
- Several things assigned to the 4.5 milestone
- A reorg of filters for network allowed themes went in today.
- Working at the latest <code>WP_Site</code> patch now with the intent of putting it in today or tomorrow.
- Office hours on Tuesdays at 21:00 UTC in #core-multisite; bring your bugs.
- Post New: @michaelarestad
- @karmatosed is going to be leading a team focused on improving the Revisions UI
- @hugobaeta is going to be leading the Toolbar Remix team
- @michaelarestad working on improving the Publishing UX and Metaboxes
- @michaelarestad made a Sketch template for wp-admin that’s accurate and will be published later this week.
- Update posts coming soon
- Join the effort: comment on the original post and join the Slack #design channel.
- Editor: @azaozz, @iseulde
- @iseulde is working on the inline link dialog
- @azaozz just upgraded TinyMCE
- They posted a wishlist for 4.5, comment there for feedback
Open Floor
- @ipstenu brought up #35429; @michaelarestad going to review from UX perspective, discussion
- @azaozz brought up inline link dialog autocomplete, extend suggest.js or use another library (typeahead, select2)? what is the use case? discussion in #core-editor. @sheri offered to help with user testing to determine the best UX.
- Meeting ended, ticket conversation continued…
View the full logs on Slack.
Core Dev Chat Notes for Jan 20 by Adam Silverstein was originally posted at https://make.wordpress.org/core/2016/01/20/core-dev-chat-notes-for-jan-20/
Week in Core, Jan. 12-19 2016
Welcome back to the latest issue of Week in Core, covering changes from January 12th – January 19th, 2016, changesets [36269]–[36350]. Here are the highlights:
- 81 commits
- 38 contributors with props
- 127 tickets created
- 19 tickets reopened
- 100 tickets closed
Ticket numbers based on trac timeline for the period above.
Note: If you want to help 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.
Code Updates
Accessibility
- After [36333] correctly `use esc_attr()` instead of `esc_attr__()`. [36334] #35313_
- Remove title attributes from the Posts list table. [36333] #35313, Media Library list table. [36331] #35136 & the Comments screen. [36298] #35304
- Improve focus handling on the Taxonomies Quick Edit. Moves focus back to a proper place when saving or closing the form. [36304] #35460
- Improve focus handling and audible feedback on the Posts Quick-Bulk Edit. Avoids a focus loss when saving or closing the form moving focus back to a proper place. Uses `wp.a11y.speak()` to dispatch successful edits and error messages to screen readers. [36303] #34756
Administration
- CSS: Reference the original location of the CSS rule being overridden. [36342] #35229
- CSS: Stop using `wp-admin.min.css` and instead queue the individual stylesheets up through `load-styles.php`. We still generate the `wp-admin.*` files for compabitility purposes, however they only include the `@import()` lines. [36341] #35229
- List Tables: Use the `$GLOBALS` array when unsetting the global post and comment in `WP_Comments_List_Table::single_row()`. [36339] #35506
- Allow searching for 0 throughout the admin. [36302] #31025
- Add a “Drag boxes here” message to empty dashboard meta boxes so it’s clear to users that it’s possible to drag meta boxes into empty spaces. [36295] #26399
- Support searching for `’0’` in `WP_Query`. [36278] #31025
Build/Test Tools
- Build/Test Tools: Move PHP factory classes into their own files. [36347] #35492\
- Build Tools: Append the timestamp to $wp_version instead of only the current date. [36315] #28722
Canonical
- After [36280] remove the unit tests which are no longer supported for 4.4. This also removes the `is_feed()` code to avoid confusion – only pages & embeds will be redirected. [36281] #35344
- Restore the is_404() check in `wp_old_slug_redirect()` which was removed in [34659]. This reverts part of [34659] due to excessive canonical problems it’s caused in 4.4.x. [36280] #35344, #21602
Comments
- Ignore false values of ‘search’ in `WP_Comment_Query`. [36345] #35513
- Remove unused `$default_comments_page` variable in `get_comment_link()`. [36343] #34073, #35511
- Correct description of `comment_author` property in `WP_Comment` class. The `comment_author` property is the comment author’s name, not an ID. [36332] #35464
- Respect all post-related filters in `WP_Comment_Query`. [36326] #35478
- Use TEXT column type in fallback for `wp_get_comment_column_max_length()`. [36325] #10377
- Respect custom pagination params when using `wp_list_comments()` in a query loop. [36324] #35402
- Remove unneeded `$req` variable in `comments_template()`. [36322] #35473
- Add a new `pre_wp_update_comment_count_now` filter. [36318] #35060
- Use `assertEqualSets()` in comment_author test. The previous assertion was too specific, resulting in race conditions. [36279] #35377
- Use the post-filter `WHERE` clause when querying for comment descendants. [36277] #35192
- Always respect `$comments` array passed to `wp_list_comments()`. [36276] #35175, #35356
- Ignore hierarchy in pagination calculation when comment threading is disabled. [36275] #8071, #35419
- Restrict the maximum characters for input fields within the comments template. [36272] #10377
Customizer
Embeds
- Allow embedding static front pages and pages having a child page with an embed slug. This makes embed a special slug that can’t be used for new pages/posts. When `https://example.com/foo/embed/` is an existing page, embeds fall back to `https://example.com/foo/?embed=true`. Adds unit tests. [36307] #34971
Filesystem API
Formatting
- Emoji: adjust $wpsmiliestrans. Swap simple-smile.png with SLIGHTLY SMILING FACE and frownie.png with SLIGHTLY FROWNING FACE [36336] #31710
HTTP API
- Add response status code aliases on WP_Http for convenience. These provide a more descriptive way to set response codes elsewhere, so it’s readable and less chance for the wrong response code to be used such as 401 vs 403. [36294] #35426
- Add missing HTTP status code descriptions (specifically 308 and 421.) [36274]
- Add support for 451 http status code (Unavailable For Legal Reasons.) Though this is technically still in the proposal stage, there is support from the core team and precedent in #16914 [36273] #16914, #35333
I18n
- Introduce tests for `WP_Locale`. [36292] #34688
- Correct an argument description and return value for `wp_dropdown_languages()`. [36290] #35294
JavaScript
- In `wp.Backbone.Subviews`, extract subviews with proper Underscore.js functions. [36305] #34350
- jQuery: Replace use of deprecated methods and events. [36288], [36287], and [36286] for #35380,
- External Libraries: Update jQuery to 1.12.0 and jQuery Migrate to 1.3.0. [36285] #35380
Media
Multisite
- Add initial tests for the `allowed_themes filter`. [36350] #28436
Network and Sites
- Clarify the docblock for get_current_site() so it’s clear that it returns the current network object, not anything to do with the current site. As a further exercise, the reader is invited to fix the nomenclature surrounding blogs, sites, and networks in WordPress. [36293] #35414
Performance
- Share post fixture in WP_Comment_Query tests. [36346] #30017
- Script Loader: Add Etag: `$wp_version` header in `load-scripts.php` and `load-styles.php`. This improves performance since browsers won’t re-download the scripts and styles when there was no change in `$wp_version`. [36312] #28722
Plugins
- Prevent a warning when searching in the plugins list table. [36301] #35461
- Make sure the ‘Beta testing’ tab is first in the plugin installer. This makes feature plugins more discoverable for people running development builds. [36297] #29631
- In `_get_plugin_data_markup_translate()` remove the fallback to the “default” textdomain for Akismet. Akismet has its own language files since WordPress 3.9. [36283] #35436
Posts, Post Types
- Correctly pass `$post` to `post_password_required()` in `get_the_excerpt()`. Corrects the relevant test. [36329] #35486
- After [36319], add `$post` parameter to the `get_the_excerpt` filter. [36321] #35474
- Add a `$post` parameter to `get_the_excerpt()`. [36319], [36320] #27246
- Introduce `unregister_post_type()`. [36316] #14761
Taxonomy
- Don’t double-escape the ‘name’ param in get_terms(). [36348] #35493
- Populate term cache with proper clone of term objects. [36323] #35462
- Fix unit tests after [36308]. [36309] #34988
- Introduce `wp-admin/term.php` for editing single terms. [36308] #34988
- Correct the accetped types for the taxonomy element in the arguments passed to `wp_dropdown_categories()`. [36289] #35446
Themes
- Show template loading error to users with switch_themes cap. [36344] #21931
- Only users with proper capability should see theme errors. [36338] #21931
- Show an error message to logged-in users if a template file isn’t loaded. [36335] #21931
- Clear floated theme cards on Themes page. Also maintains visual separation for Broken Themes table on searches that return no results. [36270] #26646
Upgrade/Install
Users
- Always return `$current_user` in `wp_get_current_user()`, never a boolean. [36313] #19615
- Deprecate the `get_currentuserinfo()` pluggable function. [36311] #19615
- Decode special characters in password and email change notification emails. [36306] #35283
Props
Thanks to @5um17, @adamsilverstein, @afercia, @andizer, @berengerzyla, @boonebgorges, @chriscct7, @danielbachhuber, @dd32, @DrewAPicture, @ericlewis, @firebird75, @grapplerulrich, @iseulde, @ivankristianto, @jeremyfelt, @jmdodd, @joehoyle, @johnbillion, @jrf, @kraftbj, @Latz, @meitar, @MikeHansenMe, @obenland, @ocean90, @peterwilsoncc, @rachelbaker, @realloc, @rmccue, @scribu, @sebastianpisula, @sergejmueller, @SergeyBiryukov, @swissspidy, @valendesigns, @westonruter, and @xavortm for their contributions this week!
Week in Core, Jan. 12-19 2016 by Eric Binnion was originally posted at https://make.wordpress.org/core/2016/01/20/week-in-core-jan-12-19-2016/
January 19, 2016
Weekly Dev Chat Agenda for Jan 20
Agenda for weekly dev meeting on January 20 at 21:00 UTC:
- Announcements
- There will be a Feature Plugin Meeting next January 26 at 21:00 UTC (normal dev chat time).
- Focus Status Updates
- Customizer: @westonruter, @celloexpressions
- Image Improvements: @joemcgill
- HTTPS Improvements: @johnbillion
- Multisite/WP_Site: @jeremyfelt
- Post New: @michaelarestad
- Editor: @azaozz, @iseulde
- Status and Ticket Open Floor
Focus Leads, please have status ready.
If you have anything to propose to add to the agenda, or have a project that you’d like added to the weekly status checks, please leave a comment below.
See you in the chat!
Weekly Dev Chat Agenda for Jan 20 by Mike Schroder was originally posted at https://make.wordpress.org/core/2016/01/20/weekly-dev-chat-jan-20/
January 18, 2016
Video: How to Keep WordPress from Forgetting You with Always Remember Me
WPBeginner - WordPress Tutorials originally appeared at http://www.youtube.com/watch?v=f-YCWWKS8G0
January 16, 2016
Editor wishlist for 4.5
- Inline link dialog – mock ups from @joen – #33301.
- More formatting shortcuts (code, hr…) – #33300.
- Use the new non-editable blocks TinyMCE API for our wpViews.
- Mobile: more experimenting with inline toolbars (separate for formatting and inserting) – #29923 – @rboren?
- Handle inline image blobs in TinyMCE.
- Respimg for TinyMCE – @joemcgill?
- Can editor scrolling be improved (e.g. hide on scroll down)?
- Caption placeholder – #32175.
- Leaving dialog – #28566.
- Save and update without a page reload. For this we will need to look into nonce refreshing – #7756 – @michael-arestad, Improving Post New.
- Publish meta box revamp – Example. – @michael-arestad, Improving Post New.
Editor wishlist for 4.5 by Ella Iseulde Van Dorpe was originally posted at https://make.wordpress.org/core/2016/01/16/editor-wishlist-for-4-5/
January 15, 2016
How to speed mobile page load times with AMP and WordPress - TechRepublic
With Google's Accelerated Mobile Pages, you can deliver mobile web pages faster. And, the best part is that it's totally free.
Originally posted at The WP Guy - WordPress Web Design
January 13, 2016
Core Dev Chat Notes for Jan 13
Plugin Chat
- Chat meeting notes posted on make/core.
- Another feature plugin chat will be scheduled before the feature plugin decision deadline which is Feb. 3rd.
Week in Core
- These are very popular and much appreciated updates.
- @morganestes has done a great job with them; we need more volunteers!
- @ebinnion and @grantpalin volunteered to take on these updates; The crowd reacted wildly!
Focus Status Check
- HTTPS Improvements: @johnbillion
- Continue with HTTPS fixes, including edge cases, mixed content
- Help fix sites that use a mixture of HTTP and HTTPS (for example, HTTPS for the admin area)
- Introduce a means of forcing a site to use HTTPS exclusively
- Attempt to default to HTTPS for new installs where it’s supported
- Image Improvements: @joemcgill
- Some bug fixing from 4.4 implementation
- Picking up work on #33642 – improving compression of images
- Start working thru code cleanup in images
- @azaozz mentioned the longer term goal of changing image handling overall
- Customizer: @westonruter, @celloexpressions
- Many things targeted for 4.5 in the Customizer –
Status the same as from yesterday’s meeting. - Looking for theme developer feedback on Selective Refresh (#27355).
- Many things targeted for 4.5 in the Customizer –
- Multisite/WP_Site: @jeremyfelt
- Regular meetings will begin again in #core-multisite Tuesday at 21:00 UTC.
WP_Site
class, ticket #32450 has a good patch. Feedback is very welcome.
- Post New: @michaelarestad
- Project ideas posted on the make blog. Many ideas here; some will take longer than a single release cycle.
- Comment there to express interest in working on any of the items.
- Editor: @azaozz, @iseulde
- Inline wplink dialog.
- Improved wpView/blocks inside the editor using the recently introduced TinyMCE API.
- Few more “editing shortcuts” like backticks for
<code>
and triple backticks for<pre><code>
. - Thinking about how to integrate TineMCE’s image manipulation module.
- Will post a “wishlist” for 4.5 by the end of the week.
Open Floor
- Comments update from @rachelbaker: 8 open tickets right now slated for 4.5. Highlights
- #4332 – a 9+ year old Trac ticket that @wonderboymusic made some progress on in 4.4. I refreshed the patch yesterday, but it still needs i18n and developer feedback.
- #34133 has some great UX feedback/discussion from @melchoyce @karmatosed and @afercia. Improves Moderate Comments screen. Feedback requested.
- #33717 ( Notification Email When a Comment is Approved ) has an updated patch and @swisspidy is looking for some feedback.
- Notifications API update from @johnbillion:
- Would like to replace
wp_mail()
with an extensible notifications API, which sends emails by default but can easily be hooked in to send notifications via any other means, such as webhooks that enable Slack/IM/push notifications, etc. Optional admin UI for users and admins to opt in/out of individual notifications and notification types. Will post to make/core shortly.
- Would like to replace
View the full logs on Slack.
Core Dev Chat Notes for Jan 13 by Adam Silverstein was originally posted at https://make.wordpress.org/core/2016/01/13/core-dev-chat-notes-for-jan-13/
Feature Plugin Chat notes for Jan 12
Agenda
- Reviewed the feature plugins https://make.wordpress.org/core/features-as-plugins/
- Plugin leads asked to offer Status and Blockers updates, call for feedback and discussion.
- Open floor
Feature Plugin Updates
- REST API: @rachelbaker & @danielbachhuber updated:
- Status: 4.5 is the goal for completing the core endpoints. When the team decides it is ready they will make a merge proposal for discussion.
- Weekly meetings in #core-restapi Mondays at 23:00 UTC
- Blockers: Some tough issues to work out: work is happening on the github repo.
- Discussion: We will discuss further when the merge proposal is ready.
- Status: 4.5 is the goal for completing the core endpoints. When the team decides it is ready they will make a merge proposal for discussion.
- Fields API: @sc0ttkclark
- Status: Currently finishing implementation for User Profile screen. Targeting WordPress 4.6.
- Getting help from @idealien, @tomharrigan, @nicholas_io, @wpsmith, @diddledan
- Weekly Meetings are Mondays at 14:00 UTC in #core-fields
- Blockers: Need more hands on deck.
- Discussion: Almost ready for testing: needs more public involvement; as soon as user screen ready, going to put on wordpress.org as a plugin, and post a call to action.
- Status: Currently finishing implementation for User Profile screen. Targeting WordPress 4.6.
- Two-Factor Authentication (2FA): @georgestephanis
- Status: From a technical perspective pretty much everything functions; needs work from a usability perspective. Current plan is to ensure email authentication always works as an option.
- One part is ready for 4.5: Application Passwords – generates application unique passwords
- Blockers: Need more UI/UX feedback/work
- Discussion: There was an extensive discussion of 2FA – should it be in core? Is even a good solution for security? How do users recover from losing access? Would it be enabled by default? Should it be a ‘core plugin’ – supported by core in plugin form?
- George invited more discussion at the weekly meeting: Thursday at 22:00 UTC, in #core-passwords
- Status: From a technical perspective pretty much everything functions; needs work from a usability perspective. Current plan is to ensure email authentication always works as an option.
- Shortcake: @matth_eu
- Status: Goal is to get it ready for WordPress 4.6
- Current focus on the UI side, positioning shortcake as a ‘content blocks’ using shortcodes
- @matth_eu taking over lead while @danielbachhuber focuses on the REST-API
- Restarting weekly meetings met on Mondays at 8:00 UTC in #feature-shortcode
- Status: Goal is to get it ready for WordPress 4.6
- Customizer: @westonruter
- Status: Lots of activity, some features should be ready for 4.5.
- @valendesigns, @celloexpressions & @jtsternberg leading development
- Weekly meetings in #core-customize on Mondays at 17:30UTC
- Work continues on the following features/tickets:
- #32296: Customize Pane Resize
- #31195: Customize Device Preview
- #27355: Customize Partial/Selective Refresh (note: core patch should implement use in menus selective refresh)
- #34893: Customize Setting Validation: looking for feedback
- #35210: Adding a notification area to Customizer: Still in design phase
- #34923: Basic content authorship in the Customizer: Design phase
- #30937: Transactions: Patch needs refresh; biggest effort of all the tickets
- Blockers: Need feedback on Partial Refresh implementation, especially from theme developers.
- Status: Lots of activity, some features should be ready for 4.5.
- Shiny-Updates:
- Status: Development ongoing; not scheduled for a specific release yet.
- @adamsilverstein, @michaelarestad, and @mapk contributing
- Weekly chats Tuesdays at 13:00 UTC in #shiny-updates
- Blockers: Need more testers installing the plugin and giving feedback on experience/bugs
- Status: Development ongoing; not scheduled for a specific release yet.
Open floor
- @michaelarestad discussed improving Post New with many small projects. Contributors wanted.
- @azaozz wants to explore the idea of a JS based image editor – crop, rotate, etc. in the browser. The code used in TinyMCE for this was released as library. @iseulde and @markoheijnen also interested.
View the full logs on the Slack archives.
Feature Plugin Chat notes for Jan 12 by Adam Silverstein was originally posted at https://make.wordpress.org/core/2016/01/13/feature-plugin-chat-notes-for-jan-12/
January 12, 2016
Fields API updates from Q4 of 2015
It’s been a while since I updated everyone here about progress on the Fields API. I’ve been hard at work in the code and haven’t come up for air until now, but I’m planning on more regular updates in the coming weeks
Lots of progress since our last chat summary in early October, here’s a bird’s eye view of what we’ve been up to:
- @sc0ttkclark built the User Profile implementation, replicating everything that the User Profile screen currently does but it’s through the Fields API, still some things left to do to complete it
- @nicholas_io built the Widget form implementation, allowing for widgets to register their own fields and not have to build tedious custom form markup and saving, still some tweaks and a revision to make in the structure
- @diddledan built the Nav Menu Item implementation, after reviewing my User Profile implementation
- @idealien and @tomharrigan are still working on fleshing out a Post Editor implementation
Where can we use help right now?
- Review our User Profile screen implementation, let us know if it makes sense to you as a developer. It’s the kind of code you’ll be looking at needing for any custom screens you want to implement in plugins or themes, and it’s the kind of code we’re looking at using for other WordPress screens too (Post editor screen, Term editor screen, etc..)
- Help us create use-cases for each type of object (Custom Post Types, Custom Taxonomies, Users, Comments, Media, Widgets, Nav Menu Items, etc..) — we’re specifically looking for what custom fields you could create for these use-cases and how it could make sense in real world scenarios. You can start out with just the structure, we can help you build the code for it.
- We’re getting ready to release this on WordPress.org as a plugin, we could use some help to write up a good readme and ensure it directs people to the correct places for involvement
So who do you contact or where do you go to help?
- Weekly Meetings are Mondays (Monday 20:00 UTC 2015) in Slack #core-fields
- Hang out in Slack #core-fields and ask questions, get help, participate
- Post issues and Pull Requests over on our GitHub
- Post a comment on our status updates
Oh and did I mention that every minute you help us, you make someone really really really happy in the future? It could be your future self that gets to reap the rewards of your hard work!
Fields API updates from Q4 of 2015 by Scott Kingsley Clark was originally posted at https://make.wordpress.org/core/2016/01/12/fields-api-updates-from-q4-of-2015/
Video: How to Add Beautiful Event Timeline in WordPress
WPBeginner - WordPress Tutorials originally appeared at http://www.youtube.com/watch?v=ki1f76wdPG8
January 11, 2016
WP REST API: Version 2.0 Beta 10, with security releases
For the first REST API release of 2016, we bring you: 2.0 Beta 10 “Chief Wiggum”. Because we’ve got security releases too, Ralphie.
Security Releases
On Friday, we discovered that attachments uploaded to private posts are publicly queryable through the REST API. This is a form of information disclosure because WordPress’ permissions model is such that attachments uploaded to posts should inherit the visibility of their parent post.
All previous versions of the plugin are affected. All WP REST API users are strongly encouraged to update immediately. Many prior releases has been separately patched. If you’re still using WP-API v1.x, you can update to v1.2.5. If you’re on an older 2.0 Beta for whatever reason, we’ve tagged versions 2.0 Beta 3.1, 4.1, 5.1, 6.1, 7.1, 8.1, and 9.1.
If you believe you have discovered a potential security vulnerability with the WP REST API, please disclose it to us privately by sending an email to security@wordpress.org. Security issues can also be reported via HackerOne.
Version 2.0 Beta 10
Here are some of the highlights of Beta 10:
- Breaking changes:
- Removes compatibility repo for WordPress 4.3. WordPress 4.4 is now the minimum supported version.
- Changes link relation for types and taxonomies. In Beta 9, this link relation was introduced as
item
, which isn’t correct. The relation has been changed tohttps://api.w.org/items
. - Introduces
edit
context forwp/v2/types
andwp/v2/taxonomies
. Some fields have moved into this context, which requireedit_posts
andmanage_terms
, respectively. - Removes
post_format
as a term_link
for Posts. Post formats aren’t a custom taxonomy in the eyes of the REST API.
- Consistently query for a specified set of items. Adds
include
param to/wp/v2/posts
,/wp/v2/users
,/wp/v2/<taxonomy>
and/wp/v2/comments
. - Tons of minor improvements and bug fixes. You should read the full changelog for all of them.
As always, we have a detailed changelog as well as the full set of changes if you’re interested.
WP REST API: Version 2.0 Beta 10, with security releases by Daniel Bachhuber was originally posted at https://make.wordpress.org/core/2016/01/11/wp-rest-api-version-2-0-beta-10-with-security-releases/