Welcome to ManageWP.org

Register to share, discuss and vote for the best WordPress stories every day, find new ideas and inspiration for your business and network with other members of the WordPress community. Join the #1 WordPress news community!

×

4 min read Mason James
Development | valet.io | Mar. 29, 2016

AMP for WordPress—How to Get Started

3 free WordPress Plugins that help you get going quickly with Google AMP

AMP for WordPress—How to Get Started

Development | valet.io | Mar. 29, 2016

Google recently launched AMP (Accelerated Mobile Pages) to create “a better, faster mobile web”. When Google makes announcements backing projects like AMP, it’s worthwhile that site owners take note. In this case, the advantages of a faster experience with AMP are there. The strict HTML policies and prioritization create truly optimized mobile web performance. Along with the new format, Google is providing specific policies for SEO, Analytics, Ads, and Paywalls that make for a fully-featured experience on mobile possible. All this means that AMP for WordPress can provide your mobile users an even faster, more powerful experience. Not only that, but Google promises that “Now when you search for a story or topic on Google from a mobile device, web pages created using AMP will appear when relevant in the Top Stories section of the search results page.” (Full article here. ) This means that AMP has the advantage of getting your content in front of more users more quickly, both because it will load faster and because Google will prioritize it for mobile viewers.
Setting up AMP for WordPress
There are clearly a lot of advantages to this new tech, but how complex is it to set up? Do developers

3 min read Jonathan Wold
Development | make.xwp.co | Apr. 29, 2016

Customize Posts v0.5 Released

A major update focused on content editing within the Customizer.

Customize Posts v0.5 Released

Development | make.xwp.co | Apr. 29, 2016

We’re pleased to announce the v0.5 release of the Customize Posts plugin! Check out my rough release demo video: Key features in this release:
Postmeta support
A framework for registering postmeta types, adding controls, and previewing changes.
Page template
Changes to the page template can now be previewed, both in the Customizer and from the edit page admin screen. The Customizer now opens when clicking “Preview Changes” to preview the page. Further edits can be made from the page template control in this Customizer page preview, and the changes get synced back to the page template dropdown in the page attributes metabox on the edit page screen.
Featured image
Similarly to the page template, changes to the featured image can now be previewed where normally this is not possible in WordPress. The featured image selection on edit post screen has been improved to not update featured image in place, instead waiting until the post is saved before updating the featured image postmeta. The featured image can be set from the post edit screen and then previewed in the Customizer via the post Preview Changes button: the featured image can be further changed in the Customizer post preview, with

7 min read Jonathan Wold
Development | make.xwp.co | Apr. 21, 2016

Running PHPUnit tests with VVV and PhpStorm

A guide to setting up the PHP interpreter and configuring PHPUnit settings.

Running PHPUnit tests with VVV and PhpStorm

Development | make.xwp.co | Apr. 21, 2016

PhpStorm has excellent out of the box support for running unit tests using the PHPUnit testing framework. It also provides you with great code coverage statistics of your unit tests. The challenge however is getting it setup properly and actually running your WordPress unit tests. On my local development environment, I specifically use VVV and ideally I wanted PhpStorm to run the tests from within the VVV virtual machine. Since PHP and PHPUnit are bundled with VVV, it makes sense to have PhpStorm utilise those libraries inside the virtual machine than for me to have to install the libraries independently on my Mac. I love having clear separation between my computer and development environments.
There is a downside to running your tests from inside a VVV virtual machine and that is that it can be a bit slower. This is because there is extra overhead involved with the communication over a SSH connection between your host machine and the guest/virtual machine. The virtual machine also does not have the same computing power as your host machine. The good news is that I’ve found that even though there is a slight reduction in speed, it’s fast enough that it’s not of concern to me.
Initially

6 min read Jonathan Wold
Development | make.wordpress.org | May. 5, 2016

Feedback Requested: Improving Setting Validation in the Customizer

A call for feedback around pending improvements to validation in the Customizer.

Feedback Requested: Improving Setting Validation in the Customizer

Development | make.wordpress.org | May. 5, 2016

