WordCamp US 2024 – It’s been a while

Liminal Wapuu

This year I was fortunate to attend WordCamp US 2024 in one of my favorite cities, Portland, Oregon. I was not only able to attend, but was also one of the fortunate few selected to present. I heard tell that 350 folks submitted presentations for this event. I can only imagine the difficulty and work the volunteer organizers had in selecting speakers and am grateful for the opportunity.

It was an interesting intersection of my interests. For many years I was active in the local WordPress community as one of the event organizers for WordCamp St. Louis and the monthly WordPress meetup group. The pandemic put a big kibosh on my involvement and disrupted the community as a whole. It’s been five years since I’ve been at a WordPress-centric event, and this time I was there as a speaker. Life is funny that way.

I wanted to take a moment to jot down my notes and thoughts from the event. I learned a lot and met some interesting folks along the way.

Contributor Day

Tuesday kicked off the event with Contributor Day, which is a full day dedicated to improving WordPress. That could be contributing code to core, working on plug-ins, documentation, community building, or even video and marketing efforts. I ended up spending the first half of the day at the table for Openverse, a search engine for freely-licensed (Creative Commons) images and audio. Since I’ve contributed to Wikimedia Commons and work at the Foundation, I was curious to learn more.

I chatted with Zack Krida, Madison Swain-Bowden, and Krystle Salazar1 and learned more about their work. The project originally started at Creative Commons in 2017 as CC Search, and was brought under the WordPress umbrella in 2021. It’s integrated into WordPress, allowing authors of any site to search and use freely licensed imagery from Flickr, Wikimedia Commons, and more.

Openverse in verse

They face many of the same challenges Commons faces regarding reuse, attribution, NSFW content, and to a smaller degree moderation. They are mostly a front-end to existing repositories whereas Commons is a repository upon itself! We had some good chats, with far too little time to cover it all.

One WordPress-related pain point we shared was the lack of formal functionality in WordPress core for attribution and licensing information. Over the course of WordCamp US, I heard from no fewer than four presenters, along with a few side conversations, about how everyone ends up creating their own solution to manage these pieces of custom data. NASA, Vox Media, Disney, and others have all devised their own solutions. Even we at the Foundation, for Diff and the Foundation’s site, have created unique approaches—each a reinvention of the wheel. There’s a solid opportunity here to improve this in WordPress Core.


I was also able to reconnect with some friends from the St. Louis WordPress community, many of whom I haven’t been in contact with for five years. Pandemics, man. Jen Swisher, Joe McGill, David Smith, Mary and Dick, and Michelle were all regulars at WordCamp St. Louis back in the day. Maybe with things settling down, we might see more community building happening here in town…

For dinner, I sauntered out to Frank’s Noodle House and had a wonderful meal. I have a 99% success rate eating at restaurants that were formerly actual houses. Frank’s was no exception. 2

The pendulum in the Oregon Convention Center

Showcase Day

Showcase Day was a new addition to WordCamp US. It is described as, “an opportunity for creators to showcase some of their most innovative, interesting, and indubitably incomparable uses of WordPress”. So the coolest and most interesting uses of WordPress. I’d argue that they achieved this with the packed schedule. Here are the sessions I attended (so hard to choose!), with a few notes where I remembered.

Keynote: Reach for the Sky: A Magical Transformation with Gutenberg and Unlocking the Digital Evolution: Navigating the Gutenberg Era by Alexandra Guffey and Katrina Yates

These two back-to-back presentations – the first being the keynote of the day – covered how the Disney Experiences team used the block editor (Gutenberg) to design and develop custom blocks for their editorial needs. Two lovely folks from Disney talked about their strategy and approach. They created a main theme and used child themes for different sites. Each with blocks specific to those sites. A key takeaway quote from their work, “We are growing with Gutenberg instead of working against it.” Nice.

I also learned of the Gutenberg Storybook for WordPress components. A handy guide to know what components are available to reuse with variables and live code demos. A valuable resource. Instead of developing your own controls you can use these components to provide as close-to-core interface for editors as possible.

The Power of Extending the WordPress Editor: A Block Visibility Showcase by Nick Diego

Nick walked through a plugin he created called Block Visibility. It works with any block and allows you to adjust the visibility of blocks based on a smorgasbord of conditions. User roles, date and time, viewport size, and more. Along the way, I learned that the Group block can be made sticky, making it easy to create navigation items within the editor.

I also learned about how you can extend a WordPress block with custom functionality, which is a far better approach than creating a custom block from scratch, especially since core now contains many useful blocks.

