FAQ Auto Responder for WordPress Comments

For almost every PHP script I publish, some readers have to do it : ask for help because they get a PHP warning telling that "headers already sent blablabla". So, for almost every PHP script I publish, I have to explain again and again the same thing about trailing blank spaces. Boring for me, frustrating for them.

Did you say something about "headers already sent" ?

The last time it happened, I said to myself : "Gee. I really have to make something that automatically handles things whenever someone asks about those darn headers".

So, I replied to myself : "hey, looks like a fun plugin idea !"

A few minutes later (as if) here is another plugin for WordPress : the FAQ Auto Responder

FAQ Auto Responder : the concept

You define an array of frequently asked questions and their answers :
'question' => 'answer'

For instance, about the headers warning, this would be something like :

  1. 'headers already sent' => 'please remove blank lines'

FAQs are defined as case insensitive regular expression patterns. For instance, if you keep having comments on your blog asking what is your name, you can add the following pair of FAQ and answer :

  1. "what(\ is|(\\\')?s) your name" => 'Duh ! My name is Ozh !'

As you can see, things need to be rather escaped to work properly, but the above example will take care of the following strings :
what is your name
what's your name
whats your name

FAQ Auto Responder : the demo

The plugin is activated right here and right now, so to give a try, you could add a comment like "omg please help i have an error with headers already sent !!!" (or anything containing "headers already sent")

You can also give the name question a shot. And why not, wonder something silly like "headers already sent by me, but what is your name again ?" to trigger several FAQs.

Attention testers: feel free to test, but PLEASE test using your brain. The plugin is configured here to react on "headers already sent". Posting something with "header" instead of "headers", "send" instead of "sent", etc…, obviously won't work. PLEASE also refrain from actually submitting your test comment once it's been catched by the Auto Responder. I will mark as spam those who don't follow this.

FAQ Auto Responder : the file

Download the plugin :
ozh-faq-auto-responder.zip
Extract and upload to your blog, preserving directory structure if any.
Note: download counter here and stats on wordpress.org may differ and reflect the number of downloads before this plugin was hosted on the plugin directory

FAQ Auto Responder : the features

You can configure a few things, since my religion forbids me to make plugins where you wouldn"t be able to make yourself at home. Edit the plugin and play with some variables.

$wp_ozh_faq["faq"]
This array defines the pairs of "faq" => "answer", as explained above.
If you feel uncomfortable with regular expression, just use plain text and add as many string as wanted.
This is obviously a mandatory editing.

Each time a comment contains what appears to be a FAQ, a page is displayed with some potential answer. Let"s make this page as user friendly and pretty as possible.

$wp_ozh_faq["header"]
This prints first. Put some HTML, CSS, title, style and explanations to tell your reader what the f*** is this page he was not expecting.
Optional token %%COMMENT%% will be replaced with user"s comment.

$wp_ozh_faq["reply"]
This part is echoed for each FAQ and their answer. Again, feel free to put here any HTML and text you want.
Mandatory tokens here are %%QUESTION%% and %%ANSWER%%, replaced with the FAQ pattern that was detected, and its answer.

$wp_ozh_faq["footer"]
Here comes the last chunk of HTML and stuff. Be sure to include %%FORM%%, which will be replaced with the hidden form data and submit button.

FAQ Auto Responder : the fine tuning

