wordpress开发插件激活时创建存储过程

6年前 38次浏览 0条评论 ,

wordpress开发激活插件后是否可以触发存储过程?

//action hook for plugin activation
register_activation_hook( __FILE__, 'my_func' );

//function to create stored procedure
function my_func()
{
//code goes here to create a stored procedure
}

例如,假设您计划使用以下存储过程:

SELECT * FROM wp_posts

让我们创建一个 PHP 函数,而不是将其实际存储在 MySQL 中:

function {plugin_prefix}_get_posts() {
    global $wpdb;

    return $wpdb->get_results( "SELECT * FROM $wpdb->posts" );
}

现在我们可以在需要时调用它:

$posts = {plugin_prefix}_get_posts();
// Away we go!

将函数重命名为特定于您的项目的名称

或者

只需在激活钩子中使用$wpdb->query()并确保正确添加前缀即可。

public static function activation_hook() {
    global $wpdb;
    $sql = "
    CREATE PROCEDURE {$wpdb->prefix}STORED_PROC_NAME(param1 varchar(16))
    RETURNS varchar(16)
    BEGIN
       --do your stored proc here
       RETURN param1
    END
    ";
    $wpdb->query($sql);

}

发布评论