In #34893 and the accompanying Customize Setting Validation feature plugin I’ve suggested improvements to the Customizer setting validation model. More can be read about the proposal in that ticket description and plugin readme, but the short of it is that settings in the Customizer generally undergo clean-up sanitization but lack a robust system for pass/fail validation. Here is a video demo depicting what I think validation should look like in the Customizer: Normally the Customizer just sanitizes values by attempting to coerce them and clean them up into something that can be safely used (e.g. stripping tags). As for validation, and while I believe this is relatively unusual to encounter, you can also do strict validation of a setting by blocking it from being saved: this is done by returning null from WP_Customize_Setting::sanitize() (often via WP_Customize_Setting::$sanitize_callback). This is the behavior for setting the background_color: if the value is not a valid hex code, it will not save. The problem here is that there is no feedback to the user that the save was blocked. If user tries to enter “blue” as a color instead of a hex code, they will not get informed that this

3 min read Donna Cavalier

Getting Ready For Gutenberg - Helping developers prepare for it

Looks like this is an effort to get devs together to help all the plugin and theme authors port their code to be Gutenberg-ready

Getting Ready For Gutenberg - Helping developers prepare for it

What is Getting Ready for Gutenberg? Getting Ready for Gutenberg is an initiative to help the WordPress community prepare for launch of Gutenberg. While Gutenberg aims to revolutionise the publishing in WordPress ecosystem, this ecosystem is not complete without the plugins and themes that extend the capabilities of WordPress.
There are many theme and plugin shops who have in-house teams or outsourced vendors who will do the heavy lifting of converting their theme/plugin code to work with Gutenberg. But there are many shops, developers who do not have teams to help them with this task. There are many plugins that are not updated and are dormant since quite sometime but are installed and active on hundreds of WordPress sites.
Getting Ready for Gutenberg is an effort to bring the big happy family of WordPress developers and designers together to help these people to help prepare their code, themes, plugins for Gutenberg.
Who Getting Ready for Gutenberg is meant for?
Your theme/plugin is listed on official WordPress directory
The theme/plugin is more than 6 months old
You have atleast 500 active installs
Starting Thursday, Dec. 14th, 2017, you can apply to get help for your themes/plugins.

9 min read David Bisset
Development | deliciousbrains.com | Aug. 9, 2016

A CDN Isn't a Silver Bullet for Performance

There are very few "instant wins" and CDNs aren't one of them. Ashley goes through the basics of performance optimization for those maybe who sped by and focused too much on CDN.

A CDN Isn't a Silver Bullet for Performance

Development | deliciousbrains.com | Aug. 9, 2016

WP Offload S3 is fast approaching its one year anniversary and over the last 10 months we’ve significantly improved the product to increase your site’s performance. However, during this time we’ve received numerous support requests from users. They go something like this: I’ve installed WP Offload S3, but my site isn’t any faster! What’s going on?
After digging into these requests, we started to notice a pattern. Some users believe that enabling a CDN is a silver bullet that will magically solve all performance issues. This couldn’t be further from the truth. In fact, a CDN is a “next-level” optimization and should be one of the last steps you take to improve the speed of your site.
In the remainder of this article I’m going to list the major stages of performance optimization. We’re not bothered about scaling, traffic spikes, high availability or negligible optimizations. Instead, we’re going to nail down the basics, which if implemented correctly, will make your site fly.
Get a Good Host
Choosing a good host is essential — I can’t emphasise this point enough. If you were buying a car for speed you

8 min read Roy Sivan
Development | thewpcrowd.com | Aug. 17, 2016

JavaScript Applications, WordPress & SEO

I’m going to be pretty blunt here. I’ve heard some very knowledgable SEO professionals suggest that 1 particular JavaScript framework is better than another for SEO reasons. While this may be true, these SEO professionals are missing the point of JavaScript Applications entirely, ESPECIALLY when it comes to using them in a WordPress ecosystem.

JavaScript Applications, WordPress & SEO

Development | thewpcrowd.com | Aug. 17, 2016

When I first started giving talks at WordCamps about Angular and Single Page Applications (SPA) back in 2014, one of the most common questions I got was “What about SEO?”, and I never really had a great answer. There have always been some kind of workaround for SEO with AJAX or SPA’s, whether it was using a service like prerender.io or fine tuning your sitemap so Google could see the pages that would load. I realized I needed to shift my thought process, and what I was teaching and talking about, from a whole website built with WordPress as a SPA, to only parts of the site using AngularJS to create high functionality UI blocks, that is where the power of JavaScript frameworks really are.
I’m going to be pretty blunt here. I’ve heard some very knowledgable SEO professionals suggest that 1 particular JavaScript framework is better than another for SEO reasons. While this may be true, these SEO professionals are missing the point of JavaScript Applications entirely, ESPECIALLY when it comes to using them in a WordPress ecosystem. While this may all change in the near future, as things and technology do, for the moment, I don’t think JavaScript Applications

