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!

×

18 min read Brandon Ernst
Development | freemius.com | 4 days ago

ThemeForest vs. WordPress.org Theme Review Process

Rejection from the Theme Review Process doesn’t feel good nor does it help your business! Make sure your theme gets approved with this side-by-side comparison of the processes on ThemeForest and WordPress.org.

ThemeForest vs. WordPress.org Theme Review Process

Development | freemius.com | 4 days ago

Submitting your WordPress theme for review can be a tedious process. I’ve personally spoken with many theme developers who have been rejected from both ThemeForest and WordPress.org for reasons they did not expect, requiring them to spend 2X or 3X the amount of time developing and releasing their product. These rejections have led me to wonder: What exactly are the different review processes like? How do they impact theme businesses in terms of development and marketing? To get the answers to these questions, we should understand why themes get reviewed in the first place.
Avoiding Rejection
Why are WordPress Themes Reviewed?
There’s a pretty simple reason that ThemeForest and WordPress.org both review themes, and that’s to ensure quality. Quality applies at many different levels – coding structure, security, user experience, bugs, compatibility issues, design, and much more.
This is what Envato says about their WordPress Theme Requirements on ThemeForest:
“These requirements are designed to maintain a minimum standard of quality in WordPress themes distributed via Envato. Some exceptions may be allowed at the reviewer’s discretion.”
Envato’s

5 min read WebDevStudios
Development | webdevstudios.com | 12 days ago

Continuing Your WordPress Education from Home

Don't let the necessary cancellations of WordCamps and WordPress Meetups bring your WordPress education to a grinding halt. You can continue to expand your WordPress education while staying home. Here's how WebDevStudios does it.

Continuing Your WordPress Education from Home

Development | webdevstudios.com | 12 days ago

Out of respect to the current health crisis, WordCamps across the globe are being canceled or postponed. However, your passion to continue your WordPress education doesn’t have to come to a grinding halt. There are still ways to beef up your knowledge while isolated at home. From day one, WebDevStudios (WDS) has operated successfully as a 100% distributed company. We know WordPress, and we know remote work. That also means we know where to find the best resources for an online WordPress education. Of course, WDS has always supported and been a part of WordCamps and WordPress Meetups, but when we can’t attend either, here are some ways we attain our WordPress education.
WordPress.tv
WordPress.tv is the go-to spot to watch WordCamp talks from all over the world! It’s a pretty amazing website with a vast amount of WordPress education on topics such as The History of WordPress, How to Troubleshoot Your WordPress Site, and Building Web Applications on WordPress.
YouTube
Not all WordCamp talks are submitted to WordPress.tv. You can always find more on YouTube.
With the cancelation of @WordCampLanc, I went back and found the previously unreleased recording of my WordCamp

7 min read WebDevStudios
Development | webdevstudios.com | Feb. 20, 2020

How to Build Design Systems for WordPress

If you don't know what a design system is or how it can benefit your website, now's your chance to find out.

How to Build Design Systems for WordPress

Development | webdevstudios.com | Feb. 20, 2020

What is a design system? If you’ve never heard of a design system before, you’re not alone. For those of us not dabbling in graphic design or pursuing it as a career, you can think of it essentially as a design template for websites. A design system sets out the building blocks that a graphic designer will use to build websites with. In this article, we’ll cover the basics of a design system and touch on design systems specifically for WordPress.
A design system might be very generic blocks—i.e., wireframes, a group of font styles, some button styles, logo usage, the header and footer design, etc. Or, it may be very specific, such as the entire brand and style guidelines for a company from top to bottom.
History
As web development has matured, it became apparent that while print designers had Illustrator and InDesign, there really wasn’t a comparable tool with which to lay out a website, visually. Many designers used Photoshop, but that was very much like using a sledgehammer to hang a picture. Sure, it would probably work, but you’d most likely end up with a very large hole.
Then along came Sketch in late 2010. Sketch, a software built solely for

2 min read Jakub Mikita
Development | btb.works | 5 days ago

How to run PHPUnit with a database via GitHub Actions

As of March 2020, GitHub seems to remove the default MySQL installation from its ubuntu-latest container. Now it’s required to set up the database service in order to use it.

How to run PHPUnit with a database via GitHub Actions

Development | btb.works | 5 days ago

