I have a small WordPress install that I’m setting up, and have run into an issue that I’ve encountered before, but do not understand the cause.
Issue:
With permalinks set to /%postname%/
, on a site with the following:
- Home page
- About page (slug: “about”)
- Two links to categories (there are two categories, with slugs of “digital” and “broadcast”)
- About 35 posts
Most everything works as expected, however there is one post with a slug of “swampism” which displays (incorrectly) in the page.php template file, rather than the single.php template file (where all other posts properly display).
How does this happen? Why does it happen? And how can I fix it and/or avoid it in the future.
Note: Changing the permalink structure to default, or date driven is not an option. Besides, that is (in my mind) a work-around, not a solution/explanation of the problem.
I was going to make this a comment but it was getting long and I think I see an answer emerging. I’ll gamble.
If this is the problem URL: http://whoosh.acgdemo.com/swampism/, you are seeing an attachment page
<link rel='canonical' href='http://whoosh.acgdemo.com/?attachment_id=114' />
WordPress shows these when individual images are requested. I am starting with that assumption.The image on that attachement page is, interestingly, named
Swampism.jpg
which, if the pattern I see in my DB holds, means it has the slug of ‘swampism’. I am betting that that is where you conflict is. WordPress is finding the image slug and loading the attachment page for it instead of finding your “page-name” slug.