Dynamic blocks also look rather interesting. “Dynamic blocks are blocks that build their structure and content on the fly when the block is rendered on the front end.”

My one idea for Nick’s Block Visibility plugin would be to incorporate visibility by language. So if the site language is set to Spanish, don’t show a promotion happening in English. Or if a block content is translated, show the appropriate language version.

Nick is also leading an Admin refresh and media library update to WordPress core. I’m going to be bugging him to learn more about that work soon. 🙂


I had lunch with some folks. Met TJ Mullinax and a few other folks. TJ is an interesting fellow. He lives in central Washington state and is a digital producer and photojournalist at Good Fruit Grower magazine. Which is a magazine about fruit cultivation with a history going back to the 1940s! They, naturally, use WordPress for their digital publication.


Reinventing Vox Media’s CMS: A WordPress Migration Journey by Thomas Stang, Anique Halliday, Stéphane Boisvert

This session was interesting because over the last twelve years Vox Media had built their own custom content management system called Chorus. They used it for all of their properties including Vox.com, The Verge, Polygon, and SB Nation. Migrating away from an in-house developed tool to an open-source project like WordPress is not only interesting from a technical perspective, but also from a business and political perspective. We now have one less CMS competing with WordPress, which isn’t great, but we also have another set of high-traffic and well-supported sites being built on top of WordPress.

From a community health perspective, I was interested in hearing about how readers of the websites handled this transition. It sounded, based on the presentation and conversations with the presenters afterward, that in most cases, folks didn’t even realize that a change had been made. In the case of Polylang in particular, the design of the site from the viewers’ perspective was exactly the same—a rather impressive magic trick.

Building a Block First Digital News Platform for Pew Research Center by Seth Rubenstein

I attended a session from Pew Research on how they build a new news platform using blocks – right before block patterns were a thing. Their blocks are rather complex items such as quizzes and charts. I was happy to learn that they give back by making their work available as open-source software!

Highlights from the Automattic Special Projects Team by Christy Nyiri

What a charming and whirlwind tour of the amazingly well-designed projects taken on by Automattic’s Special Projects Team! It was a very visual experience, so summarizing it too much here is a challenge and would not suffice.

I wish I had an ounce of the design chops these folks have. They showcased (see, it was Showcase Day) some really great designs and talked every so briefly about the work that went into each of them. Christy is a natural presenter and hit all the high notes.

A Technical Deep Dive Into Our Favorite Features of the New Harvard Gazette Site by Joeleen Kennedy

Joeleen led us through the work she and the fine folks at Human Made did for the Harvard Gazette. It was a great overview of the challenges of building something the editorial team can use that is flexible, but not so varied as to be inconsistent. I loved the little bit of genius for the dual-column layout on desktop and stacking the sidebar on mobile.


Speaking of Human Made, I wanted to take a moment to thank the crew for inviting me to sit with them at lunch – big middle school “someone asked me to sit with them vibes!”, so thank you – and for inviting me out for food and drinks. I had a great time getting to know them better as people. Wonderful people. KAdam, Joleen, Pam, Adam, Stuart, Kirsty, Jon, and Joe.

Conference Day 1

wp-admin as Mission Control by Gary Kovar

Anyone from NASA has an unfair advantage when presenting their work. I mean, it’s space exploration for Pete’s sake! Even with this frustratingly cool starting position, Gary delivered an interesting and informative dive into how NASA customized the WordPress dashboard to allow their editorial team to work quickly to develop news packages, articles, and the famous (and again, cool) Image of the Day feature.

The customizations to the dashboard have me thinking about how we might use that to make Diff, the community blog I support, more inviting and easier to use.

Building WordPress Websites with ‘Privacy by Design’ in Mind by Donata Stroink-Skillrud

Donata gave a really compelling and informative presentation on why you, average site developer, should give a hoot about GDPR, data collection, and user privacy. It was great to see someone who is not a designer or developer by trade presenting on their bailiwick and how it intersects with working with WordPress and the web. I found myself nodding at many of the points she made and internally yelling about the many clients I’ve worked with who have never considered privacy as part of their design.


This was the first day the Sponsor Hall was open. As I was wandering about during lunch I spotted a corner where a typewriter was set up allowing you to write some poetry. A gentleman was typing away and I asked if I could take a photo while they typed. They turned to me afterward, looked at my name badge, and said, “Wikimedia! I’m a Wikimedian!”. I had surprisingly ran into Younesh Dhaubhadel, a photographer from Nepal. He had participated in Wiki Loves Monuments in 2018 and came in second place in his region! Small world.


Decoding the Woo and WordPress Strategies of Industry Giants by Bryce Adams, Travis Lima