As of March 2020, GitHub seems to remove the default MySQL installation from its ubuntu-latest container. Now it’s required to set up the database service in order to use it. Because we at BracketSpace are testing our WordPress plugins with PHPUnit it’s required to run them along with the database.
Let me show you how to set up the GitHub workflow file to use multiple PHP versions.
name: Test

on: push

jobs:
phpunit:
name: PHPUnit
needs: build
runs-on: ubuntu-latest
strategy:
matrix:
php: ['7.0', '7.1', '7.2', '7.3', '7.4']
services:
mysql:
image: mysql:5.7
env:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: wordpress_test
ports:
- 3306
options: --health-cmd="mysqladmin ping" --health-interval=10s --health-timeout=5s --health-retries=3
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Install Composer dependencies
run: composer install -o --no-dev --no-progress
- name: Setup PHP
uses: shivammathur/setup-php@v1
with:
php-version: ${{ matrix.php }}
extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo,

5 min read WebDevStudios
Development | webdevstudios.com | Jan. 28, 2020

Diagnosing a Slow WordPress Site

If your WordPress website is slow or sluggish, not only could that hurt your Google search ranking, it could also turn off your visitors and make them abandon your website. Use these tips to speed up your site.

Diagnosing a Slow WordPress Site

Development | webdevstudios.com | Jan. 28, 2020

Sluggish Website So, your WordPress website is running slow? Back in 2014, the average user would wait up to five seconds for a website to load before abandoning your website. Just a few short years later, that number is now under three seconds. Failure to provide a fast experience for your customers will make a dramatic impact on your site’s listing on Google searches, as well as turn off your visitors. So what do you do? Start by learning the importance of diagnosing a slow WordPress site.
Website Speed Test
First off, to know how slow your website truly is loading, it’s best to get a baseline from multiple locations across the globe. A fantastic tool to test with is Pingdom Website Speed Test. Using a third-party service helps rule out personal hardware or local internet issues you might have, which will help you diagnose your slow WordPress site by pinpointing problems.
Depending on your target audience’s locality, it is best to run the Pingdom speed test from multiple testing locations relative to your target audience. Once it’s been determined that your site’s load speeds aren’t just localized to you, there are a few easy steps you can make

7 min read WebDevStudios
Development | webdevstudios.com | Jan. 23, 2020

3 Design Tips for Call-to-Action Buttons

WebDevStudios Creative Lead, Cameron Campbell, shares three hot design tips for call-to-action buttons. Use his guidance to improve the conversion rates of your CTA buttons.

3 Design Tips for Call-to-Action Buttons

Development | webdevstudios.com | Jan. 23, 2020

Let’s start by briefly defining what a call to action is. A call to action, commonly referred to as CTA, can describe any piece of content on your website that you want users to take action on. This could be a simple “Read More” link on a blog post or a large, stylized banner asking users to sign up for your newsletter or other service. Virtually every website and app has some type of CTA, and it’s important to give them proper design considerations in order to make them as effective as possible. For the purpose of this article we’ll focus specifically on design tips for call-to-action buttons. CTAs are important because without them you’re leaving it up to users to find things they need (or worse, leave your website). Your aim should always be to reduce the cognitive load on users by making things simple and easy to execute. A successful CTA should be succinct, well-designed and accessible to users with a wide range of experience and abilities in order to maximize the amount of people who can see and interact with them.
Now that we have a bit of a foundation, let’s dive into ways you can maximize the effectiveness of your call-to-action buttons.

39 min read Matteo Duò
Development | kinsta.com | 13 days ago

Google Cloud vs Azure in 2020 (Comparing the Giants)

A thorough comparison of Google Cloud vs Azure, two cloud computing giants in the market. We explore their products and the pros and cons for your business.

Google Cloud vs Azure in 2020 (Comparing the Giants)

Development | kinsta.com | 13 days ago

