I am trying to make a personal plugin that does specific things based on what is loaded. In this example, in my action method I want to perform one function if the currently loading page is using the
template-blog.php template, if it’s a single blog post (loading
single.php do a second function, anything else do a 3rd function
I am not quite sure what method I need to use, and so far Google is not pulling up the right methods. I have been trying get_current_template(), get_template() get_page_template(), but none of them pull the stuff I am looking for above.
Below are the methods you can try. The first solution is probably the best. Try others if the first one doesn’t work. Senior developers aren’t just copying/pasting – they read the methods carefully & apply them wisely to each case.
body_class() on the body tag would probably be the easiest way to tell which template is in use.
<body <?php body_class(); ?>>
Depending on which page you are on, it will output similar to this
<body class="page page-id-10 page-template-default logged-in">
page-template-default is the template in use. It’s also useful for blog posts and custom post types.