Brilliant title. While I don’t have much experience with WooCommerce, only using it on one site in my 15-year journey with WordPress, I do find it to be an impressive suite of tools for e-commerce. I love that it’s open-source, allowing company owners to control every bit of the experience without too many middlemen. This session was a grand tour of various implementations of WooCommerce and how the software can be customized to fit a seemingly endless set of circumstances.

Aside: I also learned about Universal Yums, which I just subscribed to. See! WooCommerce works! :p

Creating Client-Friendly Editing Experiences by Kristin Falkner

Kristin walked us through some great strategies for adapting WordPress to client expectations, reminding us that while we may be steeped in technology, some folks have actual work to do. 🙂 The ideas shared in this session have me reflecting on my own assumptions and how I might better communicate with and learn from those who use the sites I support.

One additional take away from this session was learning bout programs like Scribe and Screen Studio – apps that help create great video tutorials of software interfaces. This is something I will definitely include in any future client work.


After the group photo, I had the fortune to bump into Dinara Lima and her husband John Arthur Strauss. Both were, like me, carrying around some camera kit. John and I happened to be carrying the same camera, and we chatted for a bit. They came to WordCamp US all the way from São Paulo and were spending some time in the PNW area after the event.

Dinara made a nice video sharing her experiences at WordCamp US. Check it out!

Photo of group photo photographers photographing the group

Conference Day 2

How the Wikimedia Foundation Uses WordPress to Run an Open Community Blog for the Wikipedia Community and Beyond by Chris Koerner

Oh wait, this is me! I presented on our use of WordPress at the Wikimedia Foundation. How we took WordPress and with a few plugins, some customizations, and a bunch of tenacity made a multilingual, multi-author community blog.

The response to my presentation was really positive. People seemed inspired by the work we were doing. I had a few conversations with folks afterward about community building and keeping communities healthy. That giving some recognition and having awareness of other people can go a long way in building trust and mutual respect.

Unedited livestream


Releasing a Version of WordPress in 8 Hours or Less by Aaron Jorbin, Jonathan Desrosiers

This was an introspective review of just how interconnected software is. The speakers, Aaron and Jonathan, walked us through minute-by-minute, how a small but impactful bug was added to WordPress core and remedied within hours. I won’t spoil the cause, but some folks couldn’t update their sites because of it. Which is important!

It makes you think about how software can feel fragile and the importance of a robust, thoughtful community to help keep things going.

200,000 Games and Going: The Pandemic Kept Us Apart, But My WordPress Project Brought Us Together by Corey Maass

This was a really sweet session about how Corey built a digital board game during the pandemic that created a community and connection between people. A great example of going, “Huh, I didn’t think WordPress could do THAT!”. A great narrative and an interesting use of WordPress. :chefs kiss:

Enhancing WordPress Accessibility: Tools, Techniques, and Real-World Solutions by Jennifer Dust, Eli Frigoli

A great overview of the importance of accessibility and some useful tools to use – and avoid – to make your site more accessible. I found it particularly illuminating that automated “site checker” tools can give you a false sense of security, something I was not aware of and hadn’t really thought deeply about before.

This session reminds me that design for accessibly is not only for folks with a specific need, but for everyone. We all benefit now, and we’ll all eventually need some sort of aid as we age.

An In-Person Q&A With Matt Mullenweg by Matt Mullenweg

I actually went back to my hotel to watch this one remote. It was something. Terrible leadership from Matt and such a negative ding against WordPress as an ecosystem to invest in. I feel for all the folks impacted at WP Engine and beyond. Matt needs to log off and take a walk. Not being a jerk here, genuinely concerned for his well-being and the health of the community.

Misc Notes

I also learned – from which session I cannot remember – about work happening to allow WordPress admins to create and manage custom post types inside the admin interface. This is pretty cool no-code solution to something that a lot of sites need/use.

Custom fields and post types inside the block editor – with WordPress.com

Closing event at OMSI

This was the perfect venue to close out the event. A visually fun area to hang out in with dozens of built in ice breakers with all the various interactive exhibits. Kudos to the organizers for selecting OMSI and having it stuffed to the gills with food and things to do.

During dinner I talked with Ben from WP Engine who happened to see my presentation. We ended up at a table with fellow XOXO’er Tim Tate. Come to find out both Ben and Tim grew up in Boise! What are the odds. 🙂

Conclusion

I learned a lot from the different sessions I attended and appreciated all the speakers sharing their work so freely. I think the event organizers did a wonderful job in organizing the event. The signage was great. The rooms were well staffed. The audio/video work was flawless. Ok, there’s always a few hiccups. 🙂 Everyone I bumped into was friendly, and open to conversation. Five stars, would attend again.