12 min read Jonathan Wold
Development | make.wordpress.org | Jul. 6, 2016

Customizer APIs in 4.6 for Setting Validation and Notifications

A technical write-up with high relevance for anyone working with the Customizer.

Customizer APIs in 4.6 for Setting Validation and Notifications

Development | make.wordpress.org | Jul. 6, 2016

As described in the Improving Setting Validation in the Customizer proposal post and detailed in #34893 and #36944, WordPress 4.6 includes new APIs related to validation of Customizer setting values. The Customizer has had sanitization of setting values since it was introduced. Sanitization involves coercing a value into something safe to persist to the database: common examples are converting a value into an integer or stripping tags from some text input. As such, sanitization is a lossy operation. But what happens in sanitization if a provided value is irrecoverable, beyond the ability to sanitize? The Customizer did allow sanitizers to return null in such cases which resulted in the value being skipped entirely from previewing and saving, but there was no feedback to the user that the value was skipped. Additionally, when multiple settings were modified but some were skipped due to returning null, the result was that a save operation would only persist the non-skipped settings to database: a user would unexpectedly find that only some of their settings were applied, resulting in an inconsistent saved state. Save operations were not transactional/atomic.
These are the problems that

10 min read Chris Burgess
Development | sitepoint.com | Apr. 28, 2016

The Ultimate WordPress Development Environment

Matt Geri from XWP talks about the various WordPress development tools he uses, with some of his personal favorites.

The Ultimate WordPress Development Environment

Development | sitepoint.com | Apr. 28, 2016

WordPress development has come a very long way in recent years when it comes to tooling. In the past, developing a WordPress website required some sort of MAMP/WAMP localhost setup and almost always, a rather painful headache. Maybe you’re even one of those developers who developed their website on a live environment – I was. Luckily, times have changed and there are now tools that help take the headache and repetitiveness out of building WordPress sites on your computer.
In December last year, after 3 years of being almost completely devoid of any WordPress development, I became a full time WordPress developer again. Before that 3 year stint in the payments industry, I was a full time WordPress contractor.
Being out of an industry for 3 years, gave me a unique perspective on how fast things change in computing and more specifically, web development. WordPress development is no exception.
You see, when I returned to WordPress development in December last year, I decided to look at setting up the perfect WordPress development environment. I was pleasantly surprised to see that the tooling around WordPress had advanced so much that it was much like trading in a Ford for a Ferrari.
I was

12 min read Mustafa Uysal
Development | hmn.md | May. 29, 2017

Cavalcade: WordPress Jobs at Scale — Human Made

Scaling cron jobs on multisite? Here is Cavalcade, a horizontally-scalable WordPress jobs processing solution.

hmn.md |

Cavalcade: WordPress Jobs at Scale — Human Made

Development | hmn.md | May. 29, 2017

At the heart of every web application is a basic process: receive a request, return a response. With the right architecture, this process is able to serve everything from the smallest site all the way up to the very largest. Once sites start getting more complex, there’s quickly a need for two separate-yet-related abilities: scheduled tasks, and asynchronous processing of long-running tasks. WordPress includes the ability to do both of these through a system called wp-cron. It offers scheduled and repeating tasks (just like cron), and can be used for asynchronous processing. However, it has serious issues when running at scale, like unreliability, sequential processing, and compatibility with multisite. Replacements require complex setup processes, don’t integrate well with WordPress, or don’t scale for real production use.
To fix these problems, we built Cavalcade, a horizontally-scalable WordPress jobs processing solution. We’ve been running Cavalcade in production for almost two years, and it’s also in use on WordPress.org, so we’re confident in its stability and capability.
Limitations of wp-cron
Cavalcade originally came out of project requirements

7 min read Ahmad Awais
Development | make.wordpress.org | Jun. 1, 2017

WPCLI Version 1.2.0 released!

Fun time to be alive ;) Cool stuff is happening with WPCLI. Look at that badass logo. New workflows, features, commands, and everything!

WPCLI Version 1.2.0 released!

Development | make.wordpress.org | Jun. 1, 2017

