January 31, 2016

The Very Best WordPress Scheduling Plugins - WP Mayor

Do you run a booking-based business that requires you to schedule appointments with your clients? My wife does, and she spent hours each day on the phone booking client appointments until I set her up with Appointy on her WordPress website, which now frees up her time to actually work with her clients rather than having to schedule them. Although Appointy is not mentioned in this review of other booking plugins, I highly recommend it. http://www.wpmayor.com/best-wordpress-scheduling-plugins/

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:

customize-device-preview

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

  • Pass $clean_taxonomy param to ‘clean_term_cache’ action. [36399] #35611

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 to false rather than 0. [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 to wp_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 and shift+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

  • Pass data consistently on plugin, network plugin, and network theme screens. [36394] #35335

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

  • Themes: Enhance filtering options for allowed themes on a network. [36366] #28436

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

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

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.

Screen Shot

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

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:

  1. 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)
  2. 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.
  3. 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 with GET /wp/v2/tags?post=<id>. The WP_REST_Posts_Terms_Controller class no longer exists.
  • Changes featured_image attribute on Posts to featured_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 to rest_prepare_post_tag or rest_prepare_category. If you were using rest_post_query or rest_terms_query, you’ll need update your use to rest_page_query, etc. If you were using rest_post_trashable, rest_insert_post or rest_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

Focus Status Updates

  • Customizer: @westonruter, @celloexpressions
    • Good progress has happened for selective refresh, with good feedback and an architectural direction #27355.
    • A responsive preview feature has been getting good feedback and is nearing a committable patch #31195.
    • Update make/core post coming soon.
  • 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
    • Improving Imagick compression settings #33642 is still a priority.
    • Looking into options for #28474 (better animated GIF handling).
    • Longer term effort: what can be done to improve some of the core API for working with images
  • 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

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

  • Update some attach/detach strings in the columns view. [36328] #33237

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

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

  • Add a locking mechanism to avoid two concurrent updates of WordPress occuring. [36349] #34878

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:

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

January 16, 2016

Editor wishlist for 4.5



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

A new AMP plugin has been released to automatically turn WordPress pages into super-fast Accelerated Mobile Pages. http://www.techrepublic.com/article/how-to-speed-mobile-page-load-times-with-amp-and-wordpress/

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

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

Feature Plugin Updates

  • Fields API: @sc0ttkclark
    • Status: Currently finishing implementation for User Profile screen. Targeting WordPress 4.6.
    • 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.
  • 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
  • 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
  • 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.

Open floor

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:

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?

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 to https://api.w.org/items.
    • Introduces edit context for wp/v2/types and wp/v2/taxonomies. Some fields have moved into this context, which require edit_posts and manage_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/