One refrain I heard in talking to different people was the impact the pandemic had on a sense of community. How many of us are still recovering from that and how many were not present because of the now endemic nature of the virus. Five years later I felt like I missed a lot of WordPress events, but actually there haven’t been that many. It feels like we’re still getting back into the swing of things. For instance, it felt like there were fewer sponsors and vendors at WordCamp US this year than say five years ago. That could just be my subjective observation. I don’t know.

I have a lot of fondness for WordPress, both in what allows me to do as a professional, but in the strong sense of community and in the healthy way – I think –people help one another. Even while working under the horrendous umbrella of capitalism. It mirrors and mimics a lot of the work I do in the Wikimedia movement. I also like having another open-source web-based community separate from work to be invested in. So, I hope things continue to improve and maybe I’ll get back into the community in the future.


I took some photos along the way. A few have been scattered within this post. More are on Flickr.

Responsive WordPress Theme and Advanced Custom Fields

This is a rather simple little hack, but came in handy with a site I recently I built.

By default, editing theme options are limited to Administrator accounts in WordPress. For themes like Responsive this means that you must have all your clients logging in as administrators. The admin-level dashboard clutters the navigation with many things most clients should never touch. Another solution would be to modify permissions and create custom permission levels to access those theme options.

Neither seemed very elegant to me. After training with the client, she asked why couldn’t they edit the “Home” page under Pages. Which makes sense. If you manage all of your other pages there, why not the home page!?

Here’s a quick tutorial on how you can use the very awesome Advanced Custom Fields in conjunction with the default Responsive home page layout to manage your homepage content.

First, install ACF if you haven’t already.

Second, create a new page and call it Home.

Because you’re using a child theme you’ll want to copy front-page.php from the Responsive theme into your child theme directory.

Open it up in your favorite editor and look for this section:

<div id="featured" class="grid col-940">
	
		<div class="grid col-460">




			<h1 class="featured-title"><?php echo $responsive_options['home_headline']; ?></h1>
			
			<h2 class="featured-subtitle"><?php echo $responsive_options['home_subheadline']; ?></h2>
			
			<p><?php echo $responsive_options['home_content_area']; ?></p>
			
			<?php if ($responsive_options['cta_button'] == 0): ?> &nbsp;
&nbsp; &nbsp;
				<div class="call-to-action">




					<a href="<?php echo $responsive_options['cta_url']; ?>" class="blue button">
						<?php echo $responsive_options['cta_text']; ?>
					</a>
				
				</div><!-- end of .call-to-action -->




			<?php endif; ?> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
			
		</div><!-- end of .col-460 -->




		<div id="featured-image" class="grid col-460 fit">&nbsp;
							
			<?php echo do_shortcode( $responsive_options['featured_content'] ); ?>
									
		</div><!-- end of #featured-image -->&nbsp;
	
	</div><!-- end of #featured -->

Notice all those echo $responsive_options calls? Those are the hooks the Responsive theme uses to pull the information you put on the homepage under Appearance->Theme Options->Home Page. We want to move those to the page called Home along side all of our other pages.

What we’ll do is create a Field Group in ACF for all the fields on the homepage.

  • Title
  • Subtitle
  • Content
  • Video Link
  • Call to Action Button Text
  • Call to Action Button Link

Here’s and example of what your field group should look like.

Screen Shot 2013-04-04 at 2.09.34 PM

Make sure you also set this field group to show up only on the Home page you created earlier.

Screen Shot 2013-04-04 at 2.18.34 PM

Depending on your preferences you might also hide other fields on the screen – such as the Content Editor, Discussion and Comments.

Now from here you simply replace the responsive_option references with calls to your new ACF fields.

For example:

<?php echo $responsive_options['home_headline']; ?>

becomes

<?php the_field('home_title'); ?>

and

<?php echo $responsive_options['cta_url']; ?>

becomes

<?php the_field('home_call_to_action_button_link'); ?>

The end result is something that looks like this:

<div id="featured" class="grid col-940">
	
		<div class="grid col-460">




			<h1 class="featured-title"><?php the_field('home_title'); ?></h1>
			
			<h2 class="featured-subtitle"><?php the_field('home_subtitle'); ?></h2>
			
			<p><?php the_field('home_content'); ?></p>
			
			<?php if ($responsive_options['cta_button'] == 0): ?> &nbsp;