The migration of enterprises to cloud computing continues at an astonishing rate. Companies are increasingly seeking out the benefits offered by cloud technologies above and beyond on-premise deployments. With cloud providers delivering ever-increasing improvements in cost savings, scalability, security, and business continuity this trend is only set to accelerate.
The cloud computing market is now a vast ecosystem of providers, technologies, products, and services. Gartner forecasts the worldwide public cloud services market alone will grow by 17% to reach $266.4 billion.
2018
2019
2020
2021
2022
Cloud Business Process Services (BPaaS)
41.7
43.7
46.9
50.2
53.8
Cloud Application Infrastructure Services (PaaS)
26.4
32.2
39.7
48.3
58.0
Cloud Application Services (SaaS)
85.7
99.5
116.0
133.0
151.1
Cloud Management and Security Services
10.5
12.0
13.8
15.7
17.6
Cloud System Infrastructure Services (IaaS)
32.4
40.3
50.0
61.3
74.1
Total Market
196.7
227.8
266.4
308.5
354.6
Worldwide Public Cloud Service Revenue Forecast (Table Source: Gartner) Note: Totals may not add up due to rounding.
Among the 1000s of providers, a handful of technology companies have established themselves as household

6 min read WebDevStudios
Development | webdevstudios.com | Dec. 3, 2019

Sass Tips to Take Your Skills to the Next Level

Frontend Engineer, Marty O'Connor, shares 10 Sass tips to take your skills to the next level.

Sass Tips to Take Your Skills to the Next Level

Development | webdevstudios.com | Dec. 3, 2019

If you’ve been using Sass for a while, but find yourself writing seemingly basic code that doesn’t look very different from vanilla CSS, then this article is for you. We’ll explore ten ways to put Sass to use, taking advantage of some of its more intermediate to advanced features. Year after year, I continue to be impressed with the language’s capabilities and would like to share some of the tricks I’ve learned. This article assumes you have at least some working experience with Sass. If not, get your hands dirty with one of the many great resources on the internet. The Sass documentation is a great place to start. They don’t call them Syntactically Awesome Style Sheets for nothing, so let’s get started on these 10 Sass tips created to take your skills to the next level. 1. Parent Selector
Select a parent from within the child selector.
SCSS
Instead of having to make a new selector for .container .text outside of the .text block, you can just write your selector inside of .text, followed by the &.
Compiled CSS
HTML
2. Suffixes
Here’s a cool way to generate suffixes based on a particular class. Use &- followed by the desired suffix.

12 min read Codeinwp
Development | codeinwp.com | Jan. 21, 2020

15 Front-End Tools You Should Know About - Louis Lazaris' Favorite Finds

Louis Lazaris shares his favourite finds with the developer community: 15 front end tools to add to your workflow. Hotkey, Freezeframe.js, ARC Toolkit, Scene.js, Commento, Git History, CSS Feature Toggles, Create App, CSSJanus, Color Thief, RegexGuide,

15 Front-End Tools You Should Know About - Louis Lazaris' Favorite Finds

Development | codeinwp.com | Jan. 21, 2020

Another year has passed and if you’re like many web developers in the industry, you’ve probably discovered a whole slew of new front-end tools that you’ve considered incorporating into your workflow. I’m in the same boat, especially since I’m deeply involved in regularly researching what’s new in the tools landscape. In this post, I’m going to round up (with some screenshots and demos) some of the most interesting front-end tools I’ve found that I think you’ll find useful in 2020. These aren’t necessarily the most popular tools or the hottest tools, but I think each of them is unique in their use case and deserve a little more attention. These are essentially my favorite finds of the year in front-end tools.
Detecting keystrokes with JavaScript isn’t an overly complex task, but this little utility from the team at GitHub makes it super simple.
With it you can trigger an action on an element with a keyboard shortcut.
The types of shortcuts include a key, key combo, or even key sequence. You can also have multiple shortcuts for a single action.
The JavaScript is just one declaration along with an import:
import {install}

9 min read Donna Cavalier
Development | elementor.com | Feb. 6, 2020

Gutenberg vs. Elementor: We Attempted to Build Our New Site With Both — Here's What Happened

ThemeIsle tried hard to use Gutenberg to redesign their site, but in the end, it just wasn't the right tool for the job. It's a better TinyMCE is the final consensus.

Gutenberg vs. Elementor: We Attempted to Build Our New Site With Both — Here's What Happened

Development | elementor.com | Feb. 6, 2020

