A List Of Site-Builder Facing Resources For The New WordPress Gutenberg Block Editor

Last week I gave a talk called “Introduction To Gutenberg Block Development” at WordCamp Pittsburgh. It was a developer-facing talk about how to build a custom block type for the new WordPress block-based “Gutenberg” editor, coming very soon to WordPress.

You do not need to create your own blocks to use Gutenberg. I had one slide of links in my talk for those who are looking to learn how to use Gutenberg.

For the developer-facing version of this list, please see this post.

The List

Josh Pollock – WordCamp Pittsburgh 2018 Slides

Learning AngularJS For WordPress Development

At WordCamp Miami this year, I showed how and why, I use AngularJS for building WordPress plugin admin interfaces. For our A/B Testing plugin Ingot we chose to build our interface in Angular beacuse it was the fastest and best way to build an interface that had to be highly dynamic.

I gave two talks, one on Angular basics, and then the second one dove into my specific use case. With this information & with a knowledge of how to extend the WordPress REST API you should be able to start creating new & exciting WordPress user experiences.

It was awesome to be a part of a day full of developers explaining why they made their choice in framework. I hope this type of sharing will lead people away from “What framework should I use?” to understanding the strengths and weaknesses of each framework and make that decision on a per project basis.

In Ingot, Angular is a thin UI layer on top of what is mainly a PHP codebase. I needed a really solid AJAX interface — sorry jQuery — that would allow the interface to have lots of different UI states easily available. Angular provides that.

I want to add that while the focus of these talks was Angular, building this way, in my opinion, requires an API-first approach to the PHP code. I wrote extensively about this before. The short version is that it requires keeping the code required for reading and writing to the database totally decoupled from the front-end use, and API code.

How The WordPress REST API Changes WordPress Plugin Development

This approach also requires having your own REST API endpoints. That part of the stack I covered in a talk I gave several times last year, in chapter 8 of my book and part 3 of my course.

http://learn.joshpress.net/downloads/customizing-wordpress-rest-api/

Slides

Video

 

Example Code

Learn More

I Just Wandered Into This

There are a lot of reasons why my wife is awesome. Sharing my life with someone who is so driven and focused on her ambition inspires me. One of the many positive qualities she has is how well she takes a compliment.

It’s something I’m working on to learning to emulate. I’m getting a lot better at not replying to a denial or compliment with a self-deprecating joke, which used to be my default.

While I still have work to do, I think the way I worded the last paragraph, compared to how I express the thought it in my “mental draft” of this article — “it’s something I fucking suck at.” shows my progress.

WordCamp US and Community Summit BadgesAt WordCamp US I met a lot of people who I had helped through support, an article or one of my plugins. I had to work hard to take these compliments well.

When we deny compliments we are not only being rude to a person who is being incredibly kind to us, we are tearing ourselves down. Negating compliments is detrimental to self-confidence, self-respect and self-optimization.

It’s lying to yourself.

#realtalk I’m Awesome

See, I can do this!

I know I’m awesome and I don’t need other people to tell me that. But, it is great when they do:) While I have historically let the lack of self-confidence that compliment sabotaging grows out hold me back. It’s stopped me from asking for high enough pay, its stopped me from asking for help from others, it’s stopped me from finding the right financing for my business.

But, it hasn’t stopped me. Like the River Tam sticker on my computer says “No Power In The Verse Can Stop Me.”

Stickers on my laptopMy computer is also covered in stickers representing a small portion of what I helped build this year and a collection of Wapuus representing a small sample of the many WordCamps I’ve attended.

While I still have a few weeks left, I wanted to share some of the amazing things I’ve been lucky enough to be a part of this year by highlighting some of the publicly available work I have done.

But first let me tell you the thing I’m most proud of: every single item on this list is a collaborative effort. For those who keep asking me how I do so much, the simple answer is: David Cramer. I get to work with many other talented people, but I’m very lucky that I get to call one of the best plugin developers out there, someone whose form builder plugin blew me away with its awesomeness, my partner.

