When to use action hooks and plugins

First of all, see this WordPress Codex page: AJAX in Plugins You don’t technically need to write a plugin to do what you want to do, but it is good practise to do so, especially for the kind of functionality you are building. (Building a database table, handling form data, submitting with AJAX, etc.) Check … Read more

Widget for adding HTML markup to a page

If you want to do it the “WordPress-way”, you would create a custom post-type for books called “book” ( For this take a look at https://codex.wordpress.org/Function_Reference/register_post_type ). Then you would create an archive page for that post-type called “archive-book.php”. I hope this helps a little bit. If you need more help, let me know.