Yes, you’re reading this right. We – ThemeIsle – are probably one of the few teams that have decided to use the WordPress block editor, Gutenberg, to build the core of our pages during our big redesign a couple of months ago. Some things worked well, and other things went wrong. But as you can imagine, it’s a little more complicated than that, and we believe that you could benefit from our experience.
But first, just in case you’re not familiar with us, let me explain who we are and why you should care?
ThemeIsle is the company behind some of the most popular themes in the WordPress directory. And yes, I have data to back me up! Just take a peek into the Popular tab of the WordPress directory. Long story short, a company that makes a living by building themes should also have a pretty neat website of their own. That’s where the Gutenberg ordeal comes into play.
About Gutenberg, many of us know what it is, and our experiences with it have been either more or less successful. The WordPress team has been promoting it as the next big thing in website building, but is that really the case? More importantly, do you actually believe this enough to risk your

9 min read WebDevStudios
Development | wds.af | Oct. 22, 2019

Headless WordPress: Taking Posts Anywhere

What is headless WordPress and what does it look like in practice? Our backend engineer wrote this blog post to explain it all.

wds.af |

Headless WordPress: Taking Posts Anywhere

Development | wds.af | Oct. 22, 2019

What Does Headless WordPress Mean? WordPress as a content management system (CMS) is a platform for creating and managing your digital content. Your digital content can take the form of blog posts, events, products, team members, locations, and essentially anything you consider content that you wish to store and share. As an all-in-one system, WordPress is equipped with a backend admin interface to manage all your content as well as a frontend to display content to your users which leads us into what it means to go “headless” and what it has to do with WordPress.
When you take your website headless, you are separating the backend (admin interface) and frontend (user interface) or ‘heads’ from each other. With a separated backend and frontend, you gain the freedom to continue to manage and author content in WordPress while freeing up your content to be available for use in other applications that are written in Angular, React, and Vue.JS, or integrated into mobile apps.
When You Should Go Headless
One of the primary reasons to consider going headless is if you plan on having your content available across multiple websites and platforms at the same time. This is

4 min read Jakub Mikita
Development | wptavern.com | 12 days ago

BracketSpace Releases Library of Reusable Code for Plugin and Theme Development

BracketSpace, a WordPress-centric software development company, released Micropackage a few weeks ago. The project is a collection of open-source repositories with reusable code for inclusion in WordPress plugins and themes.

BracketSpace Releases Library of Reusable Code for Plugin and Theme Development

Development | wptavern.com | 12 days ago

BracketSpace, a WordPress-centric software development company based, released Micropackage a few weeks ago. The project is a collection of open-source repositories with reusable code for inclusion in WordPress plugins and themes. The library currently has 13 packages, including a filesystem wrapper, a template system, an Advanced Custom Fields block creator, and more. The company out of Poland specializes in project outsourcing and plugin development. Some of their more popular plugins include Advanced Cron Manager Pro and Notification, a custom notification plugin in which the BracketSpace sells pro extensions for various services.
The Micropackage project was driven by the needs of the team and its projects. “We started the Micropackage project to scratch our own itch,” said Jakub Mikita, CEO of BracketSpace. “During the past few years of active plugin and website development, we noticed that keeping the code standard was very important for maintainability.” The BracketSpace team had been copying and pasting code between projects. Eventually, the team asked themselves the inevitable question that most development teams come to — why not break all of

1 min read Jakub Mikita
Development | btb.works | Feb. 21, 2020

Close unclosed HTML tags in PHP

Simple WordPress PHP function which closes unclosed HTML tags. Can fix broken HTML and allow safe output without any layout breaks.

Close unclosed HTML tags in PHP

Development | btb.works | Feb. 21, 2020

