Phew! After days of trying to figure out what went wrong, I finally figured it out. It’s now displaying on the front end, as expected. It turns out that my template callback function is not pointing to the right template folder. That’s it!
Thanks envy for taking the time to help.