Summary: I could see myself use this plugin to manage my plugin FAQs, it's a nice use of custom post types, but not until some of the issues have been fixed.
Faq Manager “uses custom post types and taxonomies to manage an FAQ section for your site.” That’s all its frontpage on WordPress.org says. Luckily, the FAQ for the plugin has the content the frontpage should have, including how to use the plugin, kind of typical…
Installing the plugin is easy enough, after which you get a FAQ section added to your left menu, this contains the custom post type FAQ it creates and the two taxonomies, categories and tags, as well as the settings page, a page to change the order of the FAQs through a simple drag and drop system and an instructions page.
The instructions page outlines nicely how you can show FAQs on pages. The shortcodes will show 10 FAQs by default, if you’ve got more than that, you’ll need to do something as it won’t add paging. I think it really should add paging once you reach the max number of FAQs the shortcode outputs.
To list all the FAQs from a certain “topic”, you need to know the slug of that topic, which might be hard for the “average” user. I would add a TinyMCE button that makes it easy to go through the list of topics.
If you enable the function on the settings page a JS and CSS file are added to the
<head> section. They’re disabled by default, I think they should be on by default but I’m happy that you can actually disable them. I also think the JS should be loaded in the footer, not in the header. You could also debate whether it should actually be files, both the JS and CSS snippet are so small that they could also just be included in the current page, which would save 2 file requests. There’s an option to add new FAQ entries to the feed as well, which is a nice addition.
The plugin also comes with a Random FAQ widget, which you have to enable first (I don’t know why). This might be a good way of pointing people to the fact that there is an FAQ, but it would be cooler if you could show a couple of FAQs in a widget more easily.
Because the FAQ post type is set to public, each FAQ has its own URL. This should not be the case in my opinion, or at the very least be an option. Right now, the plugin is basically creating duplicate content. It’s not linking to these individual posts anywhere, but other plugins might use it. That’s why I think it’s imperative this becomes optional.
The plugin author is nicely active in the plugin forums and seems to respond fairly quickly to questions there.
The plugin mostly uses the WordPress API’s but gets some tiny things wrong, for instance, both jQuery and it’s own collapse script are properly enqueued, but it would both be better and easier if the collapse script was just enqueued and it had jQuery as a dependancy, that way WordPress would always know to load jQuery first and then the script. The plugin author could also use the
plugins_url function to make it easier to get the URL to the plugin dir.
Some of the functionality for the frontend is contained within a file called faq-admin.php and vice versa, this is probably a mistake somewhere but won’t make managing the code any easier. Also, the entire admin section of the plugin is loaded even when you’re on the frontend, it would be better to separate those.
The plugin is not using the custom post type archive functionality yet, even though I do think there could be nice uses for that with respect to what it does.