Happy release day! After 325 merged pull requests, we’re excited to bring you WP-CLI v1.2.0, chock full of enhancements, bug fixes… and a bootstrap refactor.
But first…
We have a new logo!
Coming soon to a laptop near you:
Thanks to Chris Wallace and the crew at Lift UX for their work, as well as everyone who responded to my pings about feedback.
Commands abstracted to distinct packages
We’ve split up the project!
The main wp-cli/wp-cli repository now only contains the framework itself. All of the bundled commands can be found in separate repositories. For instance, the wp cache * series of commands are now located at github.com/wp-cli/cache-command.
This abstraction provides a few benefits:
While developing, the tests are only run for the specific component you’re working on, making the feedback loop much shorter.
Individual command packages can be controlled and set up independently, opening up the opportunity for better collaboration.
Hotfixes and intermediary releases can be published for individual commands, that can then be updated through the built-in package manager.
Tests run really fast now.
When you submit a pull request, you don’t have

3 min read Jonathan Wold
Development | make.xwp.co | Dec. 3, 2015

Musings on Customizer as Future Admin Interface

Weston Ruter offers his thoughts on the Customizer as a future frontend-focused admin interface.

Musings on Customizer as Future Admin Interface

Development | make.xwp.co | Dec. 3, 2015

There has been a lot of (well-deserved) excitement over Automattic’s Calypso project which largely re-implements the WP admin on WordPress.com as a JavaScript-driven REST API-powered single page application. (Reminder: WordPress.com is a service of Automattic that is built on the WordPress project, which I’ll call “WordPress.org” to differentiate here.) It is great to see what is possible when JavaScript leveraged in this way with the REST API. The improvements to speed and overall user experience are much improved in the new WordPress.com admin interface. Calypso does not yet have a plugin architecture for extensions, but even when it does, it will be completely incompatible with all existing WordPress plugins that integrate with the WP admin. This works for WordPress.com because it doesn’t support arbitrary plugins and so they have a fixed feature set that they have to account for. This is not the case for WordPress.org, so unfortunately there is no easy path toward adopting Calypso as the next-generation admin interface for WordPress.org.
How can we bring WordPress.org forward to feature a next-generation JavaScript-driven REST API-powered single page application (SPA) admin interface

11 min read David Bisset
Development | wordpress.org | Jun. 8, 2017

WordPress 4.8 “Evans” Is Out!

WordPress 4.8 is out, named “Evans” in honor of William John “Bill” Evans. Grab now and bask in the glory of a fresh new release.

WordPress 4.8 “Evans” Is Out!

Development | wordpress.org | Jun. 8, 2017

An Update with You in Mind Gear up for a more intuitive WordPress!
Version 4.8 of WordPress, named “Evans” in honor of jazz pianist and composer William John “Bill” Evans, is available for download or update in your WordPress dashboard. New features in 4.8 add more ways for you to express yourself and represent your brand.
Though some updates seem minor, they’ve been built by hundreds of contributors with you in mind. Get ready for new features you’ll welcome like an old friend: link improvements, three new media widgets covering images, audio, and video, an updated text widget that supports visual editing, and an upgraded news section in your dashboard which brings in nearby and upcoming WordPress events.
Exciting Widget Updates
Image Widget
Adding an image to a widget is now a simple task that is achievable for any WordPress user without needing to know code. Simply insert your image right within the widget settings. Try adding something like a headshot or a photo of your latest weekend adventure — and see it appear automatically.
Video Widget
A welcome video is a great way to humanize the branding of your website. You can now add any video

4 min read Rami Yushuvaev
Development | GenerateWP.com | Jan. 4, 2017

Retrieving Results Filtered by WP_Tax_Query – GenerateWP

After presenting the WP_Meta_Query and the WP_Date_Query Generators, in this third part of the series we are introducing the WP_Tax_Query Generator which allows you to filter queries by taxonomies.

Retrieving Results Filtered by WP_Tax_Query – GenerateWP

Development | GenerateWP.com | Jan. 4, 2017

