PluginProbe
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI / 7.9.8
GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI v7.9.8
8.0.4 8.0.3 8.0.1 8.0.2 8.0.0 7.9.9.7 7.9.9.6 7.9.9.5 7.9.9.4 7.9.9.3 7.9.9.2 7.9.9.1 7.9.9 7.9.8 7.9.7 7.9.6 7.9.5 7.9.4 7.9.3 7.9.2 7.9.1 7.9.0 7.8.9 7.8.8 7.8.7 All 46 releases
gamipress / integrations / surecart / includes / requirements.php

requirements.php in GamiPress – Gamification plugin to reward points, badges & ranks in WordPress, now with AI 7.9.8, at integrations/surecart/includes/requirements.php

69 lines 2.1 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * Requirements
4 *
5 * @package GamiPress\SureCart\Requirements
6 * @since 1.0.0
7 */
8 // Exit if accessed directly
9 if( !defined( 'ABSPATH' ) ) exit;
10
11 /**
12 * Add the form field to the requirement object
13 *
14 * @param $requirement
15 * @param $requirement_id
16 *
17 * @return array
18 */
19 function gamipress_surecart_requirement_object( $requirement, $requirement_id ) {
20
21 if( isset( $requirement['trigger_type'] )
22 && ( $requirement['trigger_type'] === 'gamipress_surecart_specific_product_purchase') ) {
23 // Field form
24 $requirement['surecart_product'] = get_post_meta( $requirement_id, '_gamipress_surecart_product', true );
25 }
26
27 return $requirement;
28 }
29 add_filter( 'gamipress_requirement_object', 'gamipress_surecart_requirement_object', 10, 2 );
30
31 /**
32 * Form field on requirements UI
33 *
34 * @param $requirement_id
35 * @param $post_id
36 */
37 function gamipress_surecart_requirement_ui_fields( $requirement_id, $post_id ) {
38
39 // Get the products
40 $products = SureCart\Models\Product::get();
41 $selected = get_post_meta( $requirement_id, '_gamipress_surecart_product', true ); ?>
42
43 <select class="select-surecart-product">
44 <?php foreach( $products as $product ) : ?>
45 <option value="<?php echo $product->id; ?>" <?php selected( $selected, $product->id ); ?>><?php echo $product->name; ?></option>
46 <?php endforeach; ?>
47 </select>
48
49 <?php
50 }
51 add_action( 'gamipress_requirement_ui_html_after_achievement_post', 'gamipress_surecart_requirement_ui_fields', 10, 2 );
52
53 /**
54 * Custom handler to save the form on requirements UI
55 *
56 * @param $requirement_id
57 * @param $requirement
58 */
59 function gamipress_surecart_ajax_update_requirement( $requirement_id, $requirement ) {
60
61 if( isset( $requirement['trigger_type'] )
62 && ( $requirement['trigger_type'] === 'gamipress_surecart_specific_product_purchase' ) ) {
63
64 // Field form
65 update_post_meta( $requirement_id, '_gamipress_surecart_product', $requirement['surecart_product'] );
66 }
67
68 }
69 add_action( 'gamipress_ajax_update_requirement', 'gamipress_surecart_ajax_update_requirement', 10, 2 );