愿望清单会员wishlistmember_shoppingcart_register(行动)

时间:2017-03-03 16:31:20

标签: php wordpress api

我是Wordpress插件开发的新手,但我已经决定构建一个以便在内部连接到WishList成员(WLM)API。

我希望每次使用我们网站上的WLM结帐表单注册用户的注册信息。 WLM技术支持建议我在他们的API中使用wishlistmember_shoppingcart_register挂钩。他们还说可以在$ _POST变量中找到有关注册的信息。

由于我对Wordpress插件开发这么新,我不确定如何实现钩子。我已经从他们提供的代码中学习了如何使用WLM API的主要功能,但这些都是我能想到的。

每次添加用户时如何触发挂钩?我应该使用WLM表单在页面上使用短代码吗?如何访问插件中的$ _POST变量?

另外,我注意到一些Wordpress插件只是一系列函数调用,而另一些则创建了一个类对象。我可以在我的插件中使用这两种方法吗?

一点点的指导就会被认可。

由于 麦克

更新:这是我一直在努力的代码......

<?php
/*
Plugin Name: MGC
Description: A plugin to integrate with WLM
Author: Mike Grossman
Version: 0.1
*/

require(dirname(__FILE__) . '/wlmapiclass.php');

//echo "<h1>Hello world!</h1>";

$member_registration_results = array();

add_action('admin_menu', 'mgc_plugin_setup_menu'); //load menu bar on the admin panela and run the function 

function mgc_plugin_setup_menu(){
        add_menu_page( 'MGC Plugin Page', 'MGC Plugin', 'manage_options', 'mgc-plugin', 'dp_api_internal' ); 
}

function mgc_init(){
        echo "<h1>Hello World!</h1>";
}

function dp_api_internal(){

    if (function_exists('wlmapi_get_levels')){
        $levels = wlmapi_get_levels();

        print_r($levels);
    }
}

 function dp_api_external(){

     //No external connection needed

}

function member_registration() {

            $test_member_data = array(
                "user_login" => 'test_wlmtest_member',
                "user_email" => 'test_member@wlmtest.com',
                "first_name" => 'Test First Name',
                "last_name" => 'Test Last Name',
                "display_name"=>'Test Display Name',
                "user_pass" => '1234567890',
                "Sequential"=> true,
                "SendMail" => 'true',
                "Levels" => array($_POST['wlmtest_level_id'])
            );

            if (isset($_POST['wlmtest_action'] ) && $_POST['wlmtest_action']=="member_registration_internal_api" ) {
                /* Test Member Registration Using Internal API */
                $this->member_registration_results['internal']  = $this->RegisterMemberInternalAPI($test_member_data);
            }
}

function RegisterMemberInternalAPI ($member_data) {
            $response =  wlmapi_add_member($member_data);
            return $response;
}



?>

我在教程和免费3D派对插件中找到了所有WLM代码。

1 个答案:

答案 0 :(得分:0)

我终于想出了如何在不使用API​​的情况下获取我想要的WLM成员数据。我在用户在网站上注册后捕获了WLM短代码(即[wlm_lastname])。此外,我创建的插件并不需要Wordpress管理面板,因此我也删除了该代码。