In this third part of our series, after presenting the WP_Meta_Query and the WP_Date_Query Generators, we are introducing the WP_Tax_Query Generator which allows you to filter queries by taxonomies. Filtering by Taxonomies
Retrieving filtered data with WP_Query and other supported query classes is a no brainier. But for advanced filtering we may need to retrieve data assigned to a specific multiple categories, tags or any other taxonomy terms.
WordPress stores taxonomy-related data in separate database tables. wp_terms holds the term data. wp_term_relationships stores the relationships between terms (category, tag, custom) and an object (mostly posts but can be used for other objects in WordPress – like Users or Comments). wp_term_taxonomy describes the taxonomy (category, link or tag) for the entries in the wp_terms table.
To retrieve data from those tables it translates query data and conditions to SQL. But you shouldn’t write your own SQL – it’s a bad practice! WordPress will do it for you, in a secure way, with caching and other mechanisms that ensure maximum performance and utilization.
The WP_Query class retrieves taxonomy-related data using the tax_query

Development | wedevs.com | Mar. 31, 2017

weDevs is Bringing Back The Missing Stats of New WordPress.org Plugin Directory!

Here Tareq from weDevs created a quick nifty tool to bring back the missing stats of Plugin Download data. Its not one of a kind but surely adds some value.

weDevs is Bringing Back The Missing Stats of New WordPress.org Plugin Directory!

Development | wedevs.com | Mar. 31, 2017

Missing the Plugin Stats in the New WordPress.org Directory? We know! Here at weDevs, we feel your pain. To ease your pain we brought it back, and you know what, we made it even better than it was before! The Problem!
The new design for Plugin Directory in WordPress.org came live yesterday. We all seen it in beta, but still, after seeing it live, most developers freaked out about several things. The new search algorithm is one thing, you could read about it here. And the next disappointment is when you find out you cant see any download count at all, beside just the Active Install. So, how do you could know if your plugin is being ranked bad, and not getting Downloads like before? There is no official default way. That’s problematic!
Why We Created This?
At weDevs our core business is WorPress product, to be exact WordPress Plugin. Not being able to understand how we are hit with new algorithm is a big blow for us. But the good news is the API still works, and our Founder & CTO Tareq Hasan was able to cook something very quick.
Presenting “WP Stats by weDevs”
Here I would like to Present “WP Stats by weDevs” – WPStats.weDevs.com
It shows you even

9 min read David Bisset
Development | hmn.md | Apr. 27, 2017

Human Made Develops New Scalable Image Service: "Tachyon"

To "tackle the problem of serving large volumes of images", Human Made has developed a scalable image service that integrates with Amazon S3.

hmn.md |

Human Made Develops New Scalable Image Service: "Tachyon"

Development | hmn.md | Apr. 27, 2017

As an enterprise web development agency, we frequently deal with high-traffic, high-bandwidth sites. We use a horizontally-scalable architecture built on Amazon’s AWS platform to ensure great performance, high availability, and low costs for our clients. This allows us to serve essentially any amount of traffic to sites without breaking a sweat. While most sites are primarily text-based, the larger size of images means that bandwidth from images can have an outsized effect on bandwidth cost and server load.
To tackle the problem of serving large volumes of images while minimising costs, we developed Tachyon, our scalable image service. Tachyon integrates with Amazon S3, and integrates with WordPress through the Tachyon plugin combined with our S3 Uploads plugin (but can also be used for non-WordPress projects).
Our First Attempts
When we initially looked at solving issues around images, we set out to solve two main issues: image regeneration, and caching. Rather than creating and storing thumbnails on upload, we wanted a dynamic system, which would allow us to easily create or change the available sizes, along with allowing complex cropping. To combine the dynamicism of this system

4 min read Matt Cromwell
Development | wpsteward.com | Apr. 22, 2016

Why WordPress users should update their version of PHP.

More folks need to be advocating for hosts to update their PHP versions. This is a fun post on the pitfalls of outdated PHP versions and it's impact on WordPress.

Why WordPress users should update their version of PHP.

Development | wpsteward.com | Apr. 22, 2016

Recently in a facebook group someone posted this image, asking for clarification: This is what’s wrong with web hosting in 2016.
I thought I’d use that as a jumping-off point to talk about “bargain” hosting. This user is on a large (Super-Bowl-ad-budget large) hosting company’s “shared” plan. The irony is that the user would have no way of knowing what version of PHP they are running, were it not for this gently-worded (ahem) encouragement from a plugin developer. This warning didn’t come from the host. It came from a 3rd party plugin developer.
Allow me to be a little more blunt.
But first, a related personal story: some time in 2015, after about 1,000 active users had installed my plugin, I had a user get in touch with me in the support forums saying that they were getting a strange “fatal error” upon activating Better Click To Tweet.
The short and non-technical explanation of the problem my user was having is that the version of PHP they had installed did not include support for a function my plugin needed to function correctly.
The even-shorter explanation: this user used the same large web host as the original picture-sharer above.
For some web hosts, service and security clearly

