Category Archives: Meetup Slides

Oct 2015: Top Developer Tips on Good WordPress Code

Fred Meyer from WP Shout joined us via Skype to give his presentation (also seen at WC Denver) on “What I learned about WordPress development by interviewing 15 13 of the best WordPress developers.”

Top Takeaways

Good WordPress code is not distinguished by difficulty, innovation, or cleverness. The key to good code is clarity. Will someone who looks at your code know what you were trying to do and why? Will you know if you come back to it 6 months later? Can your code serve as a good example for people who are learning to code?

Persistence and curiosity are qualities you need in order to become a good developer. The need to understand why and how code works, it will motivate you to learn. You develop skill through continued practice. You don’t have to be a genius to be a WordPress developer. You just have to keep working at becoming better.

Don’t chase the shiny. Once you have found tools that work for you, you don’t need to try every new one that someone mentions. Just because something is new and popular doesn’t necessarily mean it’s better than what you’re already doing. Before you jump in, make sure there’s going to be an advantage over what you’re already doing.

The Codex is your friend–and so is the code. Almost everything you need to know is in the WordPress Codex, but to really understand how WordPress works, look at the core code.

Additional Notes

Fred created his slides using reveal.js. There is a free plugin called Presenter that makes use of this if you’d like to try it.

Fred is a huge fan of the CSS pre-processor SASS. We had a presentation about CSS pre-processors at the meetup a few years ago. SASS makes writing CSS more like writing PHP. There’s a free cross-platform SASS compiler called Koala if you’re not big on the command line.

Jermaine Holmes won the free copy of Up and Running: A Practical Guide to WordPress Development.

WP Shout has produced handy stickers with tips on some of the most common WordPress conditional tags. Trivia for the day: is_dynamic_sidebar does not check to see whether you are in a sidebar file, but whether there are any widgets activated in any sidebars on the site.

WordPress Hosting Resources

Prior to Fred’s presentation, the group had a discussion about site speed, performance, and hosting. The single biggest factor in your site’s performance is your hosting company. The best caching and performance tools (e.g. memcached, OPcache, APC) have to be installed on the server and are not available with most cheap shared hosting accounts.

Fortunately, there are now many hosting companies that specialize in WordPress.

The first was our sponsor (and host of this site) Pagely, which still has options for small businesses even though they have transitioned primarily into enterprise hosting. Pagely uses Amazon’s servers. They have been fantastic in terms of up-time, support, and security.

There are plenty of other options, however, including the Turbo service from our new sponsor A2 Hosting, Flywheel‘s option to stage a site for free before transferring it to a client, and GoDaddy‘s new inexpensive managed WordPress hosting plans. Each of these different providers offers something unique.

To help you decide, here are some recent comparisons of managed WordPress hosting providers:

July 2015 Slides and Notes: Making the Events Calendar Sit Up and Beg

The focus of the July 2015 meetup was Modern Tribe’s plugin The Events Calendar and its companions, Events Calendar Pro, Community Events,  Facebook Events, and Tickets/Eventbrite Tickets. Rob La Gatta from Modern Tribe spoke first, providing an overview of the plugins and answering questions about the projected roadmap.

After that, Sallie Goetsch provided some examples of different ways she has customized The Events Calendar and Events Calendar Pro on client sites, including importing events from another plugin, setting up an event slider with Meta Slider Pro, integrating The Events Calendar into a Genesis child theme, using shortcodes from Event Rocket, creating a horizontal list widget with photos, and modifying the Photo view to show an equal-heights grid instead of a masonry grid.

Notes from Rob La Gatta’s Presentation on The Events Calendar

What is The Events Calendar? A free plugin on, one of the most popular plugins there (not just among event plugins). Since 2010 when the plugin was launched, there have been more than 2 million downloads.

Premium Add-ons for The Events Calendar

  • Events Calendar Pro (new views, recurring event)
  • Filter Bar (front-end)
  • Community Events (submissions from users)
  • Facebook Events (imports FB events)
  • Eventbrite Tickets (integrates Eventbrite ticketing)
  • The Events Calendar Tickets (WooCommerce, EDD, Shopp, WP e-Commerce)

The Events Calendar in Use

TEC (not pro) customized, using the basic calendar month view, event descriptions with videos, custom ticket solution with TicketFly

TEC Pro, Filter Bar, WooCommerce. Filter bar is in the sidebar doing a Facet-Type narrowing of results. List view on events page.

TEC, Pro, Community. Fairly standard implementation of the calendar itself. They’ve customized the form with a nice photo background. Yes, you DO get to moderate the submitted events. The next step with the Community plugin is to monetize: allow people to submit tickets AND charge for listings. You can allow the community members to edit their events later.

TEC Pro plus Category Colors (free plugin available from the repo).

They’re even using the experimental Agenda View add-on from GitHub. (But it appears to be broken!)

Feature Requests and Roadmap for The Events Calendar

The new version of Events Calendar Pro supports multiple organizers for the same events.

Feature request: multiple costs per event, and ability to show different prices to members and non-members.

Eve Lurie asks about multi-day events that don’t happen at the same time every day. (Another feature request?)

Note that you can add the top-level events page from the Menu UI.

Feature request: booking add-on. Rob says it’s been requested a lot.

Next release, due this week: iCal importer, new coding standards, performance enhancements. On the roadmap we have custom recurrents, WPML integration, time zone support, iThemes tickets, attendee info, Community Tickets, QR codes.

