Mr. Gadon Visits WordCamp Chicago

Editors note: This is a guest post by Robert Gadon. Robert is a WordPress enthusiast who has used the platform since 2011. He aspires to improve his knowledge and skill using WordPress and enjoys sharing what he’s learned with others. Robert joined the St. Louis WordPress meetup in late 2013 and is a regular attendee at the monthly meetings. If you’d like to be a guest writer here on STL WP, let us know.

R Gadon head shot 05-14-11

WordCamps are community-organized conferences that bring WordPress enthusiasts together to share mutual knowledge, experience, and interest in the platform. St. Louis has hosted several day-long WordCamps in each of the last several years. Planning is underway to do so again in March 2015.

WordCamp-Chicago 2014 hosted 350 attendees, second only in attendance behind the WordCamp-San Francisco. It was recently held the weekend of June 13-14 at the University Center conference facility, located in the downtown Loop at 525 S. State Street.

To meet the needs of new and intermediate level users, WordCamp Chicago offered a 1-day intensive workshop the day prior to the formal conference called ‘Foundation Friday’. Four instructional tracks were offered to target a skill range from beginner through advanced. Corporate and community sponsorship of WordCamp Chicago kept the enrollment cost down to $20 per day, which encourages attendance.

Bus, train, and airline connections between St. Louis and Chicago are frequent and reasonably priced. While some may to prefer to drive the 300 miles between the two cities, parking in downtown Chicago is limited and expensive.

My travel between the two cities was just under $40 when I booked 2 months in advance. I arranged travel to Chicago via Megabus, and returned to St. Louis via Amtrak. Both trips are scheduled for 5-1/2 hours one-way. Passenger rail service usually takes longer due to competition with freight traffic around E. St. Louis and Chicago. Southwest Airlines’ one-hour direct flight to Chicago-Midway runs about $140 round trip. The Chicago Transit Authority (CTA) Orange Line train connects Midway with the downtown Loop for $2.25 one way.

The WordCamp Chicago web site provided a list of housing options close to the event. They include the WordCamp meeting venue, the University Center conference facility (which serves as a dormitory for several nearby colleges and universities), Hostelling International-Chicago at 24 E. Congress Parkway (1 block north of University Center), and a link to Air B and B, the online housing rental service.

From previous visits to Chicago, I opted to stay at the hostel. For under $40/night, I shared a 2-bedroom suite designed to accommodate up to 4 people/room. The suite had a communal lounge, kitchen, and bath. The rooms included a personal luggage locker to secure belongings. Lodging also included breakfast, access to a commercial kitchen (handy for preparing and storing food), several public lounges, and free wi-fi. During my 4-night stay, I shared my room with travelers from Belgium, Turkey, and Slovakia.

Working as an independent free-lancer limits opportunities to regularly engage with people face-to-face about WordPress. Locally, I’m limited to monthly Meetups once or twice a month, and occasional interaction online through support forums. It was exciting to walk into the conference center and encounter hundreds of people from throughout the region and beyond gathered for 3 days to share their enthusiasm, knowledge and experience with WordPress.

WordCamp presentations were formally organized along 3 tracks: architect (design); foreman (design implementation); and engineer (development), with additional presentations offered around topics of a general interest, and business and project management. I was particularly interested is presentations about site design, work flow management, and business management and development.

The conference organizers recruited a superb set of speakers, whose video recordings can be found at ‘WordPress.tv’ (Here’s the complete list of WordCamp Chicago). The slides shown in most of the presentations are available on the WordCamp Chicago web site (June 16 post, ‘WordCamp Chicago Slides!’). As of this writing, the conference schedule is still posted on the WordCamp Chicago 2014 web site. Look it over for topics of interest. Chances are you can find a video recording of most of the presentations through WP.tv.

The Saturday lunch break offered several activities to socialize. I joined one of the networking lunches at a nearby restaurant. It offered a great opportunity to listen in on several conversations at once, ask questions, and glean valuable information on everything from plugins to working with clients. I was pleasantly surprised to meet two freelancers from Missouri; one from suburban St. Louis, and the other from the state’s southeast corner.

