我对开发Wordpress插件很感兴趣。我注意到,在激活其他Wordpress插件后,它们会在每个管理页面的顶部显示一条“您几乎完成了,只需运行向导”消息。(请参见屏幕截图中的一个示例)
是否有官方支持此Wordpress api和/或系统?或者这是crafy插件开发人员所做的事情?(该插件是WooCommerce——仅在特定插件重要的情况下提及,这不是一个(离题的)WooCommerce问题)不管上述答案如何,我如何在自己的插件中实现这种效果?
非常感谢。
我对开发Wordpress插件很感兴趣。我注意到,在激活其他Wordpress插件后,它们会在每个管理页面的顶部显示一条“您几乎完成了,只需运行向导”消息。(请参见屏幕截图中的一个示例)
是否有官方支持此Wordpress api和/或系统?或者这是crafy插件开发人员所做的事情?(该插件是WooCommerce——仅在特定插件重要的情况下提及,这不是一个(离题的)WooCommerce问题)不管上述答案如何,我如何在自己的插件中实现这种效果?
非常感谢。
这就是WordPress API,用于此的适当工具是register_activation_hook
插件激活后立即触发,或after_setup_theme
如果你是为了一个主题而做这项工作。
下面是一个使用示例,代码应该放在主插件加载程序文件中,或者如果放在子目录中,则提供__FILE__
主文件中的属性:
add_action( "admin_init", function(){
if ( get_option( $opt_name = "se_show_my_plugin_wizard_notice" ) ) {
delete_option( $opt_name );
add_action( "admin_notices", "se_wizard_notice" );
} return;
});
/**
* Check if user has completed wizard already
* if so then return true (don\'t show notice)
*
*/
function se_wizard_completed() {
return false;
}
function se_wizard_notice() {
if ( se_wizard_completed() ) return; // completed already
?>
<div class="updated notice is-dismissible">
<p>Welcome to my plugin! You\'re almost there, but we think this wizard might help you setup the plugin.</p>
<p><a href="admin.php?page=my_plugin_wizard" class="button button-primary">Run wizard</a> <a href="javascript:window.location.reload()" class="button">dismiss</a></p>
</div>
<?php
}
register_activation_hook( __FILE__, function() {
update_option( "se_show_my_plugin_wizard_notice", 1 );
});
希望这有帮助。可以安全地编辑wp内容/语言/插件/woocommerce-ro\\U ro中的语言文件。mo(.po)?我这样问是因为我不想在插件更新时覆盖它们。抱歉,如果是愚蠢的问题。