Appalachian College of Pharmacy
The public site of a Virginia pharmacy college, carrying its three programmes, its people directory, its newsroom and the outcome data its accreditors require.

What they came with
A college site is doing two jobs at once. Applicants are choosing between three programmes and need to know which one they qualify for and where the application actually goes; accreditors are checking that outcome data is published on the public site, in the form they expect, for the years they expect. Between those two, faculty and staff appear in more than one listing, so a promotion or a new photograph means hunting down every place a person is named. None of that is work anyone should be doing twice.
What the build had to do
One people record, two listings
The same entry type feeds the staff directory and the board of trustees page, one with a role filter over five terms and one with none. People hold more than one role, so the filter has to return each of them under every role they hold without a second copy of the record behind it.
Outcome tables the accreditors require
The student achievement page stacks accordions covering licensure pass rates, on-time graduation and attrition, employment six months after graduation and residency match. The tables inside are not one shape, some running a row per graduating class and some a column per class, and each is read against a national average or a stated benchmark.
Three programmes, three admissions routes
PharmD applications go out to a national application service against dated deadlines, the doctorate carries its own process, and the technician certificate runs through the college's own portal on monthly rolling cohorts. All three share financial aid, student services and the academic calendar, so the work is keeping the funnels apart without duplicating the pages underneath them.
Three handoffs to outside systems
Request info embeds a form served from an outside admissions platform, the visit pages carry a virtual tour in an iframe, and scheduling a visit hands off to a separate events site with its own filters and a count of places left. Each handoff has to sit inside the page template rather than dropping the visitor out of the site.
Twelve pages of dated releases
The newsroom paginates to twelve pages running back to 2020, each release on a dated permalink, with the monthly archive routes resolving as real pages of their own. The home page and the sidebar feeds draw on the same posts, so listing, pagination and archive all have to hold up against one set of records.
Technical detail
One person, many listings
Faculty and staff are a single record carrying department and programme taxonomies. Department pages and the full directory both query that record, so a title change publishes everywhere at once and the profile page stays the canonical URL for the person.
Outcome tables as structured rows
The tables accreditors look for are repeatable fields with a row per cohort year, not pasted markup. Adding a year is adding a row, the header structure stays consistent for screen readers, and no editor has to keep table HTML intact by hand.
Building inside a managed child theme
The site runs as a child of the CampusPress Flex theme, so parent updates keep arriving from upstream and nothing can be edited in place. Customisation is template overrides and field groups rather than new plugins, which is also the limit the managed host sets.
Applications handed off, not proxied
Each programme points at its own external admissions system, and the handoff is an outbound link on a page that tells the visitor where they are going. Nothing is posted through the site, so no applicant data lands in WordPress and there is no application form to defend.
The stack
CMS
Frontend
Platform
- Sector
- Pharmacy and public health college
- Audience
- Applicants, students, accreditors
- Shape
- Programme pages, directory, newsroom
- Platform
- WordPress, CampusPress Flex child theme


Something like this to build?
Tell us what runs today and where it hurts. An engineer reads it and replies.