Distributor plugin: Share content between your WordPress sites

Meet the newest addition to 10up’s suite of powerful, open source tools for content creators and managers: Distributor.

Distributor is a WordPress plugin that empowers content managers to safely reuse and syndicate content across their websites, supporting sites within a WordPress multisite network and across the web using the REST API. Designed with an intuitive user experience at the forefront, Distributor integrates “push” and “pull” use cases.

The sharing interface is accessible from the admin bar when viewing a single piece of content in the editor or on the front end. Without leaving the content – and with just a couple of clicks – content managers can “push” the content to any other sites where he or she has permission to publish. Think of it as a “retweet” feature for your WordPress sites.

Shares posts across a network

Read More on Distributor plugin: Share content between your WordPress sites

Introducing the WordPress Component Library

We’re proud to introduce the WordPress Component Library: a collection of front-end components constructed with WordPress and accessibility at the forefront.

Many of the HTML and CSS components we build for our clients are structurally similar, particularly for prolific features like menus, search forms, posts, and blogrolls. A common starting point offers efficiencies to our clients while simultaneously raising the bar on polish and compliance with standards like accessibility. In evaluating existing libraries, we found that the industry was missing a good, open source project built with WordPress’s often opinionated markup (e.g. menus) and basic layout structure in mind.

Read More on Introducing the WordPress Component Library

Sponsoring Sanitize.css


In keeping with our commitments and contributions to important open source projects, we’re proud to take on stewardship of sanitize.css. An incredibly popular project by 10up’er Jonathan Neal, sanitize.css makes it easier to engineer website front ends that render consistently across popular browsers.

Elegant in its simplicity and superbly documented, the project already more than meets our engineering standards. More importantly, tools like sanitize.css serve 10up’s mission to create outstanding, dependable content-centric website experiences from front to back, for our clients, and for a bigger open web.

Read More on Sponsoring Sanitize.css

10up Engineering Best Practices

At 10up, we build custom publishing experiences. We take great pride in all aspects of building websites, from user interaction design to code performance. Security, style, workflow, design patterns, performance, and even tools all influence that publishing experience. We use the term “engineer” rather than “develop” because of the amount of skillful strategy and true craftsmanship involved in what we build.

With over 90 full time employees, 10up has a diverse team of strategists, project managers, designers, and a few dozen incredibly smart, diverse engineers. Standardization in engineering is increasingly important with such a large team. Over the past few months we collaborated as a company to document how we engineer and why. We spent a great deal of time considering various things such as WP_Query performance recommendations, workflows to maximize efficiency, and tools we want to use and maintain as a team.

We are proud to open source our Engineering Best Practices as a public project on GitHub. WordPress is an open-source project and so are our Engineering Best Practices. We believe WordPress has continued to grow because of its embracement of open source philosophies. We want our Best Practices to follow that model. We know there are opportunities to keep improving, and want to welcome community contributions that are in tune with our philosophies.

Team Collaboration: Tweet by Category

When I first joined 10up, one of my first challenges was building a Twitter plugin for a client who wanted to automatically tweet based on category. Luckily, I work with an amazing team. I lamented in our team IRC room, and to my surprise, discovered that we already had a plugin that did exactly what I needed. Well, almost exactly.

The existing module, built for another client, was all but abandoned before it was fully polished for non-specific use cases. It also used Twitter’s deprecated v1 API, so I had to swap out the communication layer. Still, I had a starting point thanks to the inventiveness of the team, and our consistent application of coding standards.

A few weeks later, we had a solid, polished release using the v1.1 API ready for a new client. We released the project (it was still not fully abstracted, but complete enough for their purposes) and pushed it to the back burner (read: all but abandoned it again). Last month, yet another client requested the same feature. I dusted off our Git repository and started smoothing out the still rough edges so we could launch an even more refined version for a third client.

That’s when it hit me: this plugin only exists as a result of the way our team collaborates. It has been gradually improved and iterated over time across multiple developers and disparate project requirements. Yet we had never released the source outside of our company.

A couple of emails and about 10 minutes later, Publish to Twitter went public on both GitHub and I’d personally like to invite you to join the growing team of collaborators on this project to help make it even more flexible and useful for our entire community.

Read More on Team Collaboration: Tweet by Category