Functions.php And How To Quit It

When developing a theme for a client, it’s super easy to throw all of the new functions and hooks into the theme’s functions.php file, wipe your hands, congratulate yourself for a hard day’s work and go have a beer. But, after a while, have you stopped to see the size of that functions.php file? It can be massive! It’s easy to create a large disorganized functions.php file with so many tutorials out there giving you little tips and tricks on hooks and doodads that you can add to the site to make it fancy. “Ohh! Look at this code that changes my background color based on weather patterns! I’ll just… put this… right… here… *drops in functions.php file* This session is about why you don’t want to fill up your functions.php file, the proper way to add code to your site, and why it’s proper for readability, security and extendability.

How To Build A Custom Widget

Widgets are a great way to deliver added content or functionality to a WordPress site. I’ll show you step-by-step how to create a simple custom widget then see how you can distribute theme with a theme or as a stand-alone plugin.

Accessibility with CSS: Making websites better for everyone

When we make it easier for users who face vision or mobility challenges to use websites, we make them easier for everyone to use. From larger hit areas to clear indications of state we’ll cover a few simple things we can start and stop doing with CSS to make websites faster to navigate with a keyboard, easier to use with a course pointer, and understandable without visual formatting.

So you still cowboy code your infrastructure…

We all know not to cowboy code our applications, yet it’s the Wild West when working on building and maintaining your servers. In my talk, I will discuss provisioning, deployment, and development setup for infrastructure. By working through a case study of rebuilding my company’s infrastructure, I will demonstrate the advantages of building servers in a development environment. Using this workflow, you will be able to see how easy it is to build and maintain infrastructure through sane and logical development practices.

WordPress Single Page Web Apps

I will be introducing the tools and best practices that make up for one of the most flexible and scalable Single Page Web Application framework out there. I’ll show how WordPress can be integrated with modern Web App tools by leveraging its innate modularity, flexibility and speed. This talk is about WordPress as much as it is about general Web Application best practices and future applications and considerations. The result is a slick app-like feeling on top of our beloved managing web framework. I think the most interesting part is to see how WordPress suddenly becomes a relatively small part of a bigger system that works to achieve amazing results, requiring minimal development resources, and backed by one of the largest web-developer communities in the world.

Future Responsive Today – Embracing mobile-first with <picture> and FlexBox

Responsive Web Design is about to get a whole lot more responsive with the <picture> element for responsive images and Flexbox for responsive layouts. In this talk front end developer and web standards expert Morten Rand-Hendriksen will provide the audience with everything they need to use these new tools today and show how a true mobile-first workflow will help them make cleaner, more efficient, and more responsive WordPress sites. You’ve heard about <picture> and Flexbox and now you’ll know how to implement them in your WordPress projects today! The future is now and it is responsive.

Tips for writing secure plugins and themes

If you write plugins or themes ensuring they are secure and as free from vulnerabilities as possible should be a top priority. In this session I will share some easy tips to keep in mind while building your theme or plugin that will help reduce the risk of your website being compromised.

App-ifying WordPress

There’s been a lot of talk about “WordPress as an application platform” recently. Whether you agree with the practicality of using WP as an application platform or not, there are still many ways you can extend it to get much more out of it than a typical CMS (for instance, custom settings pages, custom user roles, custom metaboxes, custom dashboard widgets, custom admin themes, APIs galore…). I’d like to share some insights from real projects where I’ve used these things, highlight some current WP shortcomings (custom post statuses, sigh), and talk about what’s coming down the road (JSON API, metadata UI, etc.) that will make it even easier to build on WordPress in app-like ways.

CANCELLED – Creating Wholehearted Experiences

A wholehearted content and design process connects a web project to the vision, audiences, and goals, but more importantly brings the extended project team together by connecting heads to hearts. Finding and creating wholehearted experiences requires a new approach to web projects. We need to open up and have the ability to connect deeply with everyone on our project teams: client, vendor, and audience. Looking at things through a vulnerable lens of being willing to be imperfect and fight through those moments together. By letting go of our usual ways of holding back and protecting ourselves, we free our project teams to express true creativity and bonding. Letting go of control and coming together to solve our content problems allows our projects to be more than we ever thought they could be.

wp.awesome! WordPress JS helpers

It is pretty hard to miss the cool new Media Modal that came to WordPress core in 3.5. Backbone and Underscores are exciting additions that allow more scalable Javascript creation, both on the front and back end of the system. These are major additions to the code base and real wins across the board. Along with these great tools came some other, smaller utilities and helpers that make the life of a WordPress Javascript developer just a bit easier; however, they have received almost no attention. Most developers I’ve spoken to don’t even know they exist. So let’s explore just some of the hidden wonders in the wp object: wp.ajax, wp.template, wp.shortcode, and wp.html.

Magic with CSS Pseudo-Selectors

Pseudo-selectors are my favorite CSS tool. They make it possible to create some amazing visual effects, while keeping your HTML semantic and minimizing the images on your site. I will introduce the basic concept of pseudo-selectors, and go over the various pseudo-selectors that are available and when they are useful. I will provide examples from sites I have developed of how I have used pseudo-selectors to achieve visual effects that would have been very difficult or even impossible without them. I will discuss pseudo-selectors’ implications for performance and accessibility.

WP <3 Elasticsearch

We know intuitively that searching in WP kinda sucks; the flaws in a traditional datastore (a.k.a. MySQL) make fixing these problems extremely hard. Elasticsearch complements WP and allows us to solve these issues to transparently provide a better user experience. Take a look at how and why Automattic is using Elasticsearch and how to leverage it for your own site too.

How to create your own robot (lightning talk)

For a large project I was working on, I created a GitHub to Asana commit bot (much like the SVN-Bot used in WordPress IRC). With four different contractors working on one project in three different countries, we used both Asana and Github to keep the team organized. I’ll demonstrate how creating a commit bot that tied together both APIs helped us communicate, and kept the project on track.

Responsive web development made easy with CSS and the mobble plugin (lightning talk)

In this lightning talk, I’ll offer you some tips and tricks to get better looking sites on mobile devices. I’ll also show you how you can use the mobble plugin to get completely different layouts on mobile devices.

Introduction to the command line (lightning talk)

Web developers are often faced with challenges that require a basic knowledge of the Unix command line. This topic will break down the basic commands needed to navigate and perform basic functions within the command line.

Advanced Custom Fields – Beyond the basics (lightning talk)

This talk will cover use of ACF in non-blog oriented websites. It will focus on using ACF in a custom post type. It will demonstrate custom queries along with custom prev/next posts. The talk will also show how to display ACF fields in the dashboard for the custom post type overview. Examples will be taken from a live, working website.

Getting Started With Unit Tests

We all know that we should probably be testing our code but how on earth do you start? Well we’re going to talk about WP CLI and Vagrant and how that sets up testing for you. We’ll take a look at some test patterns and a Github repo started to hold test patterns for people to refer to.