If you want to tweak how the page displays, send your browser directly on the plugin file (ie. http://yourblog.com/wp-content/plugins/ozh-faq-auto-responder/wp_ozh_faq.php). It will print a sample form so that modifying your CSS and text is easy and does not even need the plugin to be activated (like this)

If you want to test various regular expressions to check if comments are catched or go through, you can uncomment a block around line 171 to prevent comments to be submitted. It makes things easy with a lot of comment submissions without spamming your own blog.

43 comments

  1. Tinus

    I'd like to ask something about headers allready sent..

  2. Ozh

    (In case you're wondering why it didn't work: you misspelled "allready" with 2 L's)

  3. Will

    lol Learn to copy and paste. ;)

    um perhaps not show the extra trigger ;)

  4. pepe

    What is this plugin about?

  5. dx

    how do i activate the plugin?

    (ok, that was a teh ssssttt)

  6. dx

    failed test :(

  7. Luggruff

    your headers has already been sent ! (and that plugin doesn't seem to be that bulletproof.. just see how your answer was about the word always and not the headers!)

  8. Ozh

    Luggruff » yeah right.

  9. Gary

    I was wondering if your headers had already been sent and will then know what to do?

  10. WP插件:FAQ Auto Responder-问题自动回复机器人 | 帕兰的口袋

    […] WP官方下载页面 | 插件作者下载页面 […]

  11. dicki

    headers already send?

  12. Ozh

    dicki » Welcome into the group of people who just cant read. Obviously and by no means "headers already send" cannot be matched by "headers already sent" (not adding it doesnt make any sense, of course)

  13. WordPress Plugins Spotlight for 10.1.07 — WP Assist

    […] if you run a blog where users frequently ask the same questions over and over again. Brills! Read About It | Download […]

  14. WordPress Plugin – Massor av bra WordPress plugins

    […] FAQ Auto Responder Har du en blogg där dina besökare ställer samma frÃ¥gor hela tiden, dÃ¥ kanske detta är nÃ¥got som kan hjälpa dig att spara tid. […]

  15. J.P.

    Where are the headers already sent! And what is your name doing in the footer?

  16. J.P.

    Sorry for that :)

    Mate, this is awesome.

  17. adan

    what is my name? what is your name? what are our names?

    Okay, now this is a serious question: What plugin are you using for that \

  18. adan

    Hmm. Your plugin appears to have cut off my question. I was asking what plugin you use for the posting code feature.

  19. Nestor

    Hah, that's a good one. I better add plenty of misspellings to the regular expressions though, because the blog I was thinking of using it on has commenters that spell really bad :)

  20. pigs

    what is your name?

  21. Israel Meneses

    I want to ask how this FAQ works, thanks

  22. Dave

    I hope this will work. It is what I am looking for. Thanks

  23. Team Biff

    Incredible idea and excellent plugin! Question: will this work on comment forms or is it exclusive just to the post/page comments?

    I want to set it up to filter a "Contact Me" custom form (that's where I get all of my questions), is that possible?

    Again, I love your how user-friendly your plugins are! Thanks!
    ~Biff.

  24. Ozh

    Team Biff » This will work anywhere WordPress accepts comments. Your contact page is most likely this.

  25. buyungupik

    oh dude , i just realize than on my screen pop out dialogue box like headers already sent , just want try the demo here :D

  26. FAQ Auto Responder for Wordpress Comments – WP Plugin Archive

    […] FAQ Auto Responder for WordPress Comments von Ozh sendet automatiscxh eine Art FAQ zu Fragen die über die Kommentarfunktion gestellt werden. Der Admin kann Standardfragen definieren, tauchen diese Fragen in einem Kommentar auf, sendet das Plugin automatisch eine Antwort. Bookmarks setzen: Diese Icons verlinken auf Bookmark Dienste bei denen Nutzer neue Inhalte finden und mit anderen teilen können. […]

  27. Rosie

    how do I install this

  28. Ozh’ FAQ Auto Responder

    […] documentation and tips, please refer to the official plugin page for FAQ Auto Responder Download Plugin! Version 1.0.1 Last Updated: August 11, 2008 […]

  29. WordPress Plugin List 6 « Graphic Design Blog

    […] For documentation and tips, please refer to the official plugin page for FAQ Auto Responder […]

  30. jake

    omg please help i have an error with headers already sent !!!

  31. blameitonkarma

    I hope this is what I'm looking for. I guess we'll see.

  32. Steven

    Which code plugin do you use?

  33. Anna

    how come headers are already sent?

  34. Anna

    let's try this again with a space after "sent". how come headers are already sent ?

  35. Ozh

    Anna » You fail at reading. The plugin here is configured to catch "headers already sent", as in the common PHP error. Not "headers are already sent". But thanks for trying.

  36. Anil

    Looks great ! But I wonder if it works on Multi -Site installation of 3.1 version. I w'l give a try

    Thanks !

  37. Daan

    headers ?

  38. pesi

    Hi, thank you for this great plugin.
    i have a question: I'm from italy and the plugin don't catch words like "verrà" can you please explain me how can i modify the php code for work in my language? Thank you and sorry for my poor english.

  39. Ozh

    pesi » try various HTML encoded forms, replacing the "à" with "à" or "à". If that still doesn't work: sorry, don't know.

  40. Ozh

    pesi: of course it didnt show up correctly. I meant: replace "à" with "& agrave;" (no space) or "& #224;" (no space)

  41. pesi

    Hi, thank you for the fast reply, I have already added a faq formatted in this way:

    'cioè' => 'test',

    and then added this line of code under line 107 of "wp_ozh_faq.php":

    $comment = str_replace ("è", "è", $comment);

    but it don't work :-(
    any idea? Bye

  42. pesi

    Ops, i did the same error :-))

    'cio& #232;' => 'test',
    $comment = str_replace ("è", "& #232;", $comment);

    sorry

  43. Ozh

    pesi » Don't try anything complicated, don't alter the plugin. Just act as if commenters were going to type "cerr& agrave" or "cerr& #123; instead of "cerrà". Then, again, if that doesn't work: I don't know :)

Leave a Reply

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