CSS Grid, Front-end development, front-end development tips and tricks

Why CSS Grid Should Be In Your Front-End Development Toolbox

I recently had the privilege of taking Wes Bos’ free course on CSS Grid (thanks, Mozilla!). If you’re a front-end developer, this is a must take course. At first, I was a little skeptical about CSS Grid given how much I love Flexbox. Additionally, I wasn’t seeing support for Android’s default browser when I’d checked it before, but according to caniuse.com at the time of this post, Grid has 86.59% browser support and Android is now golden.

While CSS Grid is not as supported as Flexbox, it pretty much has similiar support for the vast majority of our target audience. Opera Mini is the main browser that has no support for Grid. According to Rad Devon, most Opera Mini users are in Africa for users with incredibly low data plans (think 10 MB per month). So it feels pretty safe to me, when it comes to the clients we’re working with, to view CSS Grid as a viable option.

I primarily work in the WordPress realm, so I’m constantly dealing with themes and child themes. I was especially encouraged by Wes’ full bleed episode which feels very applicable to doing some really neat layouts especially with dynamic content that a user is populating on their pages or posts. Full Bleed layouts in the past were either a nightmare to make with all sorts of wrappers, or very hacky with negative margin. With CSS Grid we can quickly and easily allow for full content while having the majority of the layout support the optimal text length.

Continue Reading

Zao WordPress web development, Zao WordPress team, WordPress web development, WordPress web developers,

Zao: A Look Back at 2017

Last year, we celebrated a huge 2016 with excitement and anticipation for what the future would bring.

We’re happy and humbled to report that 2017 didn’t disappoint. We added a Project Manager to our team, we posted some rad content, worked on some incredible projects, and learned a lot along the way.

Here are the highlights of what went down in Zao’s 2017:

Continue Reading

#WooConf 2017 Recap

I had the opportunity to attend WooConf 2017 in Seattle last week. Thankfully, Seattle is just a stone’s throw from my backyard (a three-hour-drive stone’s throw, but a stone’s throw nonetheless). After a brief road-trip up I-5, getting settled into an Airbnb with some random stranger, and getting a good night’s rest, we were ready to rock and roll.

Continue Reading

using quickbooks in WordPress, WordPress plugins, WordPress Quickbooks plugin,

Quickbooks and WooCommerce: It Was Only a Matter of Time

At Zao, one of our passions is building modular tools that solve client problems, and (our favorite part) releasing them to the public.

We were tasked with integrating QuickBooks Online with WooCommerce for one of our super rad clients, Brooklyn Tweed. Specifically, Brooklyn Tweed needed to be able to create QuickBooks invoices every time a manual wholesale order is generated (sidenote: If you’re familiar with WooCommerce, you know there is no such thing as a manual wholesale order [yet], but stay tuned for a future blog post and plugin release).

Naturally, the first step was to look for a WooCommerce/QuickBooks plugin. It might surprise you, as it did me, to find that there is not much available. Sure, there are a few SAAS options available, but nothing looked quite plug and play for what our client needed and wanted.

Continue Reading

WordCamp Sacramento 2017, WordCamps, WordCamps 2017, WordCamps west coast, WordPress events, WordPress conferences

Learn How to Extend WooCommerce at WordCamp Sacramento 2017

I’m excited to announce I’ll be speaking at WordCamp Sacramento 2017, which means I’ll be headed to the golden state this coming weekend.

The line up this year looks absolutely amazing. I’m honored to be presenting alongside such a great group, and connect with the WordPress community in the flesh!

Here are a few select sessions I’m especially looking forward to:

There are so many that sound fantastic that it was hard to pick.

As for me, I’ll be presenting on how WordPress developers can extend and improve WooCommerce. Zao heavily focuses on and specializes in eCommerce development in WordPress, and I’m excited to bring what we’ve learned to other developers. My presentation is on Sunday, September 17th, at 1:30 PM, so I hope I’ll see you there!

Are you headed to WordCamp Sacramento too? Make sure to introduce yourself if we haven’t met before (and obviously say hi if we have)!

WordPress economy, WordPress business, WordPress web development, WordPress jobs, WordPress developer jobs,

The WordPress Economy is Changing, and Zao Is Ready For It

Not too long ago, Post Status’ newsletter covering Rainmaker’s move from a SaaS product model to a service-only model served as the catalyst for a lot of conversation on Twitter. We saw the esteemed Brad Williams tweet this thought about the WordPress economy:

And it sparked a conversation in the Zao Slack about the WordPress economy and how this impacts us, too.

Continue Reading

modern tech apprenticeships, paying to learn on the job, getting paid to intern, should i pay my interns, should i pay my apprentices, should i pay an apprentice, should i pay for my employee to learn, should i pay for my employee's education, should i pay for my employee's class

Yes, You Should Pay Your Employees to Learn

Many of the folks in the WordPress space have come up without a formal education (or without a tech specific education), and became successful through avid learning and self-motivation.