Recently I stumped upon a handy WordPress function which closes HTML tags. The function name is force_balance_tags().
Taking as an example unclosed list items:
echo force_balance_tags( '<ul>
<li>this
<li>is
<li>a
<li>list
</ul>' );
It will produce something like this:
<ul>
<li>this
</li><li>is
</li><li>a
</li><li>list
</li></ul>

5 min read Donna Cavalier
Development | make.wordpress.org | Jan. 27, 2020

Feature Plugin: XML Sitemaps - coming to WordPress CORE (one day)

Finally! This is one of those features I've always thought should be included in core. It's not in core yet, but this is a first step.

Feature Plugin: XML Sitemaps - coming to WordPress CORE (one day)

Development | make.wordpress.org | Jan. 27, 2020

Last year, a group of contributors posted a proposal to implement native XML Sitemaps in WordPress Core which received lots of interest and feedback from the community. Since then, we have been working on a XML Sitemap feature plugin (MVP) which is now available for testing and feedback. Props to the contributors working on this plugin and co-authoring the content of this post: Sander van Dragt, Kirsty Burgoine, Adrian McShane, Ruxandra Gradina, Joe McGill, Thierry Muller, Pascal Birchler
Feature overview
As a quick reminder of what this project is trying to achieve, here are the main features as described in the initial project proposal, which we would encourage you to read in its entirety.
XML Sitemaps will be enabled by default making the following content types indexable
– Homepage
– Posts page
– Core Post Types (Pages and Posts)
– Custom Post Types
– Core Taxonomies (Tags and Categories)
– Custom Taxonomies
– Users (Authors)
Additionally, the robots.txt file exposed by WordPress will reference the sitemap index.
Additionally, an XML Sitemaps API ships with the plugin aiming for developers to build on top of it.
The approach
In order to

7 min read Eric Karkovack
Development | 1stwebdesigner.com | Jan. 16, 2020

What Is "Headless" WordPress?

An introduction to headless configurations, along with some helpful resources to get you started.

What Is "Headless" WordPress?

Development | 1stwebdesigner.com | Jan. 16, 2020

There are plenty of reasons why WordPress is the most popular CMS on the planet. Chief among them are its general ease-of-use and flexibility. Both of these attributes are keys to the rise of the “headless” WordPress trend. That is, using a WordPress back end to feed content to an outside, non-WordPress application. While that may sound a bit confusing – not to worry! Today, we’ll introduce you to the headless concept and the types of things you can do with it.
From WordPress to Anywhere
Think of a headless WordPress setup the same as, well, any other installation of the CMS. You install it just as you normally would. You log into the Dashboard and create pages or posts the same as always.
The main difference? You aren’t depending on WordPress to display the public-facing front end of your website. Instead, the content you create is meant to be used somewhere else. In essence, this could be just about anywhere. But among the most popular uses are:
Mobile apps;
Progressive web applications using JavaScript libraries such as React;
Static websites;
There are several advantages to this approach. For one, it allows content creators to use a familiar tool. They

4 min read WebDevStudios
Development | webdevstudios.com | Sep. 12, 2019

Hashing a Custom Taxonomy

When an engineer has amassed a collection of Pokemon cards, what does he do? Build a WordPress-based database site for cataloging it, of course!

Hashing a Custom Taxonomy

Development | webdevstudios.com | Sep. 12, 2019

I have a confession. I like Pokémon. It’d really be more accurate to say I never stopped liking it. Sure, there was that point when it wasn’t “cool” anymore and I was too busy trying to be “cool,” but this is the kind of thing that just sticks with me. So, naturally, I’ve built up a collection of Pokémon cards. And what does someone like me do when they have a collection of something?
Build a WordPress-based database site for cataloging it, of course! This is where hashing a custom taxonomy comes into the picture.
My current plan revolves around taking the card information from the third-party Pokémon TCG Developers API and combining it with the pricing information from TCGplayer. This will allow me to store information of not just every card I have, but every version of every card I have. The most common version is the reverse holographic printing (shown below). Other versions, especially rare, powerful cards, can include full-art versions, alternate-art printings, and even rainbow-colored “secret rare” cards.
The trick, however, is that in addition to being collectibles, Pokémon cards are also part of

7 min read Donna Cavalier
Development | mor10.com | Aug. 29, 2018

Gutenberg, Forks, and the need for an LTS version of WordPress

This... this is absolutely the right solution. Hope it happens.

Gutenberg, Forks, and the need for an LTS version of WordPress

Development | mor10.com | Aug. 29, 2018

Over the past week, developments which I predicted back in December last year have come to fore, and I am deeply concerned about the effects they will have on WordPress (the application) and the community unless we take decisive action. Short version: For various reasons, many WordPress users will be faced with a complex dilemma when 5.0 and Gutenberg comes out:
a) Get the latest version of WordPress and risk compatibility issues / costly retraining, redesign, or entire rebuilds, and/or other problems, or b) choose not to upgrade and end up running an old and eventually insecure version of the content management system.
So far, the response from WordPress leadership has been to install the “Classic Editor” plugin which as the name suggests reintroduces the classic WYSIWYG editor once the Gutenberg Block Editor becomes the default. This is, in my opinion, a dangerous road to go down both for the end-user and WordPress itself.
Classic Editor as a permanent solution won’t work
Classic Editor is a bit like using a band-aid to plug a hole in a ballon as you are inflating it. It may work right now, but as the balloon continues to grow, the band-aid not only won’t do

