This is the first of a series on the WordPress Philosophy. What is it and why does it matter. A new article will be published each month of this year.
Have you ever installed a plugin into your WordPress website and thought, “Ummm… that’s different”? Something about it just stood out as not quite right. The settings felt strange, or there were way too many settings, or maybe it changed parts of your site in ways you didn’t expect. Most often this experience involves a plugin or a theme that doesn’t do things “The WordPress Way.” If you’ve ever heard that phrase, it probably sounded a bit mysterious. That’s because while “The WordPress Way” does have a definition, it’s still a bit fuzzy; it’s not so simple to boil it down to a sentence or two. It’s not merely about the settings interface, or where to put the menus — it’s a whole philosophy of understanding user experience, development, and even freedom itself.
This series is about the WordPress Philosophy. Yes, WordPress has an actual philosophy! This simple document will hold a lot of sway over everything that you interact with in your WordPress admin.
By the end of this series, you’ll have a stronger grasp of the WordPress Philosophy. You’ll be empowered to make more
Second post in a series on Best Practices in WordPress. How and Why to Child Theme is very detailed and yet easily digestible.
I’m the proud father of three adorable, brilliant, and yet also terrible and uncontrollable children. They’re great. Love them to death. They also hold the keys to how to take dad’s peace and turn it into chaos in one second or less. It’s a rare gift, I know. In real life, children are the inheritors of their parents. They inherit their parents good and bad personality traits. They inherit their parent’s wealth or debt. But they each also – always –have their own unique traits that no one gave them at all. There’s no amount of biology or chemistry that can predict the ways in which each child is 100% a direct product of their parents, and, at the same time, absolutely 100% unique.
As with most analogies in life, you can say the same with WordPress (Some might say: If it exists, there’s a WordPress plugin for it!). For every theme that you download from the WordPress repository, or purchase from a premium shop, there can (and most often should) be a perfectly inherited yet still unique child theme suited to your purposes.
This series is about best practices. So now is the perfect time to explain the necessity, value, and power of creating and using Child Themes. The nature of the WordPress
Media can get unwieldy with WordPress sites. This is what I suggest to make the most of your media both locally and on your site which has many benefits.
I wouldn’t be surprised if most WordPress users imagine their Media Library as being no different than a teenagers closet: A giant pile of disorganization, a haystack housing thousands of needles. You might have said, “Why doesn’t my Media Library use folders like everything else in my digital life?” There are many reasons, but properly adjusting yourself to use the Media Library will improve your workflow and make your website more searchable and accessible. If you are like me, on your work computer you have file cabinets and a folder structure that you’ve organized for your exact workflow. It’s intuitive (to you), clean, and organized. You’re confident that if a total stranger walked into your office, you could ask them to find a file on your computer, and they’d know exactly where to find it.
Then, you come home and you couldn’t find the deed to your home if your life depended on it. Sheesh! It’s a mess. Sometimes you wish you could just say the words “house deed” and it would glow or tweet to give you a clue as to its location.
A simple Google search for “digital file management” will reveal articles mostly focused on managing your media just like your home file structure, naturally,
Matt shares an excellent philosophy of managing updates on a WordPress site to ensure continued success.
Recently, the WordPress Core CMS was updated to version 4.6. It’s not a particularly feature-heavy release, but it adds additional stability and security to WordPress. If you are the kind of person who gets spooked by the idea of updating your WordPress version, then this article is for you. This article is intended to help you understand a bit about what WordPress updates are, how they relate to Plugin and Theme updates, and, most importantly, how to update your WordPress sites without causing havoc.
Some Background on WordPress Core Updates
The Open Source WordPress project is potentially one of the largest and most global open source projects. It has the most international contributors of any open source project in existence. Thousands of people have contributed to the code, and new contributors from around the world are added every new release.
Some people wonder why they have to update their WordPress Core so often. In reality, it’s typically only 3-4 times a year. Furthermore, the improvements in the code are real. Actual bugs are resolved, improved coding standards are implemented, and important security features are applied. Basically, when you see a new update notification,
Eugene from Media Temple shares insights on Caching and Hosting solutions. He defines different types of caching in short and easy to understand statements along with features of different caching plugins.
Caching is one of those terms that has seemingly been around since the dawn of computer age. But what, exactly, is it and how can (should?) it be used when it comes to websites? Definitions and Performance
At its most simple definition, caching is a temporary storage space or memory that allows fast access to data. Caching often gets defined by its use case. There are at least five major cache location types utilized by web developers today.
First is object caching, which saves an application object locally so that it can be served for future requests without requiring retrieval from the origin server. Next, database caching allows you to cache query data in memory buffers to increase database performance. Bytecode caching, such as OPcache, improves PHP performance by storing precompiled scripts in shared memory, thereby removing the need for PHP to load and parse scripts on each request. Page caching stores action outputs as an HTML file that the web server can serve immediately without going back through the on demand (dynamic) retrieval of data. And finally, distributed content caching uses geographically distributed server memory to deliver content faster.
While the differences
The first of a 4 part series on building your WordPress website with Best Practices. The series stems from my personal development mantra: "Am I making headaches for 'Future Me'?"
If you’re a sci-fi fan or a fan of 80’s movies in general, then you know that 2015 is a special year: We’re supposed to have hover boards this year! And hover cars! And self-tying shoes! — That is, if you believe all the predictions of the classic 1989 film Back to the Future II (BTTFII). Well, if you were looking forward to those things, maybe this year is more of a downer. Nevertheless, one aspect of the BTTF movies that I really like is how “Future Marty” is having to go through all kinds of crazy stuff to help “Past Marty” stay alive so that “Future Marty” can exist at all. Man, if “Past Marty” just understood what was at stake, he could have saved “Future Marty” a ton of trouble!
This reminds me of a mantra I tell myself whenever I’m building out a new WordPress site: “Don’t make life hard for Future You.” If “Today You” can do things to make “Future You” happier, then ALL of you is going to be better off. Another way this is often expressed in web development is “best practices”.
Best practices are both a method and a philosophy for web development. They exist when building custom themes, custom plugins, or just administering a new WordPress website.
This series focuses on best
Helped me figure out what I was doing wrong when using SourceTree for the first time. Great for beginners to work with Bitbucket, SourceTree, and version control in general.
Version control. You’ve probably heard of it and you may even be cringing with guilt at this very moment because you’ve read one too many articles that tell you that you need to be using it. Well, unclench for a second. Yes, clearly this article is designed to persuade you to jump on board. But my goal is to ease you into it. The world of version control can appear very overwhelming and it does certainly have its complexities. But you can actually get started with it and dip your toes in without too much pain (spoiler alert – no command line required!)
What is version control and why does it matter to you?
For the purpose of this article, I assume you are like me: an individual developer that primarily works on projects solo. One of the big selling points of version control is that makes collaborating with other developers infinitely easier. So why should you bother?
Well, at its most basic, version control is a system that tracks all the changes you make to your files. This is helpful even for solo developers for a variety of reasons. It provides a complete log of all your changes so that you can hunt for bugs easier, revert changes, and, if you revisit a project a few months down
I like the sentiment behind this. It helps keep a more semantic article overall and much cleaner markup overall. But it's almost like teaching another language to beginner users.
Maybe you’ll read that title and think: Damn, Chris. Little dogmatic isn’t it? There are lots of ways to do things, especially on the web. Why be all prescriptive?
You’d be right. What I actually want is for everyone creating content on the web to create that content in a clean way that will serve them long into the future. Markdown, I feel, highly encourages that.
Let us explore some of those ways.
If you have no idea what Markdown is, it’s a “text-to-HTML conversion tool for web writers”. It’s root is here and there are many implementations.
This is #1 for a reason. I overflow with sadness when I hear of someone dealing with legacy content that is full of ancient markup.
I bet you know what I mean.
Things like around seemingly random sentences. wrapping every single blog post because it was just “what you did”. Images force-floated to the right because that made sense three designs ago. Headers with class names on them that don’t even exist anymore. Tables of data spit into content with all the whitespace stripped out and weird alignment attributes you barely recognize. An about page
Second of the series on the WordPress Philosophy. We start at the end: The Four Freedoms, or the Bill of Rights. These I believe are fundamental for all the other freedoms.
This is the second post in a series on the WordPress Philosophy. Last month I described why WordPress has a Philosophy and why WordPress users should care about that and understand it. This article is the first of 8 that will explore the tenants of the WordPress Philosophy. We’re going to start at the end. The most foundational tenant of the WordPress Philosophy is the last one: “Our Bill of Rights”. I believe this is foundational to understanding all the previous tenants of the philosophy.
Similarly to the United States of America’s Bill of Rights, this Bill of Rights is all about freedom. This is often called “The Four Freedoms”:
The freedom to run the program, for any purpose.
The freedom to study how the program works, and change it to make it do what you wish.
The freedom to redistribute.
The freedom to distribute copies of your modified versions to others.
The Four Freedom’s come from what is often called the GNU Manifesto by Richard Stallman. This is one of the foundational documents that launched the Open Source movement. It’s a valuable and insightful read that I highly recommend everyone read.
The WP Bill of Rights opens by acknowledging
Chris Coyier writes on how he built CSS-Tricks with WordPress. Great insight into a very popular website that I'm sure we're ALL thankful for.
Howdy! Like a lot of you, I run a website. It’s hosted right here on Media Temple. A whole bunch of years ago, I chose WordPress to run it on, and I’m sure glad I did. These days, it takes advantage of a huge array of WordPress features to handle all the things I need the site to do. Let’s walk through a bunch of those features. By the end of it maybe you’ll agree: CSS-Tricks is a poster child for WordPress.
IT’S A BLOG.
First and foremost, WordPress is a blog. Many WordPress advocates spend a lot of time convincing the world that WordPress isn’t just a blog, which I agree with, but it still ships with features that are particularly well-suited toward blogging.
I use WordPress to blog nearly every day. I even do most of my writing directly in the browser, since it does such a good job of saving work even when I forget to or go offline.
THE DEFAULT TAXONOMIES WORK FOR ME.
Which are categories and tags.
This gives me useful URL’s like all posts that are interviews or all posts that have something to do with SVG.
And if I needed my own distinct taxonomies, I could do it.
IT HAS (THREADED) COMMENTS.
I embrace the comments on CSS-Tricks. I’ve set the tone over the years to encourage thoughtful
While mostly marketed to newbies, Jetpack has tons of hooks that developers can use to customize it.
Jetpack remains a polarizing plugin amongst developers so it’s not often discussed on developer-oriented blogs. The plugin has a history filled with bloat, slowness, and conflicts with other plugins. Admittedly, I myself have a love/hate relationship with it. However, recently, it’s been improved so much that I feel comfortable recommending it for some users. It’s now truly modularized, allowing complete control over which features are activated, and much more stable. My biggest pet peeve will always be the way you have to connect to WordPress.com to use it. I understand all the technical reasons for that, but it’s a terrible user experience that is very confusing (especially for novice WordPress users). With all that said, why is Jetpack making an appearance here? The fact is if you can get past the clunky activation, Jetpack offers a great suite of features for the average blogger. But, in keeping with the WordPress philosophy of “decisions not options”, as an end user, you don’t have many configuration settings compared to all the options you would get if you used a similar standalone plugin.
Fortunately, the code has been sprinkled with actions and filters for developers. So, while
A tutorial on what the "Cascading" means in CSS, and how dependencies work in WordPress when enqueueing stylesheets. Plugin authors often mess this up.
Occasionally, you may find that, when you add custom CSS to your website, it just doesn’t seem to get applied correctly. There’s a lot of reasons why this might be the case, but the primary one is the heart of the “C” in CSS’s full name (“Cascading Style Sheets”) and how WordPress enqueues your stylesheets onto your site. We’ll walk through those basics so you understand what’s happening, how to diagnose the issue, and how to resolve it.
Here’s an example. Let’s say you have a child theme [AR1] and you have a plugin that has its own stylesheet. For this example, let’s call it “Reaction Buttons”. If you were to activate that plugin and then try to override the styles in your child theme, you’ll notice that it simply doesn’t work.
There is a technical explanation: The plugin is enqueueing its corresponding stylesheet with the wrong action. But the outcome is that the stylesheet is added later in your page <head>, therefore taking precedence over any style that precedes it.
You see, that’s the “Cascading” part of “Cascading Style Sheets”,