Several presentations particularly stood out;

  • Michelle Shulp – ‘A Web Site is Not a Poster’. She discussed the differences and challenges between designing for a static versus dynamic medium (print versus web). Michelle referred to useful design concepts (‘style tiles’), tools (Macaw.com), and bloggers (Brad Frost | Atomic Design) in her presentation.
  • Troy Dean – ‘101 Ways to Elevate Yourself and Demand Higher Fees’. Funny, provocative, bombastic, and occasionally profane, Australian Troy Dean offered a thought-provoking list of lessons learned on improving your business as a WordPress freelancer and consultant.
  • Rebecca Gill – ‘Solutions Before Development: Creating WordPress Products That Actually Sell’. Rebecca explained her transition from builder of custom themes to developing a theme shop targeted to classes of small business and institutional clients (e.g. lawyers, dentists, accountants, educators). She reexamined her approach to product development and marketing to redirect and build a successful small business.

After reviewing my conference notes, I estimate it will take me a year (!) to fully integrate all the new information I recorded. On balance, WordCamp Chicago was a transformative experience that helped me go deeper into the WordPress platform.

Video Of the July General WordPress Meetup

We’re famous! Well, famous enough to have the talented Benjamin S. Hammond record our last Meetup. This impromptu recording in our new space was done by the fine folks over at STLTechTalk.com.

You can check out the first part below, and the rest on STL Tech Talk’s site.

They wanted to help us spread the word and we appreciate the support. Be sure to check out the rest of STLTechTalk.com and their podcasts!

Thanks to J.J., Ben, and everyone for coming out, we had a great meetup and look forward to seeing you all in August!

P.S. Benjamin, the fine gentlemen behind the camera, is a film producer and director. Check out his short film “Misery Mountain“. It’s a bit spooky, so make sure you watch it with headphones late at night – after the kids have gone to bed.

The many, many uses of Advanced Custom Fields

Editors note: This is a guest post by Brian Goldstein. Brian is a freelance WordPress developer in University City. He’s also nearly completely self-taught.  To see some of his work or to get in touch,  check out briankappgoldstein.comIf you’d like to be a guest writer here on STL WP, let us know.

brian-treehouse

There are a few plugins I tend to use on just about every WordPress install I do – for me or for a client.  I always use a back-up plugin, SEO by Yoast, and I’ll almost always use Advanced Custom Fields.

As a developer or a designer, it’s tempting to hide everything away from your clients, so they can’t break the site you’ve just built. ACF helps maintain the design and code integrity of the site while giving your client a way to update content without you. It uses the same logic as the WordPress Loop, so implementation and troubleshooting is simple.

In this article I’ll show 3 simple use cases from a few sites I’ve worked on recently.

Example 1

A common way to use ACF is with another popular plugin, Custom Post Types UI which makes creating custom post types a breeze. Once you create a custom post type, you then create the field groups you want to use and then make them available only for that post type. Once you enter in all the information, be it text, images, or video, you write a php loop calling in those custom post types. Here’s a more concrete example:

ACF_Example

Here, each of these boxes of content are custom post types. One advantage is that once your client “gets” how to make a new blog post, they also know how to change a custom post type. Here’s a screenshot of the editing view of one of these custom post types.

ACF_Editing

As you can see, instead of the standard WYSIWYG (What You See Is What You Get) content editor, you can show the custom fields. ACFs documentation is a clear and an excellent resource.

After you enter the content for each custom post type, we’re ready to edit our theme files to dynamically loop in our custom post types.

On this project, because I also want to display that content elsewhere, it’s inside content-services.php, not the service.php template file. In this case, they are closely related, as we’ll see.

Here is the code for the query that calls in content-services.php on the service.php template :

We open a php block and define an array with the post type we want, then query that array in our loop. The loop pulls in our content-services.php file, where the code that pulls in our fields live. That code looks like this:

Every time you see “the_field()”, that’s pulling in the information you entered in your custom post type. Because the loop ends in services.php and this is inside that loop, you only need to make sure you close each php block, not the loop itself.

Example 2

This example and the next require purchasing the repeater field add-on to ACF. It’s one of the few premium plugins I’d ever recommend buying.

Using the repeater add-on makes displaying a lot of the same kind of information super simple.

For instance, on a restaurant site I recently built, the client needs to be able to change their menu without calling me each time they want to update a menu item. So I built out the menus using ACF’s repeater function.

