By the sounds of this, your custom theme lacks common interceptors that allow plugins to modify / display their code.
To make a simple example, each topic should have a wp_head () call somewhere in the <head>
section of the output page. This allows the plugin to "connect" to your <head>
and, for example, output code to load its Javascript.
Here is a real life example. The WordPress Theme Twentyeleven has this in the header.php
file (traditionally this is part of the theme that displays the <head>
section on any page):
... other <head> stuff wp_head(); ?> </head>
WP Nivo Slider uses this code when it calls wp_enqueue_script
, for example, in its wp-nivo-slider.php
. Behind the scenes, wp_enqueue_script
uses the wp_head()
tag in the wp_head()
theme to display the requested Javascript in the <head>
section (along the second wp_print_head_scripts
that ends in wp_print_head_scripts
by default.)
So, in principle, if the plugin works with the provided theme, but does not work with your custom theme, your task is to find the hooks that are not in your theme that the plugin is trying to use.
If you check the documentation for developing a WordPress theme , you will find a list of hooks that the themes should include in the “Plug-in API Interceptors” section. This, in particular:
wp_head
wp_footer
wp_meta
comment_form
Important for most plugins will be wp_head
and wp_footer
. This is where most Javascript is included in the “Header” or “Footer” section (immediately before the closing <body>
).
Most plugins, such as Javascript sliders, image galleries, etc., simply add a new script or two to the <head>
or footer section of the website and possibly include CSS files to style their contents, again in <head>
, therefore, these two are usually the only necessary hooks.
So, my initial advice was to make sure your custom theme includes a wp_head()
call at the end of the <head>
section (copy the code from this working theme that you have), as well as a wp_footer()
call, before closing </body>
. The chances are good that most Javascript plugins will work on them.