Buy a theme if its layout already matches your newsroom, and build one if your design is distinctive. Either way, put your changes in a child theme or sub-theme so parent updates do not overwrite them, and test the result against Core Web Vitals and WCAG 2.2 before launch.
From the original phpWordPress forum · archived copy
phpWordPress staff (Lead Developer) ·
We are pleased to announce that we have started offering commercial templates for phpWordPress. We shall introduce full gallery section on the website soon and allow purchases of these templates with new phpWordPress licenses. We also offer the existing license holders a chance to acquire additional templates if they desire so. Our policy is to provide templates to our customers on an exclusive basis, which means that once a template is purchased, it is immediately removed from the gallery and no one else can buy it. We currently offer following template sets: Old School (sold) Red Gazette (sold) Tribune 24/7 News Special promotion price for each template set until April 1st will be $69.95 USD. For more information about this promotional deal, please write on this thread, or contact us on [email removed]
a forum member ·
That's awesome. If we hadn't already done extensive design customization we certainly would have chosen one of your templates. I do have a question about your templates (actually how to do something that you have done in both of your template samples). I am wondering how we would also make it so that 'latest articles' actually show the Title, Image, & first few sentences of the articles (as your templates do), rather than just the article Title. I see no setting in /admin that will allow this.
a forum member ·
Nice. Does the price include a banner/logo? Any more in the pipeline? Can you do them to order?
phpWordPress staff (Lead Developer) ·
Thanks for the great feedback! @a forum member: your question is addressed in this thread. Quote:
a forum member ·
Are you going to be doing any more? I keep checking back
phpWordPress staff (Moderator) ·
Yes, several more are in the production line, will be done soon. You'll be notified
phpWordPress staff (Lead Developer) ·
Two more templates are added. Check the first post for links.
View the archived thread on the Wayback Machine. Usernames and contact details have been removed.
In February 2006 the phpWordPress team began selling commercial templates with a “sold, so no one else can have it” exclusivity policy, and a customer asked how to make the “latest articles” list show an image and the first sentences, as the demo templates did. Both questions survive: whether to buy or build a design, and how to change it without trouble later.
Should I buy a theme or build one?
The decision turns on how much of the design is the product.
| Feature | Buy a ready-made theme | Build a custom theme |
|---|---|---|
| Time to launch | Short | Longer |
| Up-front cost | Lower | Higher |
| Fit to your sections and article types | Close, not exact | Exact |
| Ongoing work | Vendor updates plus your overrides | You maintain all of it |
| Risk | Abandoned theme, bundled features you do not need | Developer dependency, scope creep |
Buy when a maintained theme already provides your article layouts, section pages, ad and newsletter placements. Build when the design is distinctive or when a theme would need so many overrides that you are effectively maintaining a fork. Many publishers choose a hybrid: a solid base theme with a small, well-organised layer of their own templates on top.
Before paying, ask the vendor:
- When was it last updated, and which CMS versions does it support?
- Where do updates and security notices come from?
- Does the licence cover several sites, and does it renew yearly?
- Is it accessible, and is that documented?
- What happens to your customisations when you update?
Exclusivity, which the 2006 shop offered, is rare today. Most themes are sold to many buyers, so a distinctive look needs customisation, which makes the last question matter.
How do I customise a theme without losing it on update?
The rule is simple: never edit the files that an update replaces. Put your changes in a separate layer that sits on top.
WordPress. A child theme includes everything from its parent by default and lets you customise without modifying the parent’s files, so the parent can be updated without losing your modifications. It needs a style.css whose header names the parent folder in a Template field, and it can override a parent template by providing a file with the same name. Its functions.php does not replace the parent’s; both load, the child’s first. WordPress also documents the search order for archives: a category page looks for category-{slug}.php, then category-{id}.php, then category.php, archive.php and index.php, so you can override one section’s layout by adding one file.
Drupal. A sub-theme inherits the parent’s resources. Drupal’s documentation puts the purpose plainly: do not touch the parent theme except to update it, make modifications in the sub-theme, and you can update the main theme without re-implementing changes. Overriding a template means placing a modified copy in your theme’s templates directory with the right name, and Drupal uses the most specific template it finds. Rebuild the cache so the new template is discovered. The documentation also says never to edit base templates under core/modules directly, because updates will discard those changes.
Other systems have equivalents, such as template inheritance or a custom templates folder. According to the vendor’s documentation, look for the sanctioned place for overrides before you change anything.
What about “show the latest articles with an image and excerpt”?
That customer’s request is a template change, not a setting. In a modern CMS you would usually do it in one of three ways: a configurable block or query component in the editor, an override of the list template in your child theme, or a custom field for the teaser image and summary. Pick the first option that exists, because configuration survives upgrades best and code survives them worst. Our customisation answer covers the code route in more detail.
What should I check for performance?
A theme can slow every page you publish. Test with your real content, ads and fonts on a staging copy, not the vendor’s demo. Web.dev gives these good thresholds for Core Web Vitals, measured at the 75th percentile of page loads across mobile and desktop:
| Metric | Good threshold |
|---|---|
| Largest Contentful Paint | within 2.5 seconds |
| Interaction to Next Paint | 200 milliseconds or less |
| Cumulative Layout Shift | 0.1 or less |
On news templates the usual causes of poor numbers are large hero images, late-loading fonts, ad slots that resize and heavy scripts for sliders or social widgets. Reserve space for images and ad slots so the layout does not shift. Re-test after each plugin or ad change.
What should I check for accessibility?
WCAG 2.2 is the current W3C Recommendation, and content that conforms to it also conforms to WCAG 2.1 and 2.0. A theme cannot make your content accessible alone, but it can make it impossible. Test these on your own staging site:
- Navigate the whole template with only the keyboard, and confirm the focus is always visible.
- Check heading order on an article page and a section page.
- Check colour contrast on text, links, buttons and image captions.
- Confirm images render alt text from the CMS field.
- Confirm menus, search and the newsletter form work with a screen reader.
Ask for the vendor’s accessibility statement, and treat a missing one as a reason to test more, not less.
A short checklist
- Your changes live in a child theme or sub-theme, under version control.
- The parent theme is updated on a schedule, after a staging test.
- Core Web Vitals and accessibility checks are repeated after each redesign.
- A trial or staging install of the CMS is used to compare themes before you pay.
The feature checklist covers the other questions to put to a CMS vendor.
Questions people ask
Should a news site buy a theme or build a custom one?
Buy when a maintained theme already has the section layouts, article templates and ad or newsletter slots you need. Build when your design is a core part of your identity or no theme fits. Either way, keep your changes in a child theme or sub-theme.
What is a child theme or sub-theme for?
It holds your changes separately from the parent. WordPress documentation says the parent can then be updated without losing your modifications, and Drupal's says the parent is left untouched except for updating. Without one, an update can silently overwrite your edits.
How do I check a theme's performance before buying?
Run it with your real content on a staging site and measure Core Web Vitals. web.dev's good thresholds are Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less, and Cumulative Layout Shift of 0.1 or less at the 75th percentile.
Which accessibility standard should a theme meet?
WCAG 2.2 is the current W3C Recommendation, and content that meets it also meets WCAG 2.1 and 2.0. Ask the theme vendor for its accessibility statement, then test headings, keyboard navigation, focus, colour contrast and image alt text yourself.
Sources
- A WordPress child theme includes everything from its parent theme by default and lets you customise without modifying the parent theme's files, so the parent can be updated without losing your modifications. — source, checked 10 October 2026.
- A WordPress child theme needs a style.css file whose header includes a Template field matching the parent theme's folder name, and it can override parent templates by adding files with identical names. — source, checked 10 October 2026.
- A child theme's functions.php does not replace the parent's functions.php; both load, with the child's loading first. — source, checked 10 October 2026.
- Drupal documentation says the point of sub-theming is to not touch the parent theme, except to update it, and to make modifications in the sub-theme, so the main theme can be updated without re-implementing changes. — source, checked 10 October 2026.
- In Drupal, templates are overridden by placing modified template files in your theme's templates directory using the naming convention, and Drupal uses the most specific template it finds; the cache must be rebuilt for a new template to be discovered. — source, checked 10 October 2026.
- Drupal documentation says you should never edit base templates in core/modules directly, as those changes would be lost during updates. — source, checked 10 October 2026.
- WordPress renders a category archive by looking for category-{slug}.php, then category-{id}.php, then category.php, archive.php and finally index.php. — source, checked 10 October 2026.
- web.dev gives the Core Web Vitals good thresholds as Largest Contentful Paint within 2.5 seconds, Interaction to Next Paint of 200 milliseconds or less and Cumulative Layout Shift of 0.1 or less, measured at the 75th percentile of page loads across mobile and desktop. — source, checked 10 October 2026.
- WCAG 2.2 is a W3C Recommendation, and content that conforms to WCAG 2.2 also conforms to WCAG 2.1 and WCAG 2.0. — source, checked 10 October 2026.