用户决定首先回答您的最后一个问题:
我尝试将插件添加到主题插件文件夹[…]我做错了什么?
您正在尝试将功能捆绑到主题中。这首先是错误的。主题提供演示-插件提供功能。
除此之外,功能应该是用户的选择。你的主题应该可以使用插件,也可以不使用插件。您还可以避免用户在切换主题时丢失设置。注意你的主题"supports subheading plugin". 安装和激活由用户决定。
如何操作
要实现这一点,您可以将插件功能包装在过滤器或挂钩中,并使用
is_plugin_active()
:
// functions.php
add_action( \'subheading\', \'subheading_callback\' );
function subheading_callback()
{
if ( ! is_plugin_active( \'plugin-folder-name/plugin-file.php\' ) )
{
remove_action( current_action(), __FUNCTION__ );
return;
}
// Call subheading-plugin function to output subheading here
// From the subheading plugin:
// $before = \'\', $after = \'\', $display = true, $id = false
the_subheading( \'<h3>\', \'</h3>\', true, get_the_ID() );
}
然后在模板文件中,只需添加挂钩以输出副标题。
// for e.g. single.php - in the loop
do_action( \'subheading\' );
除此之外,还有
"TGM Plugin Activation" 可以在主题中使用的脚本。它允许您在激活时告诉用户,他/她需要插件X、Y和Z,您可以使用默认设置(IIRC)进行设置。