2 min read Omaar Osmaan
Development | make.wordpress.org | Apr. 23, 2017

WordPress Target Browser Coverage - Ending support for IE 8, 9, and 10

WordPress officially ending support for Internet Explorer versions 8, 9, and 10, starting with WordPress 4.8.

WordPress Target Browser Coverage - Ending support for IE 8, 9, and 10

Development | make.wordpress.org | Apr. 23, 2017

Previously, we discussed the new editor and browser support within WordPress core. Following up on those conversations, we are officially ending support for Internet Explorer versions 8, 9, and 10, starting with WordPress 4.8. Microsoft officially discontinued supporting these browsers in January 2016, and attempting to continue supporting them ourselves has gotten to the point where it’s holding back development. I realize that folks still running these browsers are probably stuck with them because of something out of their control, like being at a library or something. Depending on how you count it, those browsers combined are either around 3% or under 1% of total users, but either way they’ve fallen below the threshold where it’s helpful for WordPress to continue testing and developing against. (The numbers surprised me, as did how low IE market share overall has gone.)
Of course, wp-admin should still work in these older browsers, but with fewer capabilities, and we will no longer be testing new features and enhancements in these browsers. For example, the next versions of TinyMCE – currently targeted at WordPress 4.8 – will not support older IE browsers.

1 min read Puneet Sahalot
Development | localsync.io | Oct. 21, 2017

Sync DB and files for your WordPress sites with FTP / SFTP

Local Sync is a new development tool that lets you sync DB & Files for your Local & Remote WordPress sites.

Sync DB and files for your WordPress sites with FTP / SFTP

Development | localsync.io | Oct. 21, 2017

Supports Works great with
Works with
Who are we?
Which is used by 600,000+ WordPress sites. We love WordPress and we work hard for you to save
time with your workflow.
Is it FREE?
Yes, we love freemium. That is the only way to take our products to every users. We will have Pull and Push free for life with unlimited sites. And these pro features will be paid. It will help us to maintain and build cool features.
• Pull and Push changes from local to server and from server to local

10 min read Donna Cavalier
Development | make.wordpress.org | Sep. 21, 2015

WP REST API: Merge Proposal

It's that time! Proposal to merge into core. A 2-parter though. Whatcha think?

WP REST API: Merge Proposal

Development | make.wordpress.org | Sep. 21, 2015

Hello everyone! This is the post you’ve all been waiting for. We on the REST API team (myself, @rachelbaker, @joehoyle, @danielbachhuber, and newest member and core committer @pento) would like to propose merging the REST API into WordPress core. We’ve been working a while on this, and think it’s now ready to get your feedback.
This is our first iteration of the proposal, and we’re actively looking for feedback. If you have thoughts on the project, or on this proposal, let us know! Only with your feedback can we make progress.
What is the REST API?
The REST API is a nice and easy way to get at your data in WordPress externally, whether that’s from JavaScript in a theme or plugin, mobile and desktop applications, or importing and exporting data. The API offers up all core data types (posts, terms comments, and users), plus support for meta and revisions; we’ve got plans to eventually have access to everything the admin and frontend have access to.
The REST API differs from existing WordPress APIs in that it is explicitly designed from the ground up for modern mobile and browser usage, using the lightweight and widely-supported JSON data serialization format with a modern REST interface.

5 min read Shawn Hooper
Development | shawnhooper.ca | Feb. 2, 2017

WordPress REST API in the Wild: Cache Clearing – Shawn Hooper - WordPress Developer & Speaker

I'm using the WordPress REST API to remotely trigger the clearing of a key in the Object Cache. Find out how.

WordPress REST API in the Wild: Cache Clearing – Shawn Hooper - WordPress Developer & Speaker

Development | shawnhooper.ca | Feb. 2, 2017