&nbsp; &nbsp;
				<div class="call-to-action">




					<a href="<?php the_field('home_call_to_action_button_link'); ?>" class="blue button">
						<?php the_field('home_call_to_action_button_text'); ?>
					</a>
				
				</div><!-- end of .call-to-action -->




			<?php endif; ?> &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
			
		</div><!-- end of .col-460 -->




		<div id="featured-image" class="grid col-460 fit">&nbsp;
							
			<?php&nbsp;
				
				$video_url = get_field('home_video_link');
				echo wp_oembed_get( $video_url, array( 'width' => 440, 'height' => 440 ) );
				
			?>
												
		</div><!-- end of #featured-image -->&nbsp;
	
	</div><!-- end of #featured -->

You’ll notice that I’m also using WordPress’ wp_oembed_get function to embed the YouTube URL in the featured image section. This way all the folks managing content have to do is insert the YouTube URL and WordPress handles the rest.

Once you’re done all you have to do is visit your Home page and update the fields!

Screen Shot 2013-04-04 at 2.28.22 PM

Must-have WordPress Plugins

Recently I was asked to consult with someone developing a website for their small business. We discussed their goals, developed requirements and at the end settled on WordPress for the content management system. As the individual was developing the site they became familiar with the feature of plugins and asked what would be some essential ones to include in their site. I sat down and put this list together and I’d like to share it with you.

In no particular order, my favorite and most useful WordPress plugins.

Advanced Blogroll – For links to other sites or other online presence (Facebook, LinkedIn, Twitter, etc.) you create links in what’s called a blogroll (The name is a holdover from the early days of WordPress.) The default WordPress configuration displays them in alphabetical order. This plugin allows you to arrange them as you see fit. You can see how “Latest” comes before “Elsewhere” on the navigation to the right. ->

WordPress Database Backup – Lets me sleep at night. Since WordPress stores all of your pages and post content in a database, keeping a backup is a smart idea. I have this setup to email me once a week with a zip file of my database. It’s a small little email and I have Gmail set to filter it out of my inbox automatically.

Jetpack – What once was a gathering of separate plugins is now a super kung-fu collection of some great features. Two of my favorite features are the WordPress Stats and After the Deadline. The stats gives you near real-time feedback on traffic to and from your site. Popular pages, keywords and links displayed automatically in your dashboard. After the Deadline is a super grammar, style and spell checker that uses artificial intelligence to make you sound more-than artificially intelligent. That’s just two of the many features of Jetpack.

Update: I can’t recommend Jetpack highly enough. It’s continued to become the most awesome plugin for WordPress that I’ve ever used. The just recently added a CSS editor that lets you customize your site design without modifying your theme, new comment capabilities (including login using Twitter or Facebook) and Retina support for images!

Akismet – Comment spam blocking magic. Spammers target popular content management systems like WordPress in an attempt to trick site owners into allowing spammy comments. Akismet sits in the background and filters these fake comments without any interaction. According to my stats it’s blocked over 17,000 spam comments with a 99.87% accuracy over 6 years. Not too bad.

Google Analytics – Google Analytics is the most powerful web tracking tool out there. Coupled with WordPress and a good email campaign tool (like MailChimp) you can track your readership with great detail. I could spend hours just going over how useful good web metrics are!

WP Super Cache – This is just incase you suddenly get hit with a million visitors. Normally, WordPress dynamically generates each page and post, which causes a lot of requests for information in the database and all the pictures and styles in  your theme. This plugin uses a complex set of rules to create a static version of your page, making the load on the server much less. There by allowing for many more visitors at the same time.

One last recommendation is not a WordPress plugin but a web service called if this then that. ifttt allows me to glue things I do online together. For example, when I post a photo to Instagram ifttt automatically creates a new post on my site and posts the picture. It can greatly help in automating posting to a lot of other web services, which allows you to spend more time writing content and growing your business than messing with tech stuff.

I hope this helps you firm up your WordPress site and please leave a comment if you have a suggestion of your own.

Update: Two other great plugins I’ve come across since writing this list:

Admin Quick Jump – From the horse’s mouth, “Admin Quick Jump is a very simple plugin that adds a drop down list to the admin edit-post area.” Very handy for moving between posts while editing. Here’s a little screenshot showing how simple it is.

Advanced Custom Fields – This one is definitely more on the geeky side of things (if that could be possible given the topic we’re discussing) but it’s pretty amazing. This plugin allows you to create super extensible custom fields that can contain any number of things. I friend of mine showed me how he’s using it for a site with staff profiles. Each element in the profile (position, title, and other bio information) can easily be edited in a custom field and populated into a formatted template. Easy for users to manage.