By adding WP-CLI support to your WordPress plugin you'll open it up to developers, power-users, and admins.
Adjusting a plugin, to user’s needs is one of the main agendas every plugin owner has to follow. For a front-page slider that means more color-pickers, fonts and similar visual options. However, if you’re catering to developers, admins, and other power-users sooner or later, they’ll want CLI support. They’ll want to ditch the mouse and work only with the keyboard. Thanks to the WP-CLI project adding CLI support to your plugin is a piece of cake. The eternal GUI vs CLI battle
Let’s get something out of the way: GUI (Graphical User Interface) is not better than CLI (Command Line Interface) and vice-versa: CLI is not better than GUI. People prefer one over the other. It’s a matter of personal preference or habit. “Are they the same, are they interchangeable?” With some compromises, yes they can be but, nobody likes to pick colors in a black&white command line interface. That’s simply counterproductive. They each serve a specialized purpose.
“So why do we need both? Isn’t WP more GUI oriented?” It is, WP is more GUI oriented. But not for all users. Some people use WP in a way that’s more suited for CLI, and
A good list of tools developers (and WordPress admins) can use to host a local copy of a WordPress website with links to tutorials on how to set these tools up. The list includes the typical WAMP, XAMP etc, Local, DesktopServer and also Docker!
Looking for a solution to install WordPress locally? While there are some pros and cons to working on a local WordPress install, I love this approach because:
It’s just plain faster because you don’t have to wait on your network connection.
You can work offline, which is great if you like to develop WordPress sites on-the-go (or live in a developing country with poor Internet, like I do).
It’s private by default. While it’s certainly possible to make a live development site private, it adds extra steps to the process.
If you’re looking for a way to install WordPress locally, you probably don’t need any more convincing on the benefits of this approach.
As someone whose job is to test hundreds of different WordPress themes and plugins, I’ve become well-acquainted with all the different methods available to install WordPress locally. And in this post, I’m going to share them with you, as well as link out to detailed instructions to help you get setup with whichever method(s) piques your interest.
5 Different Ways You Can Install WordPress Locally
Below, I’ll go through all the popular methods that you can use to install WordPress locally
Personally, I'd be happy to see all pop-ups go away, but this is an interesting review of the evolution of pop-ups and some ways to make them work (or replace them) on mobile, while still following Google's guidelines.
Smashing Newsletter With useful tips for web devs. Sent 2× a month.
You can unsubscribe any time — obviously.
Are mobile pop-ups dying, or will they simply undergo another adaptation? If they continue to remain effective, how should designers make use of them, especially in mobile web design? Are there alternatives? Let’s see what the research says.
The pop-up has an interesting (and somewhat risqué) origin. Were you aware of this? The creator of the original pop-up ad, Ethan Zuckerman, explained how it came into being:
Specifically, we came up with it when a major car company freaked out that they’d bought a banner ad on a page that celebrated anal intercourse. I wrote the code to launch the window and run an ad in it. I’m sorry. Our intentions were good.
Basically, the client was dissatisfied with having their ad placed beside an article discussing this less-than-savory subject. Rather than lose the ad revenue or, worse, the client, Zuckerman and his team came up with a solution: The car company’s ad would still run on the website, but this time would pop out into a new window. Thus, the pop-up gave the advertiser an opportunity to share
TL;DR: Tom McFarlin isn't planning to update any of his own plugins for Gutenberg compatibility until Gutenberg is in core and clients / end users are asking for it. But that's not because Gutenberg isn't necessary, only because clients can't ask for something they don't know exists.
I’ve been asked, on a few occasions, why I’ve not released anything that’s compatible with Gutenberg or why certain plugins aren’t compatible with the current version of the Gutenberg plugin. In the WordPress economy, I’ve seen few things as divisive as this shift in WordPress (though it seems to be finally have chilled a bit). And I’m not interested in entertaining a position on it on this blog.
But when others ask why I’ve not bothered to write anything about it or make certain plugins compatible with it, I find that it’s worth talking about it at least to a certain degree.
Demand for Gutenberg Is Not There
As far as building solutions for others are concerned, there’s yet to be demand for Gutenberg compatibility at all. This doesn’t mean that people don’t see it on the horizon nor that they don’t see the need to prepare for it.
But customers who pay WordPress developers, designers, and other experts in our field aren’t using it right now, so the demand for building something on Gutenberg is not there.
Another way of looking at is that there’s interest and potentially even a demand for it for those
Rachel Andrews' presentation about CSS Grid from An Event Apart. Includes slides, code samples, and links to references.
@rachelandrew Percentages • Ugly • Easy to understand • If they total more than 100% bad things happen. • Can be converted from an ideal pixel size using a straightforward calculation. And percentages, while they look horrible in our CSS, and aren’t exactly fun to calculate are understandable. We can work out what percentage value we need to pop in, based on an ideal pixel size using the method Ethan Marcotte taught us in his seminal piece on responsive design. We understand that if we have more than 100% bad things will happen to our layout.
By doing the work to figure this stuff out, either with a calculator on our desk or allowing some tool or framework to have figured it out for us, we are in control.
One of the nice features of new layout, of flexbox and grid is that they can take away a lot of the pain of calculating this stuff, but in doing so we start to run into the under the hood sizing constructs that they are built upon, and they seem confusing when compared to good old percentages, and the temptation is to return to our familiar methods.
Zach Tirrell of Modern Tribe tells us all about how they decided to take their popular Events Calendar plugin and convert it to a SaaS product called Loxi.
Sponsored by: Today we’re talking to Zach Tirrell from Modern Tribe. We talk all about how they re-imagined that plug-in as Software as a Service called Loxi. We go over how they decided on which features to support, the importance of good design, and the tech stack, like using React. Speaking of React, We also talk a bit about Gutenberg.
In very simple terms, a Learning Management System (LMS) is a website that hosts eLearning programs and provides students and/or employees a way to participate in online training. In this guide to building an LMS with WordPress, learn about common features that you should consider when developing your LMS, as well as plugins to help.
In very simple terms, a Learning Management System (LMS) is a website that hosts eLearning programs and provides students and/or employees a way to participate in online training. Implementing an LMS with WordPress is something we have done for several clients here at WebDevStudios (WDS). For example, we implemented an LMS for Starbucks for their employee intranet. The corporation needed a platform they could use to train Baristas worldwide on the different drink recipes from their menu, as well as the equipment used to create those yummy treats! In this guide to building a Learning Management System with WordPress, I’ll take you though a plethora of common features that you should consider when developing your LMS, as well as plugins to help. Because WDS built a custom solution that uses WordPress, BuddyPress, BadgeOS and LearnDash, Starbucks’ employee intranet allows Baristas to log in, take quizzes based on training videos they’ve watched, and receive participation badges based on their training progress and quiz scores.
Common LMS Features
An LMS has several different features for online training. When the time comes for you to consider building a Learning Management
Excellent post about setting up, optimizing and maintaining a server for WordPress sites.
This is article 11 of 11 in the series “Hosting WordPress Yourself” Hosting WordPress Yourself: Ongoing WordPress Server Optimization & Maintenance
So you’ve followed our in-depth guide and built yourself a shiny new server that’s secure and tuned for optimal WordPress performance, but what’s next? In this installment of Hosting WordPress Yourself, I’m going to outline a few tasks that should be carried out on a regular basis to ensure that your server continues to run securely and perform well. We’ll look at performing software updates, upgrading PHP, and a few “gotchas” to watch out for that we may have experienced ourselves. Let’s dive straight in!
Keep Plugins and Themes Updated
Let’s start with an easy one that isn’t just applicable to self-hosted WordPress installs. WordPress itself, WordPress themes, and all plugins should be regularly updated. No software is immune to vulnerabilities and updating often will ensure those inevitable vulnerabilities are patched.
While you’re at it, make sure you delete obsolete themes and plugins. There’s no reason to keep them around, other than to provide
My favorite quote from this is "You don't need a framework. You're developers. You, yourself can write this code. You just need to spend a little bit of time learning Grid and mastering Grid and getting to know what Grid wants to do. Please let's not create new frameworks." (I admit I'm a little biased against CSS frameworks.)
It's easy to make lots of mistakes with a new technology, especially something that's as big of a change from the past as CSS Grid. Jen lists the 9 Biggest Mistakes she sees people making when using CSS Grid, with advice and tips for avoiding these pitfalls and old habits. Mistake 1: Thinking CSS Grid is Everything
“Flexbox vs. CSS Grid — Which is Better?”: https://youtu.be/hs3piaN4b5I
“Using Flexbox & Grid Together”: https://youtu.be/dQHtT47eH0M
“Obliterate Boxiness with CSS Shapes”: https://youtu.be/pOB75oTNhw0
Mistake 2: Using Only Percents for Sizing
“Min & Max Content Sizing in CSS Grid”: https://youtu.be/lZ2JX_6SGNI
“FR Units in CSS Grid“: https://youtu.be/ZPtpzuRajzM
“MinMax in CSS Grid”: https://youtu.be/mVQiNpqXov8
Mistake 3 : Assuming You Need Breakpoints
“Incredibly Easy Layouts with CSS Grid”: https://youtu.be/tFKrK4eAiUQ
Mistake 4: Getting Confused by Numbering
“Innovative & Practical Graphic Design with CSS Grid”: https://youtu.be/-hmOZU7Zk10
“Basics of CSS Grid: The Big Picture”: https://youtu.be/FEnRpy9Xfes
Mistake 5: Always Using 12-columns
Intriguing discussion on what Gutenberg will mean for theme development, and have we been here before?
…or “A Realistic Look at Using 3rd Party Gutenberg Blocks in Your Theme”
“Keep Your Plugin Blocks Out of My Theme”
“Shortcodes All Over Again”
“The Never Ending Battle to Style a Button Consistently”
“We Still Have a Long Way to Go”
I would like to preface this article by saying that these thoughts and opinions are in no way meant to diminish the amazing work that the Gutenberg team has done (and continues to do). I love writing in Gutenberg. I follow the GitHub repository closely, often reading 100+ notifications each day. I have been testing since early versions. I have left feedback. Things have gotten much better. However this article is meant to take a realistic and somewhat critical look at how Gutenberg is being presented on a grander scale vs. some of the realities that come in to play when implementing these ideas.
What You See is (Maybe) What You Get
WYSIWYG is everyone’s white whale but Gutenberg takes a huge step in the right direction towards helping publishers have a better idea of what their content will look like as they are writing. The previous (technically
The WordPress database abstraction layer (wpdb) is class responsible for interacting with the database. But it can always be improved - this article shows you how to expand the functions and make the class even better.
The WordPress database abstraction layer, more commonly know as wpdb is a class based on ezSQL responsible for interacting with the database. The wpdb class is also a drop-in – a piece of core WP code that can easily be replaced by another piece of code with similar functionality (an up-to-date list of drop-ins is available in WP Code Reference). This is where a big misconception comes into play. People perceive “replaced” as in “write my own, complete database class”. Fortunately, you don’t have to write the whole database class. You can take the existing class and add, remove or modify only the functions you need. And that’s what we’re going to do.
Why modify the wpdb class?
Surely, wpdb has everything you need!? The whole WP is built on top of it. Technically that’s correct. By using the $wpdb->query() method you can execute any SQL command. But with that logic applied we would never have or need methods like $wpdb->insert() or $wpdb->get_var(). But we do, because they save time, reduce bugs and keep bad queries away. So, what functions are missing? That depends on the project you’re working on. We needed support
Tips and best practices for building (and maintaining) a WP website. Includes some stuff I learned the hard way :)
When it comes to WordPress, we so often focus on advanced techniques meant for experienced developers. But that leaves out an awful lot of people who are just getting their feet wet with the popular CMS. So today, we’ll focus on those of you who are either thinking about building a website with WordPress or have limited experience in doing so. The platform is incredibly flexible and also a bit deeper than you may think. And because there are multiple ways to accomplish the same thing, it’s easy to make mistakes – only you may not fully realize it until issues arise down the line.
With that in mind, here are 5 items to think about when building with WordPress:
1. More Plugins = More (Potential) Problems
When first starting out with WordPress, it’s easy to become enamored with the sheer number of plugins available. But tread lightly, code ninja. Plugins can indeed satisfy a number of functionality needs. But with each plugin we add comes another potential future maintenance issue.
As new versions of WordPress core and plugins are released, there is always a chance that one piece will conflict with another. That can cause anything from minor administrative annoyances
The reason why we remove default rewrite rules is to keep things clean and “less exposed” when making WordPress powered SaaS apps.
WordPress permalinks, also known as rewrite rules or pretty links have been a feature since nearly the first version of WordPress. Once something to brag about, today this feature is as standard as features get and not even worth mentioning on the features list. Having numerous permalinks working out-of-the-box means that 99% of WordPress users don’t have anything to set up and things work for them as soon as they install WP. That’s great; it’s one of the reasons we love WP. However, there are situations where you want to remove or modify default permalinks.
What are “default permalinks”?
To make matters clear we’re not talking about “default permalinks,” we’re talking about default rewrite rules. It may seem like a subtle difference (or even that those two things are the same), but the difference is quite significant. WP generates permalinks based on rewrite rules.
A default WordPress installation has 87 rewrite rules (first code sample below will get you the list). On the other hand, it has only a few permalinks. The root (home page) one, various feed permalinks and those related to the REST API. That’s it. As you add more
Ok, we don't have an exact date, but at least we know it won't be until after...
Goals (To be posted) | Dev Chat Agendas | Dev Chat Summaries | Dev Notes | Field Guide (To be posted) | All Posts Tagged 5.0 WordPress 5.0 will be the first “major” release of 2018, including the new editor, codenamed “Gutenberg”.
November 15, 2017
Trunk is open for business. (Post-4.9)
5.0 Kickoff meeting.
Last chance to merge feature projects.
Beta 1 and feature project merge deadline.
From this point on, no more commits for any new enhancements or feature requests in this release cycle, only bug fixes and inline documentation. Work can continue on enhancements/feature requests not completed and committed by this point, and can be picked up for commit again at the start of WordPress 5.1.
Release candidate and soft string freeze.
Final release candidate if needed and hard string freeze.
Dry run for release of WordPress 5.0 and 24 hour code freeze.
Target date for release of WordPress 5.0.
To get involved in WordPress core development, head on over to Trac and pick a 5.0 ticket. Need help? Check out the Core Contributor Handbook. Get your patches done and submitted as
This article plans to give you a few pointers by contrasting the pay, prevalence, and forthcoming future related with various programming languages.
Do a easily web search and you’ll discover there are many programming Languages in presence. Do another scan for the most famous ones and once more, you’ll think of a head-turning list. To be as goal as could reasonably be expected, we’re inspecting the best programming languages from a profession viewpoint. It’s a standout amongst the most famous inquiries that gets inquired. The main issue with that inquiry is that it’s practically similar to somebody asking what auto they should purchase. Quicker, more astute programming, with less bugs.
Those are the guarantees originating from the makers of the most recent round of languages to catch the consideration of programmers. Indeed, they’re similar trendy expressions we’ve heard some time recently, however the absence of oddity is no motivation to reject them.
The eventual fate of coding requires security and great practices so our advancements will work. Truth be told, our undertakings are regularly so substantially greater now, we require the advancement like never before.
In case you’re hoping to figure out how to code, the sheer number of best programming languages might be overpowering,
Inspired by the Capital P dangit function, a bot to fix any misspelled mention of WordPress in your code. The bot checks the files in your pull request and asks for changes if necessary, pointing to the offending files/lines.
Everybody new to WordPress quickly learns that WordPress is written with a capital P. This is a major pet peeve for the WordPress community (just write WordPress with a lowercase P in any WP forum/slack channel and count the seconds until somebody corrects you ). This obsession ended up with the addition of a new function to the WordPress core code (the capitalP dang it function, initially contributed by Matt Mullenweg, the WordPress co-founder itself) that automatically checks your post content and autocorrects any misspelling of the word WordPress. While, at the time, this enforcement generated some controversy, we are now all very used to it and mostly believe that helps us to avoid silly mistakes when talking about WP.
As part of our research line on the influence of bots in software development, we thought we could create a simple bot to bring the same functionality to your WordPress-related code. That is, our CapitalP bot checks your WordPress code (e.g. as part of a new theme or plugin) does not misspell the word WordPress either. WordPress with a capital P everywhere!.
You can easily install the CapitalP bot in any of your GitHub repositories. Once installed, the bot will automatically
Nice to see some actual user testing results from someone.
A new WordPress content editing experience—Gutenberg—is coming soon to WordPress core, and 10up’s User Experience team is eager to understand how it will impact the experience for content creators. As a starting point, I created a usability test to study the experiences of professional, digital content publishers who are used to writing stories in the current editor. Building on other Gutenberg usability tests that focused on re-creating a prescribed layout, I instead asked professional writers to produce the same kind of content they already produce every day: write a simple story. The user test asked ten participants to complete the following prompt:
Write a news-style blog post about somewhere interesting you have visited. Please include the following elements in your post:
A paragraph or two about the place
An extra item such as a video or blockquote
These tests were taken with Gutenberg 2.9.2 (the current build at the time the test was created). As of this post, the current version is 3.0.1.
During the unmoderated test, participants described what they were thinking as they progressed through the task. Their words and screen movements were recorded
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
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.
Morten Rand-Hendricksen from LinkedIn along with others just released this new starter theme + build process that focuses on accessibility and performance.
We created WP Rig to help you do what you do best: build feature-rich and visually stunning WordPress themes for every person who uses the web. Out of the box you get a fully styled starter theme built for performance and maintainability.
More Than a Starter Theme
WP Rig is a modern build process and starter theme bundled into one convenient package.
The starter theme gives you a starting point for your designs and layouts; minimal templates with optional drag-and-drop files from the WordPress Template Hierarchy; code and file structure optimized for modern performance standards (including lazy-loading images); and well documented helper functions to make theme development and customization easy.
The build process provides a no-configuration starting point for modern progressive WordPress
All the links, tutorials, resources and tools you need to learn and start using Gutenberg.
WordPress Gutenberg All the tutorials, examples and tools you need to start using Gutenberg.
In 2018, WordPress aims at modernizing and simplifying the content creation experience with Gutenberg. Its name comes from Johannes Gutenberg, the founder of the printing press. This is considered to be one of the biggest changes for the WordPress user experience and the theme development workflow.
What is Gutenberg?
Most of us think that Gutenberg is just a new editor, but it’s not just that. While the editor is on focus right now, the project will ultimately impact the entire publishing experience including customization.
Up until now, editing a page meant tweaking its title, body and custom fields. With Gutenberg, this logic changes completely and it introduces the concept of blocks. Blocks are standalone, isolated and dynamic user interface components that are added dynamically through the wp-admin. I won’t elaborate on this, since the following video explains everything in detail.
The WordPress Plugin Directory had a recent policy change regarding the notice displayed for old / un-updated plugins. Instead of a time-based warning, it is now a version-based warning.
If you are a plugin developer, then you should know that the Plugin Directory had a recent policy change regarding the notice displayed for old / un-updated plugins. Instead of a time-based warning, it is now a version-based warning. Old WordPress Plugins
WordPress Plugin Directory has several mechanisms to ensure compatibility with newer WordPress versions and to encourage developers to upgrade and maintain their plugins. Old plugins are excluded from search results — this way only plugins that have been updated recently get displayed and promoted in the Plugin Directory.
In addition, when navigating directly to a plugin page, there is a notice saying that the plugin hasn’t been updated for a while and it may no longer be maintained or supported. This way the user can choose whether to use the plugin at his risk or try to find better alternatives.
From a plugin developer’s point-of-view, the plugin needs to be maintained and updated constantly and regularly to be presented on the Plugin Directory. Otherwise, the plugin will be displayed with a warning and excluded from the search results.
Policy Change — Time-Based Notice vs. Version-Based Notice
In the old
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.
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
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.
A welcome video is a great way to humanize the branding of your website. You can now add any video
Very important stuff. I do wish it wasn't all so last minute, but happy to see it happening.
Stronger rules on data protection from May 2018 mean citizens have more control over their data. GDPR is coming, and we’re working hard to get new tools in WooCommerce core to help store owners comply. If you’re not familiar with GDPR yet, Hannah wrote a great introduction to GDPR on the main WooCommerce blog which you can read to get caught up.
It’s important to note that this new law doesn’t just apply to stores in the EU – this applies globally to stores that sell products to EU residents.
We’re currently building new tools into our upcoming 3.4 release to help store owners deal with GDPR requests and surface things such as privacy policies on the checkout. Some of the tools are built already, or are in progress, notably:
Improvements to the checkout in https://github.com/woocommerce/woocommerce/pull/19637, which include:
Better formatting for inline descriptions should someone which to include just in time privacy text next to fields, and some simple tools to toggle non-critical fields off to avoid unnecessary data collection.
Custom terms and conditions text, and control over the checkbox + label itself.
In progress personal data export and bulk
Great resource to know if your site might go belly-up if any of these Gutenberg problems are not resolved.
In January, I wrote on the WP4Good blog Although, many Themes and Plugin developers started working on Blocks for Gutenberg, teams of larger projects won’t be able to start compatibility testing until the first beta version [of WordPress 5.0] is released. Fast iteration and patches will follow for issues discovered. There might be a few surprises for the Gutenberg development team.
Since then I have been keeping an unsorted list of plugins and themes that are reported ‘wonky’ to some extend.
Within several weeks, the next version of WordPress (4.9.6) will have a dashboard prompt to “Try Gutenberg” with a two-click process to install it as a “Feature Plugin” and test it. Knowing which plugins won’t work, will help with the decision to try or not to try. Here is our list. It is in no way comprehensive, but it’s a start.
This is a loose collection of plugins, themes or environments that do not yet work properly with the “feature plugin” Gutenberg. We’ll updated the list on a regular basis.
Table of Contents
Plugins with Gutenberg quirks
Plugins with Gutenberg quirks
Daniel Bachhuber created a database