Can a post be hidden from home page, archive view, category lists etc. and viewable only if you have a direct link to it? The blog doesn’t have registered readers and is open to public so that would be a mean of hiding some posts from public view without using the password protection.
I asked this question in WordPress section and the idea there was to use conditional code so I’m asking the question here as well to get closer to the code.
If I used conditioning, would I have to input each post’s ID separately to PHP file for archive, categories, search and such?
EDIT:
After reading a bit more all over, I had an idea of creating a private
category and then use some kind of conditioning so that posts from that category are hidden. According to Codex, certain category can be hidden from, for example front page but I don’t know if there’s a way to hide it altogether except when you have a direct link.
Creating a “Private” category is a good solution. It is quite possible to hide this category altogether except via direct link. You just have to “block all the exits” with conditional code.
The default WordPress theme displays posts via the Post Loop. See http://codex.wordpress.org/The_Loop, especially the section entitled “Exclude Posts from Some Category”. Just find all the places in your theme’s PHP files (e.g. index.php) where this loop is used, and add the conditional code. You’d also need to filter your category list and blog archives in the side menu. Don’t add filtering in single.php, otherwise the private post won’t display on its own page.
You’d probably want to add a similar condition to filter search results so that private posts aren’t leaked via the blog’s search tool. There may be more “exits” I haven’t thought of, but I’ll be sure to update as I do. I’m glad to look at specific code if you so desire.
Understanding WordPress’ post query and loop really opens up a world of possibilities for customization.
I found the simplest way – just use Simply Exclude WordPress plugin. It has the option to exclude each post (or tag, for that matter) from front page, archive, search or feed. It works flawlessly. You can still view the posts by using direct links.
(Not actually an answer that includes code but a working solution nonetheless.)