John Hawkins is an excellent example of someone who paved his own path without a formal education: he founded 9seeds, is well-respected for his work with WordPress, and is now the Business Development Manager for WebDevStudiosHelen Hou-Sandí went to college for piano, not tech, and is self-taught in web development; she is the Director of Platform Experience at 10upLisa Sabin-Wilson, partner and COO of WDS, worked as a nurse before she heard about WordPress (when it was in its infancy). After further investigation, she dropped everything to make it her new career…and became the author of WordPress For Dummies and a force to behold in the WP space. Brad Parbs dropped out of college while studying computer science to make his own websites; he is currently a Senior WordPress engineer at Human Made.

Our own founder, Justin, funded Zao’s earliest days by working at Burger King, and now Zao is a burgeoning WordPress eCommerce and custom development agency that is experiencing an incredible growth spurt, after over a decade of steady upward success. JT was a house painter who started fiddling around with WordPress for his church website, joined the WebDevStudios team, advanced to Director of Engineering, and is now a Managing Partner of Zao.

Some of these folks landed in companies where they had an opportunity to unofficially apprentice: they found a position that allowed them to work and learn simultaneously. Others ended up using their own determination and the educational access built into the open-source community to create their own companies. Although they might not have gone through a formal apprenticeship in the way that many of us think, they still sought opportunities for their skills to be developed and to be mentored while also still providing for themselves and their families.

“I don’t pay people.”

Recently, I heard this uttered–without an ounce of shame–on a panel talking about the rise of apprenticeship programs.

Apprenticeships are growing in popularity, particularly in the tech industry where employee retention is low, truly entry-level jobs are rare, and where many people want to work, but don’t necessarily have the applicable skill sets for the positions that are available. The panel was a group of experts discussing their experiences taking on apprentices and how that works for them. One of those experts said the above.

Side note: While I understand that there may be curiosity about who said this or what panel it was, I am intentionally not providing that information as I think it’s counterproductive. This isn’t intended to be a “call out” post, but to examine the flaws in this particular approach.

Continue Reading

Zao PDF Viewer, view PDFs in WordPress, view PDFs in your WordPress site, making PDFs viewable in your WordPress site, WordPress plugins

View PDFs in Your WordPress Site with Zao PDF Viewer

While we love an excellent out-of-the-box tool (and the WordPress community supplies so many of them!), we’re no strangers to making something from scratch when we feel it would be the best option. Not only is it fun, but we can really make it our own and make it exactly the way we like.

Not too long ago, we collaborated with Travis Smith, who is a champ. He had a plugin he’d built for a client, but hadn’t released. We reached out to him and he was generous enough to give us access to the source code so we could fork the plugin and make it our own.

Built on Travis’ solid foundation, we created the Zao PDF Viewer. It allows PDFs to be previewed inline on a website, using a viewer that is similar to the PDF viewer used in Firefox.

Continue Reading

WordPress tutorials, CMB2 tutorials, CMB2 meta fields, CMB2 how to, CMB2 WordPress plugin,

How to Save a Backslash (\) to CMB2 Meta Fields

Recently, we had a user request that their backslashes be preserved when saving their CMB2 fields. Typically, when a user wants non-standard sanitization, our canned response is to use the provided field parameter sanitization override, 'sanitization_cb'. If you’re not aware of this field parameter (and it’s cousin, 'escape_cb'), let me explain a bit.

By default, CMB2 does quite a bit of heavy-lifting for you when it comes to sanitizing your users’ input, as well as escaping that value for proper display. This is just one of the aspects of CMB2 that I appreciate; that I don’t have to “think” about the sanitization/escaping of my fields.

“It just works.”

Except, of course, when it doesn’t.

Continue Reading

A Healthier Option Helps WordPress Users Improve the Options Table

A Healthier Option Helps WordPress Users Improve the Options Table

You may have noticed we’ve been covering a lot of plugins lately. What can we say? We’re doin’ work! We have yet another amazing plugin that we’d like you to meet, called A Healthier Option. A Healthier Option analyzes your options table and offers suggestions on how to make it healthier.

Autoloading WordPress options

WordPress provides a way to autoload (or not) certain options. WordPress stores these autoloaded options in a big bucket, like an object cache that allows a user to say, “This is an option that needs to be available all the time.” To make it constantly available, the option is placed in the autoload bucket, making it easy for the user to access it without having to go to the database. The option is stored in memory and far less computationally expensive.

For a fantastic rundown on understanding alloptions in WordPress, take a peek at this article from our friend, John James Jacoby.

The problem

By default, most object cache buckets can be up to 1 MB. When it’s filled with a reasonable amount of data, that’s totally fine. However, when you’re talking about a lot of plugins with a ton of autoloaded options, the autoloaded options cache bucket can fill up real quick. Once it’s overfilled, it stops working properly.

WordPress attempts to make all autoloaded options available on every page load. This is great, in theory, as it should save a lot of trips to the database. When the cache bucket for autoloaded options is too big, this breaks, and can cause a significant performance drain on your website.

If you have 10,000 options with big values, and 5,000 of those are autoloaded, then it can quickly become a performance strain. Suddenly, your options table gets unwieldy.

Depending on the configuration of your server, your database, and your object cache, what WordPress intended to be a simple and relatively small table of options can turn into the culprit behind your site’s slow speed. We know that loading time can make a huge difference in terms of sales and success, so keeping your site quick should be a high priority. A Healthier Option plugin helps you do that, and makes it wicked easy to manage.

Continue Reading