Category Archives: Meetup Slides

Dec 2015: Making WordPress Easier to Use

This is an expanded version of the “Not Everyone Is a WordPress Expert” talk that I gave at WordCamp Sacramento in November. In it, I cover the developer-client disconnect about the difficulty of WordPress and several approaches we can take to making WordPress more client-friendly.

For the December meetup I added a discussion of Calypso (not yet released at the time of WCSAC) and more in-depth coverage of the Editus plugin from Aesop Interactive. (TL;DR: Calypso is cool but as is won’t be likely to help our clients much, whereas Editus is extremely promising.) I also briefly mentioned the Snowball plugin from the Open HTML Group.

I also had a chance to use Beaver Builder on a real client site, from which I concluded that in most cases this is a tool to make WordPress easier for the people who build the sites than the people we build them for.

Nov 2015: Getting Readers Engaged: WordPress Comments & Commenting Systems

At the November 2015 East Bay WordPress Meetup, we discussed comments on WordPress blogs, including when to enable comments, plugins to blog spam, third-party comment management systems, and plugins like Wheepl and Postmatic.

Prior to the commenting discussion, we introduced some of the features coming in WordPress 4.4, like responsive images and term meta.

When to Allow Comments

WordPress allows comments on posts by default, but you can turn them off in the Settings | Discussion page. That’s also where you choose whether comments will be moderated and whether people have to be logged in to comment, and what placeholders to use for commenters who don’t have Gravatars.

Turning off comments on pages by default was a smart move made in WordPress 4.3. There are not many pages suited to comments.

It’s possible that you don’t want comments on your site, not even on blog posts. But if you want to encourage interaction and engagement, comments can be a good thing. If people ask to be notified of follow-up comments, you have an opportunity to conduct longer discussions–and others who might find those conversations helpful can see them, which they can’t if you just exchange email with the person who comments.

Comments can also give you ideas for future blog posts (when readers have questions, or when they disagree with you) and give you an idea of what your readers want.

How to Encourage Comments

Some blogs seem to attract a lot of comments and some not so many. Controversial posts inevitably attract comments, but you don’t want to stir up controversy for its own sake. The Official BNI Podcast site encourages comments explicitly, asking listeners to post about their own experiences with the podcast topic.

Responding to comments (publicly, by replying to the comment) also encourages more people to comment, because they know you are reading the comments.

Establish a Comment Policy

Make it clear that you will not tolerate personal attacks, profanity, or pointless self-promotion—unless, of course, you actually want to encourage those things. There are plugins to allow you to display your comment policy above your comment form, or you can modify the comment form template (in a child theme).

Avoiding Comment Spam

Akismet is the 800-lb gorilla of spam-blocking, but you are supposed to pay for it on all sites but personal blogs. (Pricing is affordable.) Also, Akismet stores spam messages in your database for 30 days. Spambots are relentless and you can accumulate a lot of spam in that time, bloating your database.

Try the Anti-Spam plugin by Webvitaly as an alternative. It blocks all spam produced by bots, without Captcha, which Sallie believes is the instrument of the devil. (There have been lots of studies done to show why Captcha is more trouble than its worth, in case your own experience hasn’t shown you this.)  Sallie uses this plugin on nearly every site she builds.

Native WordPress Comments

There’s actually nothing wrong with the commenting system built into WordPress, at least if you get only a moderate number of comments. You can choose to require name and email to comment, to moderate all comments, to require a poster to have a previously approved comment before posting, or to require readers to be logged in to comment. (Unless you are already running a membership site, you probably don’t want people to register as users. Also, this requirement tends to deter commenters.)

WordPress displays a user’s gravatar next to their comment, if they have one. If not, you can choose to display a variety of placeholder images, or nothing.

Jetpack Comments

Jetpack Comments allow people to log in with Twitter, Facebook, Google+, or instead of filling out their name and email. People like the convenience of logging in with a social account.

The down side to Jetpack Comments is that you have to use Akismet to block spam–other anti-spam plugins won’t work. Jetpack comments are also difficult to style, because the Jetpack CSS wants to override everything else.

Social Comments

If you want to allow people to log in with their social networking accounts, you have more options than just Jetpack. Two we looked at are Social Comments and Facebook Comments. Social Comments lets you log in with Facebook, Google+, or

Facebook Comments, naturally, requires a Facebook account, and uses Facebook’s styles to display comments. There are actually a few people left on the planet who don’t use Facebook, which is something to keep in mind when choosing a social commenting plugin.

Third-Party Systems

The two major third-party systems for comments are Livefyre and Disqus. (Disqus sponsored one of our past meetups.) If you have a blog that gets tons of visitors and tons of comments, one of these may be for you. (Livefyre especially is aimed at enterprises.)

These tools let you log in with social accounts and they help you keep track of posts you’ve commented on. They also help with managing spam and other problems, relieving you of the burden of moderation. Importing your comments back into WordPress if you stop using them is possible, but might be awkward.

Postmatic: Email Commenting

Postmatic arrived to considerable fanfare. It allows people to not only follow your comments by email, but respond to comments by email–and you as the blog owner can reply to comments without having to log in to WordPress. There are free and pro versions.

The developer of Postmatic kindly offered a premium license to give away. The winner of the drawing was Maggie Wu.

Wheepl: Comments Across the Web

Wheepl was supposed to be our sponsor for this meetup, and give a demo, but the developer got stuck in Canada because of visa issues.

Wheepl is a real-time commenting system which exists apart from WordPress to help you conduct and track conversations across platforms. It looks interesting, but it’s not clear where your comments live if you want to be able to keep them. We hope Mukul Sud will be able to come to the meetup at another time to provide his demo and answer questions.

TL;DR on WordPress Comments

Comments may not be appropriate for your site (or your client’s site). But for some sites, comments are a great way to engage readers and get ideas for new articles. WordPress and various third parties offer multiple ways to block spam and increase interaction.

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.