In the last few weeks, I’ve been doing a lot of work integrating & automating some of the systems we use at Actionable.co. This week, I found an interesting use for the WordPress REST API that I thought I’d share. We have a web page on one of our public sites that shows the names, locations and headshots of our consultant network. This data does not originate in WordPress, but in a separate platform. I make a REST call to that platform to retrieve the most up-to-date information to display on this page. For reasons of performance, I cache this data. Until this week, I had instructed WordPress to keep this data for 24 hours.
Here’s a snippet of that code (originated in a class, which is why you’ll see $this used.
1
2
3
4
5
6
7
8
9
10
11
12
// Retrieve Consultant List from Cache
$this->consultantJsonData = wp_cache_get( 'active_consultant_list', 'gem_acp_network_data' );
 
// If no cached version exists, retrieve consultant list from the
// Conversations API, and then cache it for future use.
if ( $this->consultantJsonData === false ) {
$response = wp_remote_get( 'https://example.com/api/Consultants/consultantList' );
if ( is_array( $response

3 min read Jonathan Wold
Development | wptavern.com | Aug. 16, 2016

Customize Snapshots 0.5.0 Introduces Scheduled Publishing and Frontend Browsing

New examples of how to leverage transactions in the Customizer. Much frontend editing. So wow.

Customize Snapshots 0.5.0 Introduces Scheduled Publishing and Frontend Browsing

Development | wptavern.com | Aug. 16, 2016

photo credit: Kristian Karlsson Earlier this year we tested the Customize Snapshots feature plugin, which allows users to draft and preview customizer states. For the past several months Weston Ruter and his team at XWP have been working on adding the ability to schedule Customizer changes. This would allow users to stage content as a set of customizer changes, such as building new pages, adding a collection of widgets, and updating menu items.
Customize Snapshots version 0.5 was released last week, introducing scheduled publishing and frontend browsing for snapshots. Two new buttons are available at the top of the Customizer for launching snapshot previews and scheduling changes to publish at a future time. The save button changes to ‘schedule’ when a future date is selected.
The UI in the admin has been expanded to include a link in the snapshot edit post screen for viewing the set of changes on the frontend. A new link in the Customizer allows the snapshot to be inspected, taking the user back to the snapshot’s edit post screen in the admin.
Version 0.5. also adds initial read-only REST API endpoints for snapshots, allows for previewing AJAX and form submissions,

3 min read Rami Yushuvaev
Development | GenerateWP.com | Jul. 18, 2016

Retrieving WordPress Sites using WP_Site_Query – GenerateWP

WordPress 4.5 introduced to the world the "WP_Site" class. WordPress 4.6 is going to help you query sites in your network using the new "WP_Site_Query" class.

Retrieving WordPress Sites using WP_Site_Query – GenerateWP

Development | GenerateWP.com | Jul. 18, 2016

WordPress 4.5 introduced to the world the WP_Site class. WordPress 4.6 is going to help you query sites in your network using the new WP_Site_Query class. What’s a site, really?
WordPress has a neat feature called “WordPress Multisite” which allows you to create multiple sites with just a single installation. With multisite enabled, you can create multiple independent sites that are not connected to each other by any means, or, create a “network” of sites which are directly related to each other. If you really want to take WordPress to the extreme, you can create a network of networks, which is a multi-level network containing other networks and each of those has it’s own sites.
A “site” is a single instance in the wp_blogs DB table. A “site” can simply be the website created by WordPress, or a virtual website created as part of a network by the multisite feature.
Querying Sites
As mentioned above, WordPress 4.5 introduced the WP_Site class which introduces interactivity options with a site on a multisite network. The class can be used for retrieving site data as well as for setting it up.
As of WordPress 4.6, we can use the

2 min read David Bisset
Development | wordpress.org | May. 15, 2017

WordPress Now on HackerOne

HackerOne is a platform for security researchers to report vulnerabilities. With the announcement also comes introduction bug bounties!

WordPress Now on HackerOne

Development | wordpress.org | May. 15, 2017

WordPress has grown a lot over the last thirteen years – it now powers more than 28% of the top ten million sites on the web. During this growth, each team has worked hard to continually improve their tools and processes. Today, the WordPress Security Team is happy to announce that WordPress is now officially on HackerOne! HackerOne is a platform for security researchers to securely and responsibly report vulnerabilities to our team. It provides tools that improve the quality and consistency of communication with reporters, and will reduce the time spent on responding to commonly reported issues. This frees our team to spend more time working on improving the security of WordPress.
The security team has been working on this project for quite some time. Nikolay Bachiyski started the team working on it just over a year ago. We ran it as a private program while we worked out our procedures and processes, and are excited to finally make it public.
With the announcement of the WordPress HackerOne program we are also introducing bug bounties. Bug bounties let us reward reporters for disclosing issues to us and helping us secure our products and infrastructure. We’ve already awarded