CalderaWP LogoThe CalderaWP sticker is at the top and it’s a pretty one that I’m very proud of. Our logo was designed by Lindsay Jo Crenshaw. It’s a fun logo and we strive to make plugins that are fun to use for the site manager and end user alike.

Since launching in February, we released 17 updates to Caldera Forms, and increased active installs from 1000 to over 10,000. We also released literally more Caldera Forms add-ons then I know about. Seriously, I need to check David’s GitHub for new ones I haven’t found yet. Some of my favorites are:

Caldera Connected Forms – Combines multiple forms into one big multi-page form. This allows you to create complex sequences of forms, with conditional logic on which parts to show based on user submission. It also tracks partial submissions and puts the results into one email and one database email.

Dwolla for Caldera Forms – This add-on was part of a GPL-powered partnership with GiveWP. It was also the project where I learned how Caldera Forms processors work.

Easy Pods, Easy Queries & Clarity for FacetWP. These three related plugins are really fun tools for creating custom search interfaces, as well as making working with complex WordPress as a  CMS projects easier. Expect to see more iteration and possibly integration of these tools in the future.

URL Builder — I think this was one of my better ideas, and was definitely one of the hardest challenges I through at David. It’s a great plugin I really believe in that is missing a few key features and should be marketed very differently. This is one I will probably be looking for a new partner or home for soon.

Ingot — The automated A/B testing system for WordPress. This is the plugin that is my current obsession right now. We’re currently in beta and hope to be launched within the next month or so. It’s the first of what I hope is many projects that are executed by CalderaWP and a separate group of partners. In this case, Christie Chrinos and Andy Larreategui are handling the business and marketing while I focus on development with help from Roy Sivan.

I met Christie and Andy at a startup weekend in Tallahassee. Since then I’ve had a great time working with these talented people, and been able to introduce them to the wonderful world of WordPress. It was very cool to see the community welcome these two newcomers at WordCamps Orlando, New York and US. It was also great to see Christie start contributing to the Spanish translation of WordPress during WordCamp US contributor day.

Someone else will have to count all of the articles I’ve written for Torque this year. The fact that I get paid to help myself learn while helping others is so incredibly special to me. I am super grateful to Marie Dodson for being a great editor for and everyone at WPEngine who makes what I do for Torque possible.

Torque’s Ultimate Guide to the WordPress REST APISpeaking of Torque and WPEngine I totally wrote a book! The book, on the WordPress REST API was a really special milestone for me. It’s been downloaded way more than a thousand times and I’ve gotten such great feedback on it. Major highlight of the year, I hope everyone who reads it makes something cool with the REST API and shares what they learned by doing so.

Speaking of the REST API, it’s so much fun to work with. I’m using it in Ingot to power our admin — a single page web app written in AngularJS — and in the front end to track the testing. I’ve also released REST API add-ons for SearchWP and WordPress SEO by Yoast.

In addition I worked on REST API integrations for GravityView and several clients including CGCookie.com.

I also made 16 commits to the REST API itself and contributed quite a bit to the docs. The REST API earned me one of my three “props” in WordPress 4.4.

Some of my favorite plugins I worked on for clients earlier in the year used custom APIs. These were fun to build, but REST API all the things moving forward.

The first of those plugins is Editus (formerly Lasso) by Aesop Interactive. I wrote a custom front-end AJAX API, and implemented. I also refactored their PHP to be more efficient and added new features. I can’t explain how much I love the process of architecting or re-factoring a WordPress plugin — #thatkindofnerd

I wrote a very similar API to handle live commenting in Epoch by Postmatic. This plugin was Jason from Postmatic’s vision, which I lead the development of and executed along with David, Jason and his developer Dylan Kuhn. Everytime I comment on WPTavern, it makes me smile to watch Epoch work.

Speaking of Postmatic, David and I also added three new features to Postmatic, MailChimp import, Subscribe2 comments reloaded import and the subscription optins. Also I got to know Jason, learn from watching him build Postmatic and from all of his advice he gives us on Caldera Forms.

