我是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代码。
答案 0 :(得分:0)
我终于想出了如何在不使用API的情况下获取我想要的WLM成员数据。我在用户在网站上注册后捕获了WLM短代码(即[wlm_lastname])。此外,我创建的插件并不需要Wordpress管理面板,因此我也删除了该代码。