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 / wp-postratings / includes / requirements.php

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

95 lines 3.8 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\WP_PostRatings\Requirements
6 * @since 1.0.0
7 */
8 // Exit if accessed directly
9 if( !defined( 'ABSPATH' ) ) exit;
10
11 /**
12 * Add the rate field to the requirement object
13 *
14 * @since 1.0.0
15 *
16 * @param $requirement
17 * @param $requirement_id
18 *
19 * @return array
20 */
21 function gamipress_wp_postratings_requirement_object( $requirement, $requirement_id ) {
22
23 // Specific rate
24 if( isset( $requirement['trigger_type'] )
25 && ( $requirement['trigger_type'] === 'gamipress_wp_postratings_rate_specific'
26 || $requirement['trigger_type'] === 'gamipress_wp_postratings_specific_rate_specific'
27 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_rate_specific'
28 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_specific_rate_specific' ) ) {
29 // The rate field
30 $requirement['wp_postratings_rate'] = get_post_meta( $requirement_id, '_gamipress_wp_postratings_rate', true );
31 }
32
33 // Minimum rate
34 if( isset( $requirement['trigger_type'] )
35 && ( $requirement['trigger_type'] === 'gamipress_wp_postratings_minimum_rate'
36 || $requirement['trigger_type'] === 'gamipress_wp_postratings_specific_minimum_rate'
37 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_minimum_rate'
38 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_specific_minimum_rate' ) ) {
39 // The rate field
40 $requirement['wp_postratings_rate'] = get_post_meta( $requirement_id, '_gamipress_wp_postratings_rate', true );
41 }
42
43 return $requirement;
44 }
45 add_filter( 'gamipress_requirement_object', 'gamipress_wp_postratings_requirement_object', 10, 2 );
46
47 /**
48 * Rate field on requirements UI
49 *
50 * @since 1.0.0
51 *
52 * @param $requirement_id
53 * @param $post_id
54 */
55 function gamipress_wp_postratings_requirement_ui_fields( $requirement_id, $post_id ) {
56
57 $value = intval( get_post_meta( $requirement_id, '_gamipress_wp_postratings_rate', true ) ); ?>
58
59 <input type="text" class="input-wp-postratings-rate" value="<?php echo $value; ?>"/>
60
61 <?php
62 }
63 add_action( 'gamipress_requirement_ui_html_after_achievement_post', 'gamipress_wp_postratings_requirement_ui_fields', 10, 2 );
64
65 /**
66 * Custom handler to save the rate on requirements UI
67 *
68 * @since 1.0.0
69 *
70 * @param $requirement_id
71 * @param $requirement
72 */
73 function gamipress_wp_postratings_ajax_update_requirement( $requirement_id, $requirement ) {
74
75 // Specific rate
76 if( isset( $requirement['trigger_type'] )
77 && ( $requirement['trigger_type'] === 'gamipress_wp_postratings_rate_specific'
78 || $requirement['trigger_type'] === 'gamipress_wp_postratings_specific_rate_specific'
79 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_rate_specific'
80 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_specific_rate_specific' ) ) {
81 // Save the rate field
82 update_post_meta( $requirement_id, '_gamipress_wp_postratings_rate', $requirement['wp_postratings_rate'] );
83 }
84
85 // Minimum rate
86 if( isset( $requirement['trigger_type'] )
87 && ( $requirement['trigger_type'] === 'gamipress_wp_postratings_minimum_rate'
88 || $requirement['trigger_type'] === 'gamipress_wp_postratings_specific_minimum_rate'
89 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_minimum_rate'
90 || $requirement['trigger_type'] === 'gamipress_wp_postratings_user_specific_minimum_rate' ) ) {
91 // Save the rate field
92 update_post_meta( $requirement_id, '_gamipress_wp_postratings_rate', $requirement['wp_postratings_rate'] );
93 }
94 }
95 add_action( 'gamipress_ajax_update_requirement', 'gamipress_wp_postratings_ajax_update_requirement', 10, 2 );