On the topic of awesome clients that are more than just clients, Matt Cromwell and Devin Walker from WordImpress are just great people. They are encouraging, full of great business advice, give great feedback on our plugins, as well as being vocal supporters and users of Caldera Forms. We also worked on two plugins for them this year.

While I moved away from Pods this year, I still contributed to the project. We launched Friends of Pods, a program to help support Pods financially and I just wrapped up a really cool REST API integration for Pods 2.6.

Even though Pods is no longer my main thing, I always want to be a part of it. Pods was my first WordPress team and I would not be where I am today without support, encouragement, mentorship and friendship I have received from Scott Kingsley Clark, Phil Lewis and Jim True. The Pods sticker on my computer is one of the fanciest stickers on my computer and one of the ones closest to my heart.

WordCamps and Community

I’ve been everywhere…

I have an article coming up on Torque about my thought on attending 8 WordCamps in a year. I just want to say how much I love these events and how special it is to be able to speak at so many of them.

WordCamps are an affirmation and celebration of this community. It’s an unimaginably supportive community. This was my first year selling WordPress products. Getting advice and encouragement from Ben Fox, Nick Haskins, Matt Cromwell, Jason Lemieux , Daniel Espinoza, Vova Feldman, Asif Rahman, Naomi Bush, James Laws, Corey Miller has been invaluable. Reviving these gifts of knowledge is humbling and its. a challenge to me to pay it forward as much as I can go help this community grow together.

Enough About Me

Y’all are awesome.

wordpress-logo-simplified-rgbI’ve been talking about myself way more in this article than I’m used to. Not going to lie, it makes me uncomfortable. But, I know none of it would be possible without everyone who reads my articles, uses my plugins, gives me great advice and encouragement.

This year was also my first time attending the WordPress community summit, which was a special experience. It’s a true honor to be invited to the event. Community Summit is a private, confidential event so I can’t share too much about it. But, to be with 150 leaders of my industry passionately debating how to best move it forward is an unparalleled privileged.

Honestly, this whole thing that I get to do is a privilege. I’m so excited to build on the groundwork that we — David, Christie, Andy, Roy and everyone else I work with and I have built. It’s what’s going to make it possible for all of us, everyone I’ve mentioned here and more grow together in 2016.

It sounds like so much fun.

 

WordCamp Orlando: 5 Major Events In The Life Of A WordPress Request

I’m presenting at WordCamp Orlando today on major events in the life cycle of a request to the front-end of WordPress. The goal of this talk is to help you understand how we get from this:

Screenshot of WordPress' index.php
This is index.php, where every WordPress request begins.

To this, or really any page on your site:
Screenshot of Twenty Fifteen

But what I really want to encourage people to do is to get in the habit of reading the source
Read The Source Luke meme

Helpful Links

 

Extending The REST API Talk

My fall 2015 WordCamp talk is on extending the WordPress REST API. I love doing tweaky server-side PHP development, so I fell in love with the REST API, and even more with the extending it. I’m excited to be giving this talk a few times and hope to have video of it up soon.

You can see my slides, video from the talkm and a helpful list of links below.

By the way, did I mention I wrote a book on the REST API? Well I did, and it’s both awesome and free — thanks to the good people at Torque and WPEngine. You can down download it here.

In my talk I give an introduction to extending the REST API by modifying the default responses and creating your own endpoints. If you’re like me, and learn by reading code, I recommend checking out these two plugins I wrote:

  • SEO REST API Fields This plugin exposes SEO fields for WordPress SEO by Yoast in post endpoints, and allows for updating them along with the post data.
  • SearchWP API This plugin adds a custom endpoint for doing advanced queries, powered by SearchWP — an amazing WordPress search plugin — using the REST API.

I wrote a post a few weeks ago on the topic of extending the REST API, with more links to docs, and articles I wrote for Torque. Be sure to check that out.

 

Introduction To AJAX In WordPress

This weekend I am giving a introduction to AJAX in WordPress talk at WordCamp Miami. AJAX is one of the most important tools available to us as WordPress developers. It allows us to create more dynamic and usable sites. The less page loads, and the more interactive a site is, the better the end-user experience will be.

