Skip to content
Business Agile
← Work
Web · Sport, corporate events · Sep 2017

WeChamp

A catalogue of athletes and experiences, modelled rather than hand-written.

WeChamp home page design, two fencers in action

Key figures

content types in the plugin4
repositories: the theme and the features2
athletes announced on the home page design80

WeChamp connects athletes with companies or clubs, around sporting experiences. The design approved in May 2017 states the promise in one line, share a unique sporting moment with your champion, and the volume behind it: fifteen disciplines, eighty top-level athletes, and a search by athlete or discipline at the top of the home page. The site had to be a catalogue, and a catalogue is not built by stacking pages. It is modelled.

In pictures

Top of the WeChamp home page design, promise and search
The top of the home page design approved in May 2017: the promise in one line, the catalogue's volume announced in figures, and the search by athlete or discipline placed before everything else.

The project in detail

Three content types were therefore created in WordPress: athletes, experiences and sports. Each has its data model and its templates, an athlete's page, the athlete list, an experience's page, the experience list, a sport's page. All three are linked, so an athlete points to their experiences, an experience to the athlete running it, and a sport to everyone who practises it. That internal linking is what gives the site its coherence and, incidentally, its search surface.

A fourth, less visible type carried the theme's options: editorial settings live in the admin interface rather than in the code, so the client can change a label or a featured item without anyone intervening.

Two very different audiences arrive on the site, and each got its own pages: a companies area, for away days and team building, and a clubs and associations page. The client's specification, annotated screen by screen, also asked for precise journey elements: a booking button present at all times, anchors to the reviews at the foot of the page, a multiple selection of sports showing how many are chosen, a form that keeps the experience being viewed at the moment of sending.

The work was done in two separate repositories, a bespoke theme and a functionality plugin, and that split is not a flourish. The four content types live in the plugin: if the theme changes one day, the data stays. Both repositories are tooled like software, with Composer, a gulp chain and a code style check run by a test command, which is rare on a WordPress site of this size.

The image on this page is the approved design, not a capture of the site. The site's media were not recovered from the old server, and a catalogue page without its athlete photographs would show nothing of what was delivered. The designs and the annotated specification are in the archives: they are what makes it possible to describe the journey with this precision.

What was done

  1. 01

    Three linked content types: athletes, experiences, sports

  2. 02

    Automatic internal linking between all three

  3. 03

    Editorial settings taken out of the code, into the admin

  4. 04

    Separate journeys for companies and for clubs

  5. 05

    Theme and plugin in two repositories, so the data outlives the theme

  6. 06

    Composer, gulp and a code style check on a WordPress site

Frequently asked questions

Why model content types rather than create pages?

Because a catalogue grows. On WeChamp, adding an athlete automatically creates their page, inserts them in the list and links them to their experiences and their sport. With hand-written pages every addition would have meant editing several places, and the site would have drifted out of sync within months.

Should the theme and the features be separated on WordPress?

Yes, as soon as there is domain data. On WeChamp the four content types live in a plugin separate from the theme: a visual redesign then does not make the catalogue disappear.

Does a WordPress site deserve development tooling?

When it carries bespoke code, yes. WeChamp got Composer for its dependencies, a gulp chain for its stylesheets and an automatic code style check, exactly like an application project.

Other work

A project? Let's talk this week.

A short brief, an answer within 48 hours, a firm estimate after scoping.

Describe my project