Each menu section was its’ own field group – so they could add or remove the groups at will. Then, using the repeater I created 2 or 3 sub fields depending on the menu section. Next, I entered in all the data for those menu items – the name of the item, the description, and the price. Finally, it was time to code it out. Here’s what that looked like. These are inside a container div, which has at least one row, and it’s broken into 2 columns in the bootstrap grid, for some context.

Similar logic – you’re telling it to find the field group app here, and if there are rows, while there are rows, to display the sub fields Item, Price and Description.

Example 3

Using ACF repeater to dynamically insert images into a carousel.

Again, similar code: creating a loop that checks for the field, and then if there is data for the subfield, injects it into the source attribute of the img in the carousel. Because it’s just PHP, you can use it just like you use other WP tags. The client can use the photos they want to use without my involvement. You can see this example and the previous example live on plantershousestl.com.

Truth is, I haven’t even scratched the surface of what ACF can do. If you have an ingenious use for ACF, I’d love to hear from you. ACF’s simple code, easy integration on the WP dashboard, and versatility into any design you can imagine make it a go to plugin for me.

Brian Goldstein, freelance WordPress developer
briankappgoldstein.com
@briangoldstein

Fall Community Check-In and Survey

Since we recently changed venues for the General Meetup, and we haven’t asked in a while about our meeting times, we put together a short survey to check-in on how things are going. 

It’s 3 short multiple choice questions and a giant text box to share your thoughts. Please be honest and only reply if you actively attend our Meetups. For all you lurkers – don’t be shy, come join us!

Take a moment to let us know if our meeting time, date, and location work for you. It’s our only way of making sure our community grows and is successful in helping our fellow WordPressers.

http://wpstl.polldaddy.com/s/fall-community-check-i
n

WordCamp St. Louis 2014 Videos Coming Online

We just got an email from the fine folks at WordPress.tv letting us know that the first of the recorded sessions from WordCamp St. Louis 2014 are now online.

The first one is from Chris Koerner and covers How to Get Involved in the WordPress Community.

As the rest of the videos are edited, uploaded, and approved they will show up under the WordCamp St. Louis 2014 page.

A big thanks to Chris Miller for agreeing to help edit and produce the videos. A hearty thanks to all the volunteers who helped to record the sessions throughout the day. Last, but not least, a big hug to the folks at WordPress.tv for hosting our videos for the world to see.

If anyone is interested in adding subtitles or translations for not only these videos, but any others on WordPress.tv, you should get involved!

New, Must-Have Plugin: WPCore Plugin Manager

Wow, I’m impressed! WordPress has been needing something like this for quite some time. I just wish I would have thought of it first.

If you’re not sure what I’m talking about, it’s a new plugin called WPCore Plugin Manager. This plugin allows anyone and everyone to create a custom collection of plugins for WordPress and install them all at the same time on a WordPress website. You can have private or public collections.

Screen for adding a custom plugin on wpcore.comIt even allows you to add custom plugins that aren’t on the wordpress.org plugin repository! This is a serious game changer!

Questions?

You no doubt have some burning questions that need answering…

How much does WPCore cost?

Nothing, it’s free…seriously, why are still reading and not installing this plugin?

How do I get started?

Great question, register!

I typed in a plugin name and it doesn’t show up. What do I do?

I’ve noticed while searching it doesn’t always list your plugin. All you have to do is find the plugin on wordpress.org and grab the slug from the url for that plugin.plugin-slug

Other Questions?

Check out WPCore’s FAQ or ask em in the comments below!

We’re now a Member of the WordPress Meetup Chapter Program

We’re now a proud member of the WordPress Meetup Chapter Program.

What does this mean? Well first, our Meetup.com fee is now covered by the fine folks at the WordPress Foundation. That means we don’t have to raise funds or charge admission to cover the cost. It also means we’re not at the mercy of a sponsor to cover this cost every year. This will also result in more visibility to our group, and other benefits to organizing events and activities.

We are still free to pursue sponsorships and the like, and run our group as we have for the past 4 years  – open, inclusive, free, and fun.

You can see a list of all the other Meetups in the chapter program (right sidebar) or a list of all WordPress Meeups on Meetup.com.