Understanding AJAX and the WordPress REST API is a key step to building apps with WordPress. My talk covers the basic patterns for using jQuery AJAX, in WordPress as well as the technology involved.

 Slides & Example Code

GitHub LogoExample code can be downloaded at: github.com/Shelob9/introduction-to-ajax

 

Next Steps

This talk covers only the most basic patterns and important concepts for using AJAX in WordPress. To take what you’ve learned farther, I recommend the following links:

WordCamp Milwaukee: Co-Creating and Co-Designing Support Systems That Strengthen Your WordPress Business

Today at WordCamp Milwaukee I will be presenting on Co-Creating and Co-Designing Support Systems That Strengthen Your WordPress Business. This presentation is based on an article I wrote for Torque last year. In this presentation I will be showing how to apply the principles of co-design and co-creation to create better support systems for WordPress products and services. Business owners will learn how these tools can not only save money, but also create better support and user education that will strengthen the thing that is most important to their business–their user community. This talk will focus on how to improve both your support, and your product itself while increasing user loyalty, by engaging your users in an ongoing, directed conversation about how to better serve them. Download The Presentation

Getting Started With WordPress

If it seems like everyone is using WordPress for their websites these days that’s because WordPress is now powering more than 20% of the internet. There is no better time to get started with WordPress to share your story and opinions as well to grow your business or start a new one. I can say from personal experience that learning these skills and getting involved in the WordPress community has been one of the more rewarding and transformational experiences of my life.

Knowing how to get started can be difficult so I thought I’d share what I’ve learned from my own experience. Sharing, after all, is at the heart of what WordPress is about.

While there are a few very basic technical points at the end of this articles, most of this is not advice about technology. Rather it is about strategy, learning and getting involved in the community. When possible, I have linked to an article I wrote here or elsewhere that elaborates on the what I’m talking about. Over time I will create new posts for those that don’t have a link yet. In fact that’s recommendation number one, create content that requires follow-up posts. It saves you from having to come up with something to write about next week.

Start By Blogging and Add Value

stained-glass-110788_1280WordPress is a lot more than just a blogging platform. That said, that’s still what, at its heart, it still is. There is no better way to learn how to use WordPress then to use it and writing a blog gives you something to do besides poking buttons randomly.

Even if you’re looking to use WordPress to make a site for your business you’re still going to need a way to drive traffic to your site, and the best way to do that is with a blog. Using your blog to sell your product, whether your product is you or not, is something I write about a lot.

I recommend that the first thing you do, even if you intend to host your own site, is to sign up for a free WordPress.com account. Use it to create a blog or two, do some blogging, play with the options and see what happens. While your there connect with some other bloggers.

When you start blogging, you will need something to blog about. Your blog isn’t your Facebook profile and shouldn’t be treated as such by filling it with, ‘check out what I just did and/ or thought’ type posts. It’s a publishing platform and if you want people to read it, you need to give them something of value. Not sure what that it is that you can offer of value? Start by thinking about what is the unique thing that you can offer the world, and write for people who need that. I call it marketing your authentic self.

Learn and Don’t Be Afraid To Ask Questions

WordPress prides itself on being intuitive, but like anything else there is a fair amount of lingo. Don’t worry, the good people at WPBeginner have a created a wonderful glossary covering all of the basic WordPress terms you need to know.

If the glossary doesn’t have the term you need or you are ever confused about anything else, don’t be afraid to ask questions. WordPress has an incredibly supportive user and developer community that loves to help others. I wrote an article about how and where to ask for help with WordPress that covers the best places to ask questions about WordPress for most situations. When you start asking questions in these places, it may be your first step into the community.

Honestly, the supportive nature of the WordPress community blows me away. Three years I knew basically nothing about web development besides basic HTML tags and today I’m using PHP, jQuery and CSS to write WordPress themes and plugins and teaching others how to do the same. None of this would be possible if it were not for the amazing tutorials, Q&A sites, and the WordPress codex that exist to help you with WordPress.