Custom reporting/bulk registration request: suppose your admin is registering for multiple tickets and the attendees are different people: they are the ones who should be getting the confirmations and other info. Carleigh wants to be able to report on people as a group and also to save attendee profiles and registration history. Rob says Modern Tribe IS working on bulk registration features, but it’s not done yet. It will be built into the WooCommerce add-on (called something like Attendee Meta).

Feature request: live/continuous import of Google Calendar events. They have it in The Events Manager.

Feature request: create an event with the date To Be Determined. You just can’t do that right now. You have to have a date in order to create an event.

April 2015 Slides: Advanced Custom Fields

What can you do with Advanced Custom Fields Pro? An awful lot, but not quite everything.

It’s definitely worth the $100 for the developer license for the Flexible Content Field, Repeater Field, and Gallery Field, but remember that custom fields don’t replace custom post types and that you can’t search on custom fields.

ACF is definitely a tool for developers: the fields won’t display if you don’t add code to your template, and the layouts don’t style themselves. (Plus those gallery tutorials require jQuery.)

There’s an ACF Demo Site to go with Sallie’s presentation.

Included in the ACF Presentation/Demo Site

  • Creating ACF Field Groups and Displaying Fields
  • Using Repeater Fields in a Portfolio
  • Creating Sliders and Galleries with the ACF Pro Gallery Field
  • Building Page Layouts with Flexible Content Fields
  • Building Page Layouts without Flexible Content Fields
  • Replacing the Header Right Widget Text
  • Displaying ACF Field Keys
  • Using ACF for Front-end Posting

Don’t forget to look at the handout for links to the tutorials used to create this presentation.

More ACF

In addition, Anca Mosoiu demonstrated exporting ACF Field Groups to PHP (in order to keep clients from editing the field groups) and to XML (for import into new WordPress installs). You can also export field groups as .json files so that you can re-use them on other sites.

Anca also showed us the amazing proliferation of post_meta database rows when one uses ACF. On the wine database site she’s building, there are 2211 posts…and 187,000 post_meta rows.

Plugins Worth Paying For (March 2015 Meetup Slides)

The March 2015 East Bay WordPress Meetup focused on premium plugins, with several demos. We could have spent at least another hour doing and watching demos of premium plugins.

Unfortunately we didn’t have time to see Mel demo EventON, and our expected sponsor, Beaver Builder, couldn’t make it because of car trouble. (We’ll see Beaver Builder next month.)

I’ve updated the slides to reflect what actually got demo’ed:

Demos by Pieter Hartsook, Anca Mosoiu, Eve Lurie, and Sallie Goetsch.

July 2014 Slides: Drag-and-Drop Themes Part 2: Make, Ultimatum, Headway

Our first foray into drag-and-drop themes, in August 2013, looked at CyberChimps, PageLines, SiteOrigin, iThemes Builder, and Themify. This time around, we examined four new themes and two plugins.

This session’s themes were Elegant ThemesDivi, Make from Theme Foundry, Ultimatum, and Headway. The plugins are Pixgridder Pro (bundled with Shortcodelic on CodeCanyon for $20) and Visual Composer ($25 for a single site license on CodeCanyon). The plugins can be used with (almost) any theme to give you the option of adding blocks to individual pages, but they don’t create an overall theme design (header, footer, sidebar).

I tested three themes and found Make the quickest to get started with and the most intuitive, as many of the style options are integrated with the WordPress customizer. The free version allows you three sections per page and four types of sections, but that actually gives you quite a bit of versatility. The pro version lets you add widget areas to a page, use Typekit fonts, and include e-commerce layouts for WooCommerce and Easy Digital Downloads.

Ultimatum is a theme builder, not a site builder. When you start, you have nothing. You chose a base template–in this case, Bootstrap responsive–and create a default layout, building up the elements of your header, footer, and sidebars.

Although nearly anything is possible, and you can create an infinite number of layouts and apply them to whichever pages, posts, categories, custom post types, etc., you want, Ultimatum is not at all intuitive–you won’t get anywhere without the documentation. (The docs are fairly extensive, at least.) If you’re willing to stick it out through the learning curve, you could do a lot; for that much work, I’ll stick with Genesis. A visual theme builder should make my life easier.

I’d heard about Headway for years but not tried it. This is the most drag-and-drop of the site builder/theme builder tools I’ve tried so far, because you actually draw elements on a grid. (You can specify whether the grid should be automatically responsive or you want to create wrappers at different sizes.)

It’s like wireframing and building your site at the same time. The “blocks” that Headway uses are built up of the normal elements of WordPress content, so it helps to have some content to work with. I imported content from a site that needs redesigning; you could import sample content and do as well.

Though you will want to read the “before you start” file and take the tour of the Headway Visual Editor, it’s pretty easy to navigate and get a basic first layout created and styled. Refinements will probably take longer. I can see why some people prefer this for client work, especially if they come from design backgrounds.

None of the three had quite the glitz factor of Divi, which Pieter Hartsook demonstrated. The modules for building pages in Divi are similar to those in Ultimatum, but there are more of them built in, and the fancy slider effects are also built in, without needing added plugins. (All of that stuff gets stored in the post table as shortcodes.)

The really nice thing for the total beginner, though, is the number of pre-made layouts: if you want to start with a template for a portfolio site, or a company site, or a store, just select that layout. Seems like a  great way to get a site set up in a hurry if you have a low-budget job or a friend in need and they don’t need a super-custom design.