A small sliver of hubris – we’re also the 71st largest (out of 599) WordPress Meetup Group! (UpdateI misread that list. We’re actually #92!)

Themes and Plugins – Notes from the July 2014 General WordPress Meetup

After a roller coaster of scheduling fun we had our first Meetup in our new location at Lab1500 (home of Pushup). We talked about Themes and Plugins. For those who couldn’t make it we put together some notes from the evening’s presentations. For those of you would did make it, feel free to add your own thoughts via the comments below!

First up, Bob Barker shared with us an official Bob Barker Whitepaper. Here’s the copy from his handout.


Just another Bob Barker Whitepaper. Whitepaper (defined): useless or minimally valuable information that someone distributes so as to obtain your email address in order to send even more junk of even less value (aka fodder).

Places to check out… 

  • Spybar  – a handy toolbar that shows you the software (and plugins) used to build the site you’re visiting.
  • WordPress Theme Generator
    •  (ed note: Chris Miller also mentioned Headway as a similar solution)
  • WPMU 
  • iThemes

Looking for the awesome WordPress themes? Here’s the place to find them! 

http://www.wordpress.org/themes/

As of: 7-16-2014 2,620 THEMES, 106,186,898 DOWNLOADS, AND COUNTING

Looking for the awesome WordPress plugins? Find them here!

http://wordpress.org/plugins/ 

32,251 PLUGINS 695,392,281 DOWNLOADS, AND COUNTING 

Disclaimer: All information and advice provided by Bob Barker, Mid-American Marketing Associates, The Barker Companies, Their affiliates, associates, Their Foundations, employees, or associates of any of Bob’s companies are NOT warranted or carry any guarantee whatsoever. Please seek the professional advice of an attorney or accountant before proceeding with any endeavors as a result from information provided or questions answered; we do NOT guarantee or give any warranty of the information we provide. Please proceed at your own risk.


Chris K. (that’s me) then talked about the various kinds of themes.

From the most raw and basic (and heavy code knowledge to use), to most advanced and determined (with little code editing) there are generally 4 different kind of themes.

  • Starter Themes
  • Regular Themes
  • Child Themes
  • Theme Frameworks

Starter themes

Starter themes are the raw stuff of theme design and function. Many are minimal, barebones themes that you would use to customize and develop up on.  Most have few (or no) design decisions made beforehand. So no pre-defined colors, layout, grid, etc.

A few popular starter themes are:

A starter theme should probably not be your first theme to muck with. Instead I recommend you take an existing Regular Theme and play with it first.

Read more:

  • https://thethemefoundry.com/blog/wordpress-starter-theme/

Regular Themes

These are the majority of themes you’ll find on wordpress.org, elegantthemes, themeforest, etc. In most cases they are well build and well designed themes that have a certain visual appearance (trendy, retro, dark, earthy, etc.) and purpose (photography, real estate, blogging, e-commerce, etc.).

For most of these themes, many design, layout, and functionality decisions have been made for you.  Most will offer some customization via the theme customizer, but to really change things up you’re looking at building a child theme and getting your hands dirty with code.

Child Themes

So let’s say you download a regular theme, make some changes, and maybe even dip into the css or functions.php to add some custom functionality or style. Then an update to that theme is released. Being a good WordPress owner, you click the big update button.

What happens?

Those custom changes are overwritten with that update. Whoops.

Let’s say you get into custom post types, or custom fields – some fairly advanced stuff. How do you keep those changes across updates to your themes? Especially with advanced themes (like the frameworks mentioned below) there are security risks with not updating – updating is good!

The answer? You should create a child theme!

What is a child theme? Like real children, they need a parent to survive and they inherent traits and capabilities from that parent theme.

A child theme allows you to modify an existing theme (even a starter theme. They too have updates!) without worrying about your changes being overwritten with theme updates.

A basic child theme is as simple as having only one file – style.css. From there you can modify any additional files from your parent theme. header.php, single.php, heck even functions.php!

There’s a great article on the codex on creating a child theme. Remember, files (and their modifications) in a child them override the parent theme files, but not overwrite them. Meaning child themes are a great way to take apart an existing theme to see how it works, without making your changes permanent.

For example, let’s say you wanted to modify the footer from a them you found on WordPress.org. You could copy the footer.php from your parent them into your child theme and edit to your heart’s content. When your site is visited, your custom footer.php is loaded in place of the existing file!

Read more about child themes:

Theme Frameworks

Theme frameworks are like a micro eco-system within WordPress. There are tons of options, development hooks, and extensions outside of the stuff you normally would do with vanilla WordPress and a traditional theme.

Some theme frameworks have options that you’d normally see in separate plugins included as part of the framework. SEO options, custom widgets, layout options, security, support, etc.

Generally, frameworks have many custom features and functions that WordPress doesn’t offer out of the box. The catch is that many have a financial cost, and require (or work best with) a smaller selection of themes.

Genesis – one of the larger frameworks available. It has a large user and developer community, many Genesis-specific themes and some brilliant features making managing content, layout, and design easy without touching code.

Thematic – an open-source theme framework

Read more:

Choosing Themes and Plugins

We then talked a little about choosing themes and plugins for use. A few things we suggested were:

  • Start at wordpress.org
  • Read reviews
  • Look at how frequently the theme is updated
  • Check to see if it has the features you need – like being responsive.

Other resources for finding themes include:

Some of my favorite Themes

Plugins

Plugins extend WordPress and new and useful ways. Plugins operate using something called a hook to insert themselves into WordPress.

Hooks basically add some code using either an action or a filter. A plugin that operates on an action works when an event happens – you load the admin dashboard, save a page, etc. Filters happen when you query the database for information – like rendering a page, or a list of pages in a category, etc.

The codex (once again!) has a great entry on Hooks.

Some plugins are very advanced in what they do. They can totally extend WordPress in new directions, giving it capabilities it didn’t have. Some examples:

Read more on plugins

One last thing, in WordPress 4.0 coming in August there is an update on how you search and install plugins. You can read a little about the 4.0 update at WordPress.org.

Like these notes? Join us at our next meetup. They’re free, welcoming meetings where we share and learn together. Find out more at meetup.com.

Location Change for General WordPress Meetup

A quick update. We won’t be having our General WordPress meetup at goBrandgo! moving forward. We’d like to thank the folks at GBG for the past 4 years of being gracious hosts and providing our rag-tag group a place to hang our hat. Thank you and good luck to you all in your future endeavors.

We were going to announce this at our last meetup there tomorrow night, but there was a scheduling snafu that has us moving a month earlier. I apologize for the short notice and hope everyone can still make it.

The leaders at GBG were kind enough to get us in contact with Dan Lohman at Pushup and Lab1500.  I met with Dan and Lindi and we talked about giving Lab1500 a chance. They have a nice space, and the location is right in the heart of the lively activity on Washington Ave.

The plan was to let the community know about our need to find a new home and see if Lab1500 would be a good fit. Since we’re moving a little sooner than anticipated we hope you understand and appreciate your feedback and thoughts.

We’re also going to take this opportunity to look at the time and date for the General meetup. Does the 3rd Wednesday of the month at 6pm still work for everyone? Join us tomorrow night and we’ll figure it out together.

Meetup Event Details

July Developers Meetup – Mobile Apps and WordPress

This month we had two presenters: Chris Kiersch and Alex Rodriguez speaking about mobile apps and WordPress.

Chris Kiersch

Chris talked more at a high level about the difference between a mobile app and mobile website. When he sends his notes from the meetup I’ll post.

Alex Rodriguez

Alex talked about the different options you have for pulling information out of your WordPress website using APIs:

  • JSON REST API (more useful for those using wordpress.org self-hosted sites)
  • Jetpack REST API (more useful for wordpress.com hosted sites)
  • Thermal API (just another api that Alex had found)
  • Roll your own

Roll Your Own

Alex shared some code that he had created on making his own JSON API for WordPress (available on GitHub).

Presentation


The presentation is also viewable on slides.com.

Next Month’s Meetup

Next month will be more of an open discussion about plugins you’ve had problems with and how you overcame those issues. Originally it was going to be called “Plugins that Suck”, but we are hoping to find out the bad plugins and what you did to work around the problem. Did you find another plugin, talk to the developer, etc…

Other Cool Stuff

  • JSON View plugin for Chrome – formats JSON into an easily readable view and adds collapse buttons on the different JSON nodes.
  • AppPresser – a set of tools to help you build an app on top of WordPress.
  • Aesop Story Engine – I never got to show this to the group, but it’s a plugin for creating rich, interactive experiences using WordPress to help tell a story. I’ve not used it, but it looks really cool.
  • InfiniteWP – If you manage updated across multiple WordPress websites, this is a must. This is a separate product that must be installed on your server, but it monitors your WordPress websites and allows you to update plugins, themes and the core files all from one place. It’s free, but it has commercial add-ons.