How to Create a WordPress Guestbook Reloaded

I’ve gotten emails from people griping that my previous post about making a guestbook for their WordPress blogs does not work for them. I’m making up for that lame post right now!

Ok, I am writing this post under the assumption that:

  • You have FTP access to your web server containing your WordPress installation.
  • You have admin access to the blog you’re making a guestbook for.
  • You know basic HTML editing.
  • You can tell the difference between regular text, HTML and PHP variables.

1. The very first thing to do is open up your theme folder saved in your computer. Look for the file named “single.php”.

single-php-select

2. Copy (Ctrl-C) the file and Paste it (Ctrl-V). The file will automatically be named “Copy of single.php”. Rename the file to “guestbook.php”.

change-file-name

3. Open up guestbook.php in your favorite text editor (e.g. Notepad, UltraEdit).

On top of the file, right before:


<?php get_header(); ?>

Add:


<?php
/*
Template Name: Guestbook
*/
?>

Save the file (Ctrl-S). What we just did is create a separate template for your guestbook, which we will use when we create the new page. Customize other portions of the file as needed.

4. Open up your FTP program. Change directory to your current theme folder.

Ex. blogdomain.com/wp-content/themes/theme_name/

5. Upload guestbook.php.

6. Access your Wordress admin panel to Write > Page to create a new page.

write page

Type “Guestbook” as the page title. Compose a brief introduction for the page content.

Ex. Please Sign My Guestbook!

7. On the right-hand side, pick Guestbook as the page template.

pick template

8. Save the page. If you don’t want your guestbook to display the post date, browse to Presentation > Theme Editor > guestbook.php

Look for:


<?php the_time('Y/m/d') ?>

And delete it. Click Update File to save.

9. If you want to change the way the guestbook entries and the input form appear, here’s how. Copy comments.php and save it as ‘guestcomments.php’. Edit the file to your liking. Some samples:

Change the comment heading “X comments” to “X guestbook entries”
Change the submit button text “Post Comment” to “Sign Guestbook” or “Sign It!”
Change “Your comment is awaiting moderation” to “Your guestbook entry is awaiting moderation”

Text may differ from to template to template, so look for approximate matches in your files.

To reverse the order of comments, look for:

foreach ($comments as $comment)

and replace with:

foreach (array_reverse($comments) as $comment)

Upload guestcomments.php to the current theme folder on the server.

10. Once again, open up guestbook.php in the Theme Editor. Scroll below and change the line:

<?php comments_template(); ?>

to

<?php comments_template('/guestcomments.php'); ?>

Voila! You now have a guestbook!

I tried my best to make these instructions as painless as possible. If you’re still having issues, please don’t hesitate to leave me a note. Enjoy your new guestbook.

If you ‘dugg’ this article, click here to digg it!

Update: WordPress Generator Plugin is a sparkly new plugin that does all the dirty work for you!

55 comments

  1. ei! can you help me as to how to customize the guestbook page above to display another word instead of the word “Comment >>” and change the title of the submit button from “Submit comment” to any other name? please? Thanks in advance!

  2. The guestbook generator plugin doesn’t work for my almost spring theme,so I have to follow these structions to create a guestbook,I wonder if I want the comments arranged from newest to oldest,how should I do?

  3. I have been reading your guest book from the beginning, page or two a day. Often I have the energy to read and enjoy, but not write (it is difficult to explain emotions). I like the comments in different languages, even though I can read English well, and Spanish a little, and can just understand some of the words in Italian and Japanese.
    ————— http://www.phitsanulok.go.th/ngclink/index.html —————–

  4. looked very nice, but i think my theme doesn´t support the generator. 🙁

    it says:
    “The required template files were not found in your current theme. Guestbook cannot be generated.”

    thnx anyway, mate
    greetz mike

  5. Running from default theme: you can apparently switch off the plugins after creating the guestbook. Running the plugin again will create a new page.

  6. Hi I tried to generate the guestbook but I got the following message
    “The required template files were not found in your current theme. Guestbook cannot be generated.”
    I wanted to copy single.php as you instructed but I can’t find it. I am using the theme “Sky3c by Kaushal Sheth” and wordpress 2.0.4
    Any ideas?
    Thanks
    Y

  7. I finally realized I could copy the index.php and then rename it, this solved the problem 🙂
    However the guest book page has “Please sign my Guestbook. Thanks!”, with no link so I don’t understand how to post a comment. I think my initial theme was modified to remove the comments… any ideas ?
    thanks Y

  8. It also said that I was missing the “single.php” file, but Y’s solution worked just fine. I was just wondering if it’s possible to remove the numbering of the comments/entries. Or to turn them around, so that the latest entry get’s the highest entry-number.

  9. Hello Andrew,

    I have followed the instructions on your site, but my comments aren’t displayed. I lookerd everywhere but can’t find what’s wrong. Could you please have a look at my site and tell me what to do? You have to click at “Alle reacties”, that’s the page I added.

    Thanks for your help.

    Kind regards,
    Marcel

  10. Hello!

    Does not exist a way to allow the amount of signatures of guestbook when visualized the page of guestbook? Thanks!

  11. Hi!

    When they wrote a comment to my guestbook, and sign the required mail and name. it comes back with error that says it was a wrong email-adress. i can’t figure out why?

  12. can you help me as to how to customize the guestbook page above to display another word instead of the word “Comment >>” and change the title of the submit button from “Submit comment” to any other name? please? Thanks in advance! help~!

  13. Overall this has been great, since the Guestbook Generator plugin did not work for my theme. But I’m also stumped at changing the text that says things like “Leave a Reply” and the Submit Button… the file looks to have the text I want but doesnt display??

    here is my guestbook, thanks to you!
    http://www.jeelago.net/work/guestbook/

  14. I have received this error. Any help will be greatly appreciated.

    “Fatal error: Call to a member function on a non-object in …./guestcomments.php on line 51”

  15. Hi Andrew, great instructions, thanks.

    I’m not (yet) using this on my public blog but I am on a non-public blog I author and it works really well.

  16. Ahm… is there any codes for registration for the viewers together with their comments?

  17. Great guestbook, thxs!
    very easy, but i have one question. I don’t want the comments to be approved by the moderator, but they have to be approved automaticly, so they appear at the same time on my website. Without any controle. How can create that? please help 🙂

  18. Hey, is it possible that you can help me with my Guestbook? It’s not working for me!

    Please contact me by e-mail.

    Thanks 😀

  19. Well it doesn’t work for me… When I open comments.php there is only this text:

    How can I change this to how I want it?

  20. Hi there,
    I use your guest book plug-in and is working fine. The only problem is pagination. On my guest book, comments are approaching 150+, i want it to be like 20 0r 25 per page. How to do it ? Your input is much appreciated.
    url: http://www.mitixa.com/guestbook

  21. Hi Everybody there,

    Some template have a “page.php” file along with a “single.php”. So if Guestbook Reloaded seems to not work with your template, search for “page.php” in your template folder and apply same modifications. I mean you should duplicate “page.php” instead of “single.php” and It should work perfect.
    (WordPress 2.9.1, ok !)

Leave a comment

Your email address will not be published. Required fields are marked *