mirror of
https://gh.wpcy.net/https://github.com/mainwp/Code-Snippets-Functions.git
synced 2026-05-02 12:02:25 +08:00
https://github.com/strangerstudios/pmpro-snippets-library/blob/dev/orders/add-mycred-points-whenever-order-created.php
30 lines
807 B
Text
30 lines
807 B
Text
function add_my_cred_to_pmpro_orders( $order ) {
|
|
|
|
// Bail if order isn't successful.
|
|
if ( ! function_exists( 'mycred_add' ) || ! in_array( $order->status, array( '', 'success' ) ) ) {
|
|
return;
|
|
}
|
|
|
|
$level_id = intval( $order->membership_id );
|
|
$user_id = intval( $order->user_id );
|
|
$points = 10; // default to 0 points.
|
|
$reference = 'Successful Membership Payment';
|
|
$entry = 'Paid Memberships Pro - level: ' . $level_id;
|
|
|
|
switch ( $level_id ) {
|
|
case 1:
|
|
$points = 20;
|
|
break;
|
|
case 2:
|
|
$points = 15;
|
|
break;
|
|
}
|
|
|
|
// Add points to my cred
|
|
mycred_add( $reference, $user_id, $points, $entry );
|
|
|
|
// Write to order notes.
|
|
$order->notes .= ' MyCred points for this order: ' . $points;
|
|
$order->saveOrder();
|
|
}
|
|
add_action( 'pmpro_added_order', 'add_my_cred_to_pmpro_orders', 10, 1 );
|