Go To WordCamp or A WordPress MeetUp

WordCamp Orlando 2013 LogoWordCamps are independently organized WordPress conferences that offer 1-3 days of WordPress workshops, talks, parties and networking that are held all over the world. There is no better way to learn about WordPress, be it business, design or development while meeting a ton of cool people then going to a WordCamp. Getting involved in the WordPress community online is a great way to learn, but nothing beats WordCamp. Going to your local WordPress MeetUp is a good substitute though.

WordCamps are also surprisingly affordable, usually costing less than $50 to attend, including lunch and a t-shirt. Seriously, I can’t say enough about how important it is to go to a WordCamp, so go to WordCamp.org and find the closest one to where you live.

Save Money and Time By Being Smart About Hosting, SEO and Buying “Premium” Themes

Be Mobile Friendly

Make sure your site is mobile friendly. These days that usually means a “responsive” WordPress theme. That’s a whole different topic, but basically what I’m saying is if your site doesn’t look right and work right on a phone, than you have a problem.

Don’t Buy A Theme Right Away

A common mistake that a lot of people make is running out and spending $50 on a WordPress theme that looks like perfect and then spending a lot of time and possibly money trying to get the theme to do what they want it to do and fixing the problems that so many “premium” themes have. Because they’ve already sunk the time and money into the theme, they are unwilling to get another one and start over.

Do your self a favor, stick to the free theme directory on WordPress.org. It is filled with some amazing themes and requires all themes to follow best practices and code standards.

Get A Good Host

Most people start with the cheapest host they can find, like Bluehost or GoDaddy. Do yourself a favor and skip having to move your site to a quality host later on by starting with a quality host. I use SiteGround and couldn’t be happier with the speed, ease of use and support. I also recommend WPEngine or Page.ly.

Don’t Worry About SEO (Too Much)

Search engine optimization (SEO) can in my mind be classified into three categories 1) Things to make your site machine-readable so search engines can properly index it. 2) Providing quality content. 3) All sorts of snake-oil that Google will punish you for. So here is my SEO strategy:

  • Install WordPress SEO by Yoast and:
    • Fill out meta title and meta description fields for each page.
    • Set my Google+ profile in Yoast.
  • Concentrate on content and make sure that content is easily sharable via social media.

Just The Beginning

This article is based on many conversations I’ve had with friends and clients seeking advice on how to get started with WordPress, which is a conversation I love having. I hope that you found this useful reading it and if you want to discuss any of this you will contact me or leave a comment.

The New Focuses & Strategies of WordPress Core Development

WordCamp Orlando 2013 Logo

At the end of the first day of this year’s WordCamp Orlando, WordPress lead developers Andrew Nacin and Mark Jaquith discussed the changing trends in WordPress core development. They addressed shifting focuses and shrinking development cycles as well as the major change in development strategy for the current 3.8 development cycle.

Nacin pointed out that each of the recent WordPress releases have had a different focus. While 3.5 focused on media, 3.6 focused on writing experience, 3.7 on automatic updates and the current version under development, 3.8, is focusing on redesigning the WordPress admin. Proving that the goals of a stronger foundation for developers and simpler interface for users are not mutually exclusive remains a constant thread throughout all of these releases.

Both developers were enthusiastic about the new approach to development for 3.8, with developing features as plugins. This new strategy has allowed for the adoption of the philosophy “Iterate quickly. Test securely. Merge only when ready.” Most importantly, if a new feature isn’t ready on schedule it doesn’t throw off an entire release. Nacin did note that with 3.8 there were features like THX38–the redesign of the theme experience–that were dependent on MP6, which could have been an issue if MP6 wasn’t ready in time. Future development cycles should avoid this sort of dependency.

Version 3.6, which was two months late, is considered to by Jaquith and Nacin to be the most solid of recent releases. They attribute this two the two extra months of time spent on it. Despite this, they were both happy to report shrinking development cycles, which have gone from 5 months to 2.5 months, with an aim to stick to 2-4 months in the future.