During the time that I was having problems with the spam injection hijack, I upgraded through a couple of versions of WordPress. During this process, I somehow “lost” all my pages. They were still there as posts, but for some reason they were not being seen as pages.
I did some searching on the issue, but really came up empty on finding an existing discussion of what I was looking for. So, I did what I usually do when confronted with a WordPress issue that I can’t find a ready fix for – lift the hood and get my hands dirty figuring it out.
It didn’t take long for me to figure out the quick solution. In the WordPress database there is a table called _posts (it will look like wp_posts or whatever your table prefix is). In _posts, there is a field called post_type. This can be set to either “page” or “post”.
In my case, the pages had been changed to post. So I merely had to change the value of this field. To do this, you could use something like phpMyAdmin or some other tool. It helps to know the ID number of the original, but if you don’t know this, you can find it by browsing through the content of wp_posts.
Once you have changed the value of the post_type field to “page”, that post will show up as a page on your blog.