带自定义主题的发货插件

时间:2015-02-23 作者:user3312508

我需要添加一个插件到一个主题,并启用它自动一旦主题被激活。如果可能,还希望更改其设置。这是我试图包含的插件:https://wordpress.org/plugins/subheading/

我尝试将插件添加到主题插件文件夹中,但它没有显示在WP插件页面上。我做错了什么?

2 个回复
最合适的回答,由SO网友:kaiser 整理而成

用户决定首先回答您的最后一个问题:

我尝试将插件添加到主题插件文件夹[…]我做错了什么?

您正在尝试将功能捆绑到主题中。这首先是错误的。主题提供演示-插件提供功能。

除此之外,功能应该是用户的选择。你的主题应该可以使用插件,也可以不使用插件。您还可以避免用户在切换主题时丢失设置。注意你的主题"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)进行设置。

SO网友:Joey Yax

没有方法将插件与主题安装捆绑在一起。最好的方法是检查是否使用is_plugin_active 在您的功能中。php。如果没有,请在管理区域显示通知,指示他们下载/安装。

结束