11 min read Iain Poulson
Development | deliciousbrains.com | Feb. 18, 2020

5 Ways to Create a WordPress Plugin Settings Page

It’s been a while since I created a new WordPress plugin from scratch, but recently I decided to turn some code that was working just for me into a fully formed plugin that I could distribute. Part of that process involved replacing hard coded data with options that future users of the plugin could set. Let’s take a look at various ways of adding a settings page to your WordPress plugin.

5 Ways to Create a WordPress Plugin Settings Page

Development | deliciousbrains.com | Feb. 18, 2020

It’s been a while since I created a new WordPress plugin from scratch, but recently I decided to turn some code that was working just for me into a fully formed plugin that I could distribute. Part of that process involved replacing hard coded data with options that future users of the plugin could set. I needed to create a settings page in the plugin and I found myself wondering what the latest and greatest approach is in an ever-changing WordPress world. Let’s take a look at various ways of adding a settings page to your WordPress plugin.
WordPress Settings API
The WordPress Settings API was added in WordPress 2.7 allowing developers to register settings fields on existing settings forms in the dashboard, as well as creating new settings forms that WordPress will display and take care of saving the data:
It lets you define settings pages, sections within those pages and fields within the sections.
This is definitely the most manual of the methods discussed in this post, but it’s worth understanding how it works, and for some cases it’s a simple enough approach that might be all that’s needed.
First, we need to register a new menu item and page that will

7 min read Donna Cavalier
Development | elementor.com | May. 21, 2019

Introducing Hello Theme: The Fastest WordPress Theme Ever Created

It's very exciting to have the very developer-friendly and Elementor-focused Hello theme in the WordPress repository now. So much easier for users now.

Introducing Hello Theme: The Fastest WordPress Theme Ever Created

Development | elementor.com | May. 21, 2019

Many of you already know, love and use Elementor’s Hello theme, but this week, our starter theme was officially added to the WordPress repository, so we figured our baby deserves a formal baby shower.

8 min read Weglot
Development | blog.weglot.com | Apr. 19, 2019

How to prepare your WordPress plugin for a critical update

Updating a plugin can quickly become a nightmare for both the users and developers. Discover how we proceeded to make a smooth transition from Weglot v1 to v2.

How to prepare your WordPress plugin for a critical update

Development | blog.weglot.com | Apr. 19, 2019

Why did we need a new version? Before explaining how we proceeded with a new version, it’s important to understand “why” we had to make a new version of Weglot. The main reasons were to improve the “adaptability” of our plugin and to reduce our technical debt.
An increasingly long and difficult support
The first version of Weglot did not contain any WordPress filters or actions: the so-called hooks. It was thus very difficult to change the default behavior of our plugin and adapt it to specific customer needs. We had to provide custom patches to our customers while taking into account the changes for our next updates. It was quite tedious and delicate. The more customers we had, the longer the technical support was. Of course, we could have simply added some filters and actions as we went along, but we were faced with other problems.
A growing technical debt
Here is the quality score of the Weglot WordPress plugin code at the time of the last update of version 1 (v1.13.1): 6.53 / 10
Generally speaking, we can’t say that it’s a terrible score but it’s clearly not great either. The mediocre score was partly due to some of the dependencies

11 min read WebDevStudios
Development | webdevstudios.com | Feb. 7, 2019

Building a WordPress Theme: Things to Consider in 2019 (And Beyond)

When building a #WordPress theme in 2019, there are certain things to consider. Learn what's required, what's new, and some ways to clean up WordPress for the frontend and for users.

Building a WordPress Theme: Things to Consider in 2019 (And Beyond)

Development | webdevstudios.com | Feb. 7, 2019

WebDevStudios (WDS) is working to improve our theme framework wd_s based on Automattic’s _s; although at this point, it’s resemblance is only vaguely similar. WDS is dedicated to keeping up to date with the web development industry and making educated decisions about which new things to pursue and which to ignore (for now). In my private time, I’ve been building a starter theme from scratch to better educate myself about what is required by WordPress to build a theme-repo-approved theme but also to make my own informed decisions based on what others are doing, how people typically use the internet, and what of WordPress core feels antiquated.
I started writing this blog post to try and build a custom theme from scratch, but that proved too problematic for a few reasons. The time commitment wasn’t small. Any theme I built would require more than just one blog post and there’s a world of information out there to help you on your way already. Also, before any opinionated decisions had been made, the outcome was essentially any other theme out there already. The biggest reasons I thought I’d circle back and rethink this post was because a lot of those

6 min read WebDevStudios
Development | webdevstudios.com | Sep. 17, 2019

Creating, Extending, and Upgrading Custom ACF Fields That Use Select2

Senior Backend Engineer, Justin Foell, has published a blog post about creating, extending, and upgrading Custom ACF Fields that use Select2.

Creating, Extending, and Upgrading Custom ACF Fields That Use Select2

Development | webdevstudios.com | Sep. 17, 2019

Advanced Custom Fields (ACF) has been around for quite a while now, and it’s super popular. We’re on version 5.x now, and the earliest dated reference documentation I could find was for ACF 2.0 in 2011. There have been some bumps along the way. One of the more recent issues was compatibility of the Select2 JavaScript library versions. It was mostly because two other popular plugins, Yoast’s WordPress SEO and WooCommerce, also use Select2. What is Select2? It’s the kick-ass library that lets you transform boring dropdowns to amazing searchable and formattable ones:
So what’s the big deal with ACF? Well, Select2 has gone through some major revisions as well, most notably the latest Select2 Version 4, which is not backwards compatible with Select2 version 3.x. So, if ACF brings in Version 4 and WooCommerce brings in Version 3, we’ve got problems.
Thankfully, ACF came up with an elegant way to deal with these incompatibilities by checking to see if another plugin had enqueued Version 3 and falling back to using a Select2 Version 3 adapter.
acf.newSelect2 = function( $select, props ){
Future-proof it or just fix it?
So, what does this have to do with custom

6 min read WebDevStudios
Development | webdevstudios.com | Oct. 8, 2019

Get Started Making Your Own WP-CLI Commands

With WP-CLI you can generate hundreds of user accounts or publish thousands of posts to your blog without ever logging into your WordPress dashboard!

Get Started Making Your Own WP-CLI Commands

Development | webdevstudios.com | Oct. 8, 2019

Have you ever wanted to generate hundreds of user accounts or publish thousands of posts to your blog without ever once logging into your WordPress dashboard? You can do that and so much more with WordPress Command Line Interface (WP-CLI). What is a command-line interface (CLI)?
A CLI, put simply, is a way to interact with a computer program using commands in the form of successive lines of text instead of using a graphical interface. For example, to install the plugin Hello Dolly instead of going to your WP Dashboard > Plugins > Add New > Search “Hello Dolly” > Click Install > and finally Click Activate, you can simply run the command wp plugin install hello-dolly --activate and it does it all at once.
Our First Command
Now that we know what a WP-CLI command is, let’s get started with our first Hello World! To create your first command, use the command WP_CLI::add_command('IDENTIFIER', 'CLASS_NAME') where the identifier is what you’ll use in the CLI to call subcommands and class name being the class containing all your CLI commands.
With our CLI registered, any public function declared in our class will be made accessible as a subcommand under

7 min read Eric Karkovack
Development | speckyboy.com | 19 days ago

Why Wrangling User Data in WordPress Can Be a Nightmare

Different plugins store user data in different places. Putting it together isn't so easy.

Why Wrangling User Data in WordPress Can Be a Nightmare

Development | speckyboy.com | 19 days ago

Every website we build has its own unique challenges. But the tools we use can help us tackle them head on. WordPress, and its never-ending ecosystem of plugins have helped web designers tame even the most difficult client requests. Pretty much everything we need is just click-and-go. And if it doesn’t exist, we can build it ourselves.
But for each of these solutions we implement, there is a hidden consequence. One that only rears its head when we dig a little deeper for user-specific data. Only then do we realize the tangled mess that sits beneath that pretty outer shell.
A Simple Start
In a default WordPress installation, user data (at least, the kind you might want to export) is actually pretty neat and tidy. Data is stored in the wp_usermeta database table. Inside, you’ll find the basics like the user’s name, along with their role/capabilities and their account preferences.
Combine this with what is in the wp_users table (username, email address, password), and you can grab a lot of useful information for every user on your website. Plus, you can easily import a CSV list of new users if need be.
Of course, most websites don’t stop at a default configuration.