@@ -7,18 +7,18 @@ discard block |
||
7 | 7 | global $connected_meals, $shortcode_args; |
8 | 8 | |
9 | 9 | if ( is_singular( 'plan' ) ) { |
10 | - $section_key = get_query_var( 'section' ); |
|
11 | - if ( '' !== $section_key && \lsx_health_plan\functions\plan\has_sections() ) { |
|
12 | - $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key ); |
|
13 | - if ( isset( $section_info['connected_meals'] ) && '' !== $section_info['connected_meals'] ) { |
|
14 | - $connected_meals = \lsx_health_plan\functions\prep_array( $section_info['connected_meals'] ); |
|
15 | - } |
|
16 | - } |
|
10 | + $section_key = get_query_var( 'section' ); |
|
11 | + if ( '' !== $section_key && \lsx_health_plan\functions\plan\has_sections() ) { |
|
12 | + $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key ); |
|
13 | + if ( isset( $section_info['connected_meals'] ) && '' !== $section_info['connected_meals'] ) { |
|
14 | + $connected_meals = \lsx_health_plan\functions\prep_array( $section_info['connected_meals'] ); |
|
15 | + } |
|
16 | + } |
|
17 | 17 | } |
18 | 18 | |
19 | 19 | // Check for any shortcode overrides. |
20 | 20 | if ( null !== $shortcode_args && isset( $shortcode_args['include'] ) ) { |
21 | - $connected_meals = array( get_the_ID() ); |
|
21 | + $connected_meals = array( get_the_ID() ); |
|
22 | 22 | } |
23 | 23 | ?> |
24 | 24 | |
@@ -26,144 +26,144 @@ discard block |
||
26 | 26 | |
27 | 27 | <?php |
28 | 28 | |
29 | - // Looking for meals. |
|
30 | - if ( empty( $connected_meals ) ) { |
|
31 | - $connected_meals = get_post_meta( get_the_ID(), 'connected_meals', true ); |
|
32 | - |
|
33 | - if ( empty( $connected_meals ) ) { |
|
34 | - $options = \lsx_health_plan\functions\get_option( 'all' ); |
|
35 | - if ( isset( $options['connected_meals'] ) && '' !== $options['connected_meals'] && ! empty( $options['connected_meals'] ) ) { |
|
36 | - $connected_meals = $options['connected_meals']; |
|
37 | - if ( ! array( $connected_meals ) ) { |
|
38 | - $connected_meals = array( $connected_meals ); |
|
39 | - } |
|
40 | - } |
|
41 | - } |
|
42 | - } |
|
43 | - |
|
44 | - // This is for the meal single template. |
|
45 | - if ( is_single() && is_singular( 'meal' ) ) { |
|
46 | - $connected_meals = array( get_the_ID() ); |
|
47 | - } |
|
48 | - |
|
49 | - // The top part |
|
50 | - echo wp_kses_post( wp_kses_post( lsx_health_plan_meal_main_content() ) ); |
|
51 | - |
|
52 | - if ( false !== $connected_meals && '' !== $connected_meals && ! empty( $connected_meals ) ) { |
|
53 | - |
|
54 | - $args = array( |
|
55 | - 'orderby' => 'date', |
|
56 | - 'order' => 'DESC', |
|
57 | - 'post_type' => 'meal', |
|
58 | - 'post__in' => $connected_meals, |
|
59 | - ); |
|
60 | - $meals = new WP_Query( $args ); |
|
61 | - if ( $meals->have_posts() ) { |
|
62 | - while ( $meals->have_posts() ) { |
|
63 | - $meals->the_post(); |
|
64 | - $meal_id = get_the_ID(); |
|
29 | + // Looking for meals. |
|
30 | + if ( empty( $connected_meals ) ) { |
|
31 | + $connected_meals = get_post_meta( get_the_ID(), 'connected_meals', true ); |
|
32 | + |
|
33 | + if ( empty( $connected_meals ) ) { |
|
34 | + $options = \lsx_health_plan\functions\get_option( 'all' ); |
|
35 | + if ( isset( $options['connected_meals'] ) && '' !== $options['connected_meals'] && ! empty( $options['connected_meals'] ) ) { |
|
36 | + $connected_meals = $options['connected_meals']; |
|
37 | + if ( ! array( $connected_meals ) ) { |
|
38 | + $connected_meals = array( $connected_meals ); |
|
39 | + } |
|
40 | + } |
|
41 | + } |
|
42 | + } |
|
43 | + |
|
44 | + // This is for the meal single template. |
|
45 | + if ( is_single() && is_singular( 'meal' ) ) { |
|
46 | + $connected_meals = array( get_the_ID() ); |
|
47 | + } |
|
48 | + |
|
49 | + // The top part |
|
50 | + echo wp_kses_post( wp_kses_post( lsx_health_plan_meal_main_content() ) ); |
|
51 | + |
|
52 | + if ( false !== $connected_meals && '' !== $connected_meals && ! empty( $connected_meals ) ) { |
|
53 | + |
|
54 | + $args = array( |
|
55 | + 'orderby' => 'date', |
|
56 | + 'order' => 'DESC', |
|
57 | + 'post_type' => 'meal', |
|
58 | + 'post__in' => $connected_meals, |
|
59 | + ); |
|
60 | + $meals = new WP_Query( $args ); |
|
61 | + if ( $meals->have_posts() ) { |
|
62 | + while ( $meals->have_posts() ) { |
|
63 | + $meals->the_post(); |
|
64 | + $meal_id = get_the_ID(); |
|
65 | 65 | |
66 | 66 | |
67 | - // Breakfast. |
|
68 | - $pre_breakfast_snack = get_post_meta( get_the_ID(), 'meal_pre_breakfast_snack', true ); |
|
69 | - $breakfast = get_post_meta( get_the_ID(), 'meal_breakfast', true ); |
|
70 | - $post_breakfast_snack = get_post_meta( get_the_ID(), 'meal_breakfast_snack', true ); |
|
67 | + // Breakfast. |
|
68 | + $pre_breakfast_snack = get_post_meta( get_the_ID(), 'meal_pre_breakfast_snack', true ); |
|
69 | + $breakfast = get_post_meta( get_the_ID(), 'meal_breakfast', true ); |
|
70 | + $post_breakfast_snack = get_post_meta( get_the_ID(), 'meal_breakfast_snack', true ); |
|
71 | 71 | |
72 | - // Lunch. |
|
73 | - $pre_lunch_snack = get_post_meta( get_the_ID(), 'meal_pre_lunch_snack', true ); |
|
74 | - $lunch = get_post_meta( get_the_ID(), 'meal_lunch', true ); |
|
75 | - $post_lunch_snack = get_post_meta( get_the_ID(), 'meal_lunch_snack', true ); |
|
72 | + // Lunch. |
|
73 | + $pre_lunch_snack = get_post_meta( get_the_ID(), 'meal_pre_lunch_snack', true ); |
|
74 | + $lunch = get_post_meta( get_the_ID(), 'meal_lunch', true ); |
|
75 | + $post_lunch_snack = get_post_meta( get_the_ID(), 'meal_lunch_snack', true ); |
|
76 | 76 | |
77 | - // Dinner. |
|
78 | - $pre_dinner_snack = get_post_meta( get_the_ID(), 'meal_pre_dinner_snack', true ); |
|
79 | - $dinner = get_post_meta( get_the_ID(), 'meal_dinner', true ); |
|
80 | - $post_dinner_snack = get_post_meta( get_the_ID(), 'meal_dinner_snack', true ); |
|
77 | + // Dinner. |
|
78 | + $pre_dinner_snack = get_post_meta( get_the_ID(), 'meal_pre_dinner_snack', true ); |
|
79 | + $dinner = get_post_meta( get_the_ID(), 'meal_dinner', true ); |
|
80 | + $post_dinner_snack = get_post_meta( get_the_ID(), 'meal_dinner_snack', true ); |
|
81 | 81 | |
82 | - //Main Meals Title |
|
83 | - //echo '<h3 class="meals-section-title">' . esc_html__( 'Meal Plan', 'lsx-health-plan' ) . '</h3>'; |
|
84 | - ?> |
|
82 | + //Main Meals Title |
|
83 | + //echo '<h3 class="meals-section-title">' . esc_html__( 'Meal Plan', 'lsx-health-plan' ) . '</h3>'; |
|
84 | + ?> |
|
85 | 85 | <div class="row eating-row"> |
86 | 86 | <div class="col-md-4 eating-column"> |
87 | 87 | <?php |
88 | - if ( ! empty( $pre_breakfast_snack ) ) { |
|
89 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
90 | - echo wp_kses_post( apply_filters( 'the_content', $pre_breakfast_snack ) ); |
|
91 | - echo '</div>'; |
|
92 | - } |
|
93 | - if ( ! empty( $breakfast ) ) { |
|
94 | - echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Breakfast', 'lsx-health-plan' ) . '</h3>'; |
|
95 | - echo wp_kses_post( apply_filters( 'the_content', $breakfast ) ); |
|
96 | - echo '</div>'; |
|
97 | - } |
|
98 | - if ( ! empty( $post_breakfast_snack ) ) { |
|
99 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
100 | - echo wp_kses_post( apply_filters( 'the_content', $post_breakfast_snack ) ); |
|
101 | - echo '</div>'; |
|
102 | - } |
|
103 | - |
|
104 | - $args = array( |
|
105 | - 'meal_id' => $meal_id, |
|
106 | - 'meal_time' => 'breakfast', |
|
107 | - ); |
|
108 | - lsx_hp_meal_plan_recipes( $args ); |
|
109 | - ?> |
|
88 | + if ( ! empty( $pre_breakfast_snack ) ) { |
|
89 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
90 | + echo wp_kses_post( apply_filters( 'the_content', $pre_breakfast_snack ) ); |
|
91 | + echo '</div>'; |
|
92 | + } |
|
93 | + if ( ! empty( $breakfast ) ) { |
|
94 | + echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Breakfast', 'lsx-health-plan' ) . '</h3>'; |
|
95 | + echo wp_kses_post( apply_filters( 'the_content', $breakfast ) ); |
|
96 | + echo '</div>'; |
|
97 | + } |
|
98 | + if ( ! empty( $post_breakfast_snack ) ) { |
|
99 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
100 | + echo wp_kses_post( apply_filters( 'the_content', $post_breakfast_snack ) ); |
|
101 | + echo '</div>'; |
|
102 | + } |
|
103 | + |
|
104 | + $args = array( |
|
105 | + 'meal_id' => $meal_id, |
|
106 | + 'meal_time' => 'breakfast', |
|
107 | + ); |
|
108 | + lsx_hp_meal_plan_recipes( $args ); |
|
109 | + ?> |
|
110 | 110 | </div> |
111 | 111 | <div class="col-md-4 eating-column"> |
112 | 112 | <?php |
113 | - if ( ! empty( $pre_lunch_snack ) ) { |
|
114 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
115 | - echo wp_kses_post( apply_filters( 'the_content', $pre_lunch_snack ) ); |
|
116 | - echo '</div>'; |
|
117 | - } |
|
118 | - if ( ! empty( $lunch ) ) { |
|
119 | - echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Lunch', 'lsx-health-plan' ) . '</h3>'; |
|
120 | - echo wp_kses_post( apply_filters( 'the_content', $lunch ) ); |
|
121 | - echo '</div>'; |
|
122 | - } |
|
123 | - if ( ! empty( $post_lunch_snack ) ) { |
|
124 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
125 | - echo wp_kses_post( apply_filters( 'the_content', $post_lunch_snack ) ); |
|
126 | - echo '</div>'; |
|
127 | - } |
|
128 | - |
|
129 | - $args = array( |
|
130 | - 'meal_id' => $meal_id, |
|
131 | - 'meal_time' => 'lunch', |
|
132 | - ); |
|
133 | - lsx_hp_meal_plan_recipes( $args ); |
|
134 | - ?> |
|
113 | + if ( ! empty( $pre_lunch_snack ) ) { |
|
114 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
115 | + echo wp_kses_post( apply_filters( 'the_content', $pre_lunch_snack ) ); |
|
116 | + echo '</div>'; |
|
117 | + } |
|
118 | + if ( ! empty( $lunch ) ) { |
|
119 | + echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Lunch', 'lsx-health-plan' ) . '</h3>'; |
|
120 | + echo wp_kses_post( apply_filters( 'the_content', $lunch ) ); |
|
121 | + echo '</div>'; |
|
122 | + } |
|
123 | + if ( ! empty( $post_lunch_snack ) ) { |
|
124 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
125 | + echo wp_kses_post( apply_filters( 'the_content', $post_lunch_snack ) ); |
|
126 | + echo '</div>'; |
|
127 | + } |
|
128 | + |
|
129 | + $args = array( |
|
130 | + 'meal_id' => $meal_id, |
|
131 | + 'meal_time' => 'lunch', |
|
132 | + ); |
|
133 | + lsx_hp_meal_plan_recipes( $args ); |
|
134 | + ?> |
|
135 | 135 | </div> |
136 | 136 | <div class="col-md-4 eating-column"> |
137 | 137 | <?php |
138 | - if ( ! empty( $pre_dinner_snack ) ) { |
|
139 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
140 | - echo wp_kses_post( apply_filters( 'the_content', $pre_dinner_snack ) ); |
|
141 | - echo '</div>'; |
|
142 | - } |
|
143 | - if ( ! empty( $dinner ) ) { |
|
144 | - echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Dinner', 'lsx-health-plan' ) . '</h3>'; |
|
145 | - echo wp_kses_post( apply_filters( 'the_content', $dinner ) ); |
|
146 | - echo '</div>'; |
|
147 | - } |
|
148 | - if ( ! empty( $post_dinner_snack ) ) { |
|
149 | - echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
150 | - echo wp_kses_post( apply_filters( 'the_content', $post_dinner_snack ) ); |
|
151 | - echo '</div>'; |
|
152 | - } |
|
153 | - |
|
154 | - $args = array( |
|
155 | - 'meal_id' => $meal_id, |
|
156 | - 'meal_time' => 'dinner', |
|
157 | - ); |
|
158 | - lsx_hp_meal_plan_recipes( $args ); |
|
159 | - ?> |
|
138 | + if ( ! empty( $pre_dinner_snack ) ) { |
|
139 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
140 | + echo wp_kses_post( apply_filters( 'the_content', $pre_dinner_snack ) ); |
|
141 | + echo '</div>'; |
|
142 | + } |
|
143 | + if ( ! empty( $dinner ) ) { |
|
144 | + echo '<div class="content-box"><h3 class="eating-title">' . esc_html__( 'Dinner', 'lsx-health-plan' ) . '</h3>'; |
|
145 | + echo wp_kses_post( apply_filters( 'the_content', $dinner ) ); |
|
146 | + echo '</div>'; |
|
147 | + } |
|
148 | + if ( ! empty( $post_dinner_snack ) ) { |
|
149 | + echo '<div class="content-box"><h3 class="eating-title snack-title">' . esc_html__( 'Snack', 'lsx-health-plan' ) . '</h3>'; |
|
150 | + echo wp_kses_post( apply_filters( 'the_content', $post_dinner_snack ) ); |
|
151 | + echo '</div>'; |
|
152 | + } |
|
153 | + |
|
154 | + $args = array( |
|
155 | + 'meal_id' => $meal_id, |
|
156 | + 'meal_time' => 'dinner', |
|
157 | + ); |
|
158 | + lsx_hp_meal_plan_recipes( $args ); |
|
159 | + ?> |
|
160 | 160 | </div> |
161 | 161 | </div> |
162 | 162 | <?php |
163 | - } |
|
164 | - } |
|
165 | - } |
|
166 | - ?> |
|
163 | + } |
|
164 | + } |
|
165 | + } |
|
166 | + ?> |
|
167 | 167 | <?php wp_reset_postdata(); ?> |
168 | 168 | </div> |
169 | 169 | <?php |
@@ -22,17 +22,17 @@ discard block |
||
22 | 22 | <?php } ?> |
23 | 23 | <a href="<?php echo esc_url( get_permalink() ); ?>"> |
24 | 24 | <?php |
25 | - $featured_image = get_the_post_thumbnail(); |
|
26 | - if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
27 | - the_post_thumbnail( 'lsx-thumbnail-square', array( |
|
28 | - 'class' => 'aligncenter', |
|
29 | - ) ); |
|
30 | - } else { |
|
31 | - ?> |
|
25 | + $featured_image = get_the_post_thumbnail(); |
|
26 | + if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
27 | + the_post_thumbnail( 'lsx-thumbnail-square', array( |
|
28 | + 'class' => 'aligncenter', |
|
29 | + ) ); |
|
30 | + } else { |
|
31 | + ?> |
|
32 | 32 | <img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>"> |
33 | 33 | <?php |
34 | - } |
|
35 | - ?> |
|
34 | + } |
|
35 | + ?> |
|
36 | 36 | </a> |
37 | 37 | </div> |
38 | 38 | <div class="content-box meal-content-box white-bg"> |
@@ -40,14 +40,14 @@ discard block |
||
40 | 40 | <?php the_title( '<h3 class="meal-title">', '</h3>' ); ?> |
41 | 41 | </a> |
42 | 42 | <?php |
43 | - if ( ! has_excerpt() ) { |
|
44 | - $content = wp_trim_words( get_the_content(), 20 ); |
|
45 | - $content = '<p>' . $content . '</p>'; |
|
46 | - } else { |
|
47 | - $content = apply_filters( 'the_excerpt', get_the_excerpt() ); |
|
48 | - } |
|
49 | - echo wp_kses_post( $content ); |
|
50 | - ?> |
|
43 | + if ( ! has_excerpt() ) { |
|
44 | + $content = wp_trim_words( get_the_content(), 20 ); |
|
45 | + $content = '<p>' . $content . '</p>'; |
|
46 | + } else { |
|
47 | + $content = apply_filters( 'the_excerpt', get_the_excerpt() ); |
|
48 | + } |
|
49 | + echo wp_kses_post( $content ); |
|
50 | + ?> |
|
51 | 51 | <a href="<?php echo esc_url( get_permalink() ); ?>" class="btn border-btn"><?php esc_html_e( 'See meal', 'lsx-health-plan' ); ?></a> |
52 | 52 | </div> |
53 | 53 | <?php lsx_entry_bottom(); ?> |
@@ -14,152 +14,152 @@ |
||
14 | 14 | */ |
15 | 15 | class Tip { |
16 | 16 | |
17 | - /** |
|
18 | - * Holds class instance |
|
19 | - * |
|
20 | - * @since 1.0.0 |
|
21 | - * |
|
22 | - * @var object \lsx_health_plan\classes\Tip() |
|
23 | - */ |
|
24 | - protected static $instance = null; |
|
17 | + /** |
|
18 | + * Holds class instance |
|
19 | + * |
|
20 | + * @since 1.0.0 |
|
21 | + * |
|
22 | + * @var object \lsx_health_plan\classes\Tip() |
|
23 | + */ |
|
24 | + protected static $instance = null; |
|
25 | 25 | |
26 | - /** |
|
27 | - * Holds post_type slug used as an index |
|
28 | - * |
|
29 | - * @since 1.0.0 |
|
30 | - * |
|
31 | - * @var string |
|
32 | - */ |
|
33 | - public $slug = 'tip'; |
|
26 | + /** |
|
27 | + * Holds post_type slug used as an index |
|
28 | + * |
|
29 | + * @since 1.0.0 |
|
30 | + * |
|
31 | + * @var string |
|
32 | + */ |
|
33 | + public $slug = 'tip'; |
|
34 | 34 | |
35 | - /** |
|
36 | - * Constructor |
|
37 | - */ |
|
38 | - public function __construct() { |
|
39 | - $this->default_types = array( |
|
40 | - \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ), |
|
41 | - \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ), |
|
42 | - \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ), |
|
43 | - \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ), |
|
44 | - \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ), |
|
45 | - ); |
|
46 | - add_action( 'init', array( $this, 'register_post_type' ) ); |
|
47 | - add_action( 'admin_menu', array( $this, 'register_menus' ) ); |
|
48 | - add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 ); |
|
49 | - add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 ); |
|
50 | - } |
|
35 | + /** |
|
36 | + * Constructor |
|
37 | + */ |
|
38 | + public function __construct() { |
|
39 | + $this->default_types = array( |
|
40 | + \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ), |
|
41 | + \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ), |
|
42 | + \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ), |
|
43 | + \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ), |
|
44 | + \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ), |
|
45 | + ); |
|
46 | + add_action( 'init', array( $this, 'register_post_type' ) ); |
|
47 | + add_action( 'admin_menu', array( $this, 'register_menus' ) ); |
|
48 | + add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 ); |
|
49 | + add_action( 'cmb2_admin_init', array( $this, 'tips_connections' ), 15 ); |
|
50 | + } |
|
51 | 51 | |
52 | - /** |
|
53 | - * Return an instance of this class. |
|
54 | - * |
|
55 | - * @since 1.0.0 |
|
56 | - * |
|
57 | - * @return object \lsx_health_plan\classes\Tip() A single instance of this class. |
|
58 | - */ |
|
59 | - public static function get_instance() { |
|
60 | - // If the single instance hasn't been set, set it now. |
|
61 | - if ( null === self::$instance ) { |
|
62 | - self::$instance = new self(); |
|
63 | - } |
|
64 | - return self::$instance; |
|
65 | - } |
|
66 | - /** |
|
67 | - * Register the post type. |
|
68 | - */ |
|
69 | - public function register_post_type() { |
|
70 | - $labels = array( |
|
71 | - 'name' => esc_html__( 'Tips', 'lsx-health-plan' ), |
|
72 | - 'singular_name' => esc_html__( 'Tip', 'lsx-health-plan' ), |
|
73 | - 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
74 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
75 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
76 | - 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
77 | - 'all_items' => esc_html__( 'All Tips', 'lsx-health-plan' ), |
|
78 | - 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
79 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
80 | - 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
81 | - 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
82 | - 'parent_item_colon' => '', |
|
83 | - 'menu_name' => esc_html__( 'Tips', 'lsx-health-plan' ), |
|
84 | - ); |
|
85 | - $args = array( |
|
86 | - 'labels' => $labels, |
|
87 | - 'public' => true, |
|
88 | - 'publicly_queryable' => false, |
|
89 | - 'show_ui' => true, |
|
90 | - 'show_in_menu' => false, |
|
91 | - 'show_in_rest' => true, |
|
92 | - 'menu_icon' => 'dashicons-admin-post', |
|
93 | - 'query_var' => true, |
|
94 | - 'rewrite' => false, |
|
95 | - 'capability_type' => 'post', |
|
96 | - 'has_archive' => false, |
|
97 | - 'hierarchical' => false, |
|
98 | - 'menu_position' => null, |
|
99 | - 'supports' => array( |
|
100 | - 'title', |
|
101 | - 'editor', |
|
102 | - 'thumbnail', |
|
103 | - 'custom-fields', |
|
104 | - ), |
|
105 | - ); |
|
106 | - register_post_type( 'tip', $args ); |
|
107 | - } |
|
52 | + /** |
|
53 | + * Return an instance of this class. |
|
54 | + * |
|
55 | + * @since 1.0.0 |
|
56 | + * |
|
57 | + * @return object \lsx_health_plan\classes\Tip() A single instance of this class. |
|
58 | + */ |
|
59 | + public static function get_instance() { |
|
60 | + // If the single instance hasn't been set, set it now. |
|
61 | + if ( null === self::$instance ) { |
|
62 | + self::$instance = new self(); |
|
63 | + } |
|
64 | + return self::$instance; |
|
65 | + } |
|
66 | + /** |
|
67 | + * Register the post type. |
|
68 | + */ |
|
69 | + public function register_post_type() { |
|
70 | + $labels = array( |
|
71 | + 'name' => esc_html__( 'Tips', 'lsx-health-plan' ), |
|
72 | + 'singular_name' => esc_html__( 'Tip', 'lsx-health-plan' ), |
|
73 | + 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
74 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
75 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
76 | + 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
77 | + 'all_items' => esc_html__( 'All Tips', 'lsx-health-plan' ), |
|
78 | + 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
79 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
80 | + 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
81 | + 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
82 | + 'parent_item_colon' => '', |
|
83 | + 'menu_name' => esc_html__( 'Tips', 'lsx-health-plan' ), |
|
84 | + ); |
|
85 | + $args = array( |
|
86 | + 'labels' => $labels, |
|
87 | + 'public' => true, |
|
88 | + 'publicly_queryable' => false, |
|
89 | + 'show_ui' => true, |
|
90 | + 'show_in_menu' => false, |
|
91 | + 'show_in_rest' => true, |
|
92 | + 'menu_icon' => 'dashicons-admin-post', |
|
93 | + 'query_var' => true, |
|
94 | + 'rewrite' => false, |
|
95 | + 'capability_type' => 'post', |
|
96 | + 'has_archive' => false, |
|
97 | + 'hierarchical' => false, |
|
98 | + 'menu_position' => null, |
|
99 | + 'supports' => array( |
|
100 | + 'title', |
|
101 | + 'editor', |
|
102 | + 'thumbnail', |
|
103 | + 'custom-fields', |
|
104 | + ), |
|
105 | + ); |
|
106 | + register_post_type( 'tip', $args ); |
|
107 | + } |
|
108 | 108 | |
109 | - /** |
|
110 | - * Registers the Recipes under the Meals Post type menu. |
|
111 | - * |
|
112 | - * @return void |
|
113 | - */ |
|
114 | - public function register_menus() { |
|
115 | - add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' ); |
|
116 | - } |
|
109 | + /** |
|
110 | + * Registers the Recipes under the Meals Post type menu. |
|
111 | + * |
|
112 | + * @return void |
|
113 | + */ |
|
114 | + public function register_menus() { |
|
115 | + add_submenu_page( 'edit.php?post_type=plan', esc_html__( 'Tips', 'lsx-health-plan' ), esc_html__( 'Tips', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=tip' ); |
|
116 | + } |
|
117 | 117 | |
118 | - /** |
|
119 | - * Enables the Bi Directional relationships |
|
120 | - * |
|
121 | - * @param array $connections |
|
122 | - * @return void |
|
123 | - */ |
|
124 | - public function enable_connections( $connections = array() ) { |
|
125 | - $connections['tip']['connected_plans'] = 'plan_connected_tips'; |
|
126 | - $connections['plan']['plan_connected_tips'] = 'connected_plans'; |
|
127 | - return $connections; |
|
128 | - } |
|
118 | + /** |
|
119 | + * Enables the Bi Directional relationships |
|
120 | + * |
|
121 | + * @param array $connections |
|
122 | + * @return void |
|
123 | + */ |
|
124 | + public function enable_connections( $connections = array() ) { |
|
125 | + $connections['tip']['connected_plans'] = 'plan_connected_tips'; |
|
126 | + $connections['plan']['plan_connected_tips'] = 'connected_plans'; |
|
127 | + return $connections; |
|
128 | + } |
|
129 | 129 | |
130 | - /** |
|
131 | - * Registers the workout connections on the plan post type. |
|
132 | - * |
|
133 | - * @return void |
|
134 | - */ |
|
135 | - public function tips_connections() { |
|
136 | - foreach ( $this->default_types as $type => $default_type ) { |
|
137 | - $cmb = new_cmb2_box( |
|
138 | - array( |
|
139 | - 'id' => $default_type . '_tips_connections_metabox', |
|
140 | - 'title' => __( 'Related Tips', 'lsx-health-plan' ), |
|
141 | - 'object_types' => array( $default_type ), // Post types. |
|
142 | - 'context' => 'normal', |
|
143 | - 'priority' => 'high', |
|
144 | - 'show_names' => false, |
|
145 | - ) |
|
146 | - ); |
|
147 | - $cmb->add_field( |
|
148 | - array( |
|
149 | - 'name' => __( 'Tips', 'lsx-health-plan' ), |
|
150 | - 'id' => $default_type . '_connected_tips', |
|
151 | - 'desc' => __( 'Connect the tips that apply to this ', 'lsx-health-plan' ) . $default_type, |
|
152 | - 'type' => 'post_search_ajax', |
|
153 | - 'limit' => 15, |
|
154 | - 'sortable' => true, |
|
155 | - 'query_args' => array( |
|
156 | - 'post_type' => array( 'tip' ), |
|
157 | - 'post_status' => array( 'publish' ), |
|
158 | - 'posts_per_page' => -1, |
|
159 | - ), |
|
160 | - ) |
|
161 | - ); |
|
162 | - } |
|
163 | - } |
|
130 | + /** |
|
131 | + * Registers the workout connections on the plan post type. |
|
132 | + * |
|
133 | + * @return void |
|
134 | + */ |
|
135 | + public function tips_connections() { |
|
136 | + foreach ( $this->default_types as $type => $default_type ) { |
|
137 | + $cmb = new_cmb2_box( |
|
138 | + array( |
|
139 | + 'id' => $default_type . '_tips_connections_metabox', |
|
140 | + 'title' => __( 'Related Tips', 'lsx-health-plan' ), |
|
141 | + 'object_types' => array( $default_type ), // Post types. |
|
142 | + 'context' => 'normal', |
|
143 | + 'priority' => 'high', |
|
144 | + 'show_names' => false, |
|
145 | + ) |
|
146 | + ); |
|
147 | + $cmb->add_field( |
|
148 | + array( |
|
149 | + 'name' => __( 'Tips', 'lsx-health-plan' ), |
|
150 | + 'id' => $default_type . '_connected_tips', |
|
151 | + 'desc' => __( 'Connect the tips that apply to this ', 'lsx-health-plan' ) . $default_type, |
|
152 | + 'type' => 'post_search_ajax', |
|
153 | + 'limit' => 15, |
|
154 | + 'sortable' => true, |
|
155 | + 'query_args' => array( |
|
156 | + 'post_type' => array( 'tip' ), |
|
157 | + 'post_status' => array( 'publish' ), |
|
158 | + 'posts_per_page' => -1, |
|
159 | + ), |
|
160 | + ) |
|
161 | + ); |
|
162 | + } |
|
163 | + } |
|
164 | 164 | |
165 | 165 | } |
@@ -1,19 +1,19 @@ |
||
1 | 1 | <?php |
2 | - $lsx_hp_documentation = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/getting-started/' ); |
|
3 | - $lsx_hp_settings = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/installation/' ); |
|
4 | - $lsx_hp_features = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/' ); |
|
5 | - $version = esc_html( LSX_HEALTH_PLAN_VER ); |
|
2 | + $lsx_hp_documentation = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/getting-started/' ); |
|
3 | + $lsx_hp_settings = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/installation/' ); |
|
4 | + $lsx_hp_features = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/' ); |
|
5 | + $version = esc_html( LSX_HEALTH_PLAN_VER ); |
|
6 | 6 | |
7 | - //Product Urls |
|
8 | - $health_plan_link = esc_url( 'https://wordpress.org/plugins/lsx-health-plan/' ); |
|
9 | - $lsx_hp_plans = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/plans/' ); |
|
10 | - $lsx_hp_weeks = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/plans/#week' ); |
|
11 | - $lsx_hp_tips = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/tips/' ); |
|
12 | - $lsx_hp_workouts = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/workouts/' ); |
|
13 | - $lsx_hp_exercises = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/exercises/' ); |
|
14 | - $lsx_hp_meals = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/meals/' ); |
|
15 | - $lsx_hp_recipes = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/recipes/' ); |
|
16 | - $lsx_hp_shortcodes = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/shortcodes/' ); |
|
7 | + //Product Urls |
|
8 | + $health_plan_link = esc_url( 'https://wordpress.org/plugins/lsx-health-plan/' ); |
|
9 | + $lsx_hp_plans = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/plans/' ); |
|
10 | + $lsx_hp_weeks = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/plans/#week' ); |
|
11 | + $lsx_hp_tips = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/tips/' ); |
|
12 | + $lsx_hp_workouts = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/workouts/' ); |
|
13 | + $lsx_hp_exercises = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/exercises/' ); |
|
14 | + $lsx_hp_meals = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/meals/' ); |
|
15 | + $lsx_hp_recipes = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/recipes/' ); |
|
16 | + $lsx_hp_shortcodes = esc_url( 'https://www.lsdev.biz/lsx/documentation/lsx-health/shortcodes/' ); |
|
17 | 17 | |
18 | 18 | ?> |
19 | 19 |
@@ -12,134 +12,134 @@ |
||
12 | 12 | */ |
13 | 13 | class Help_Page { |
14 | 14 | |
15 | - /** |
|
16 | - * Holds class instance |
|
17 | - * |
|
18 | - * @since 1.0.0 |
|
19 | - * |
|
20 | - * @var object \lsx_health_plan\classes\admin\Help_Page() |
|
21 | - */ |
|
22 | - protected static $instance = null; |
|
23 | - |
|
24 | - /** |
|
25 | - * Option key, and option page slug |
|
26 | - * |
|
27 | - * @var string |
|
28 | - */ |
|
29 | - protected $screen_id = 'lsx_hp_help'; |
|
30 | - |
|
31 | - /** |
|
32 | - * Constructor |
|
33 | - */ |
|
34 | - public function __construct() { |
|
35 | - add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) ); |
|
36 | - add_action( 'admin_menu', array( $this, 'register_menu' ) ); |
|
37 | - add_action( 'lsx_hp_help', array( $this, 'header' ), 10 ); |
|
38 | - add_action( 'lsx_hp_help', array( $this, 'body' ), 20 ); |
|
39 | - add_action( 'lsx_hp_help', array( $this, 'footer' ), 30 ); |
|
40 | - } |
|
41 | - |
|
42 | - /** |
|
43 | - * Return an instance of this class. |
|
44 | - * |
|
45 | - * @since 1.0.0 |
|
46 | - * |
|
47 | - * @return object \lsx_health_plan\classes\admin\Help_Page() A single instance of this class. |
|
48 | - */ |
|
49 | - public static function get_instance() { |
|
50 | - // If the single instance hasn't been set, set it now. |
|
51 | - if ( null === self::$instance ) { |
|
52 | - self::$instance = new self(); |
|
53 | - } |
|
54 | - return self::$instance; |
|
55 | - } |
|
56 | - |
|
57 | - |
|
58 | - |
|
59 | - /** |
|
60 | - * Load hp_help screen css. |
|
61 | - * |
|
62 | - * @package lsx |
|
63 | - * @subpackage hp-help-page |
|
64 | - * |
|
65 | - * @param string $hook_suffix the current page hook suffix. |
|
66 | - */ |
|
67 | - public function assets( $hook_suffix ) { |
|
68 | - if ( 'plan_page_help' === $hook_suffix ) { |
|
69 | - wp_enqueue_style( 'lsx-hp-help-screen', LSX_HEALTH_PLAN_URL . 'assets/css/help.css', array(), LSX_HEALTH_PLAN_VER ); |
|
70 | - wp_style_add_data( 'lsx-hp-help-screen', 'rtl', 'replace' ); |
|
71 | - } |
|
72 | - } |
|
73 | - |
|
74 | - /** |
|
75 | - * Creates the dashboard page. |
|
76 | - * |
|
77 | - * @package lsx |
|
78 | - * @subpackage hp-help-page |
|
79 | - */ |
|
80 | - public function register_menu() { |
|
81 | - add_submenu_page( 'edit.php?post_type=plan', __( 'Help', 'lsx-health-plan' ), __( 'Help', 'lsx-health-plan' ), 'manage_options', 'help', array( $this, 'screen' ) ); |
|
82 | - } |
|
83 | - |
|
84 | - |
|
85 | - /** |
|
86 | - * The help screen. |
|
87 | - * |
|
88 | - * @package lsx |
|
89 | - * @subpackage hp-help-page |
|
90 | - */ |
|
91 | - public function screen() { |
|
92 | - require_once ABSPATH . 'wp-load.php'; |
|
93 | - require_once ABSPATH . 'wp-admin/admin.php'; |
|
94 | - require_once ABSPATH . 'wp-admin/admin-header.php'; |
|
95 | - ?> |
|
15 | + /** |
|
16 | + * Holds class instance |
|
17 | + * |
|
18 | + * @since 1.0.0 |
|
19 | + * |
|
20 | + * @var object \lsx_health_plan\classes\admin\Help_Page() |
|
21 | + */ |
|
22 | + protected static $instance = null; |
|
23 | + |
|
24 | + /** |
|
25 | + * Option key, and option page slug |
|
26 | + * |
|
27 | + * @var string |
|
28 | + */ |
|
29 | + protected $screen_id = 'lsx_hp_help'; |
|
30 | + |
|
31 | + /** |
|
32 | + * Constructor |
|
33 | + */ |
|
34 | + public function __construct() { |
|
35 | + add_action( 'admin_enqueue_scripts', array( $this, 'assets' ) ); |
|
36 | + add_action( 'admin_menu', array( $this, 'register_menu' ) ); |
|
37 | + add_action( 'lsx_hp_help', array( $this, 'header' ), 10 ); |
|
38 | + add_action( 'lsx_hp_help', array( $this, 'body' ), 20 ); |
|
39 | + add_action( 'lsx_hp_help', array( $this, 'footer' ), 30 ); |
|
40 | + } |
|
41 | + |
|
42 | + /** |
|
43 | + * Return an instance of this class. |
|
44 | + * |
|
45 | + * @since 1.0.0 |
|
46 | + * |
|
47 | + * @return object \lsx_health_plan\classes\admin\Help_Page() A single instance of this class. |
|
48 | + */ |
|
49 | + public static function get_instance() { |
|
50 | + // If the single instance hasn't been set, set it now. |
|
51 | + if ( null === self::$instance ) { |
|
52 | + self::$instance = new self(); |
|
53 | + } |
|
54 | + return self::$instance; |
|
55 | + } |
|
56 | + |
|
57 | + |
|
58 | + |
|
59 | + /** |
|
60 | + * Load hp_help screen css. |
|
61 | + * |
|
62 | + * @package lsx |
|
63 | + * @subpackage hp-help-page |
|
64 | + * |
|
65 | + * @param string $hook_suffix the current page hook suffix. |
|
66 | + */ |
|
67 | + public function assets( $hook_suffix ) { |
|
68 | + if ( 'plan_page_help' === $hook_suffix ) { |
|
69 | + wp_enqueue_style( 'lsx-hp-help-screen', LSX_HEALTH_PLAN_URL . 'assets/css/help.css', array(), LSX_HEALTH_PLAN_VER ); |
|
70 | + wp_style_add_data( 'lsx-hp-help-screen', 'rtl', 'replace' ); |
|
71 | + } |
|
72 | + } |
|
73 | + |
|
74 | + /** |
|
75 | + * Creates the dashboard page. |
|
76 | + * |
|
77 | + * @package lsx |
|
78 | + * @subpackage hp-help-page |
|
79 | + */ |
|
80 | + public function register_menu() { |
|
81 | + add_submenu_page( 'edit.php?post_type=plan', __( 'Help', 'lsx-health-plan' ), __( 'Help', 'lsx-health-plan' ), 'manage_options', 'help', array( $this, 'screen' ) ); |
|
82 | + } |
|
83 | + |
|
84 | + |
|
85 | + /** |
|
86 | + * The help screen. |
|
87 | + * |
|
88 | + * @package lsx |
|
89 | + * @subpackage hp-help-page |
|
90 | + */ |
|
91 | + public function screen() { |
|
92 | + require_once ABSPATH . 'wp-load.php'; |
|
93 | + require_once ABSPATH . 'wp-admin/admin.php'; |
|
94 | + require_once ABSPATH . 'wp-admin/admin-header.php'; |
|
95 | + ?> |
|
96 | 96 | <div class="wrap about-wrap"> |
97 | 97 | <?php |
98 | - /** |
|
99 | - * Functions hooked into lsx_hp_help action |
|
100 | - * |
|
101 | - * @hooked lsx_hp_help_header - 10 |
|
102 | - * @hooked lsx_hp_help_body - 20 |
|
103 | - * @hooked lsx_hp_help_footer - 30 |
|
104 | - */ |
|
105 | - do_action( 'lsx_hp_help' ); |
|
106 | - ?> |
|
98 | + /** |
|
99 | + * Functions hooked into lsx_hp_help action |
|
100 | + * |
|
101 | + * @hooked lsx_hp_help_header - 10 |
|
102 | + * @hooked lsx_hp_help_body - 20 |
|
103 | + * @hooked lsx_hp_help_footer - 30 |
|
104 | + */ |
|
105 | + do_action( 'lsx_hp_help' ); |
|
106 | + ?> |
|
107 | 107 | </div> |
108 | 108 | <?php |
109 | - } |
|
110 | - |
|
111 | - /** |
|
112 | - * Help screen intro. |
|
113 | - * |
|
114 | - * @package lsx |
|
115 | - * @subpackage hp-help-page |
|
116 | - */ |
|
117 | - public function header() { |
|
118 | - ?> |
|
109 | + } |
|
110 | + |
|
111 | + /** |
|
112 | + * Help screen intro. |
|
113 | + * |
|
114 | + * @package lsx |
|
115 | + * @subpackage hp-help-page |
|
116 | + */ |
|
117 | + public function header() { |
|
118 | + ?> |
|
119 | 119 | <div class="enrich"> |
120 | 120 | <h2><?php esc_html_e( 'LightSpeed’s LSX Health Plugin', 'lsx-health-plan' ); ?></h2> |
121 | 121 | <p><?php esc_html_e( "Thank you for using the LSX Health plugin. All of us here at LightSpeed appreciate your ongoing support and we can't wait to see what people create with the plugin. We're committed to ensuring you have all the help you need to make the most of the plugin.", 'lsx-health-plan' ); ?></p> |
122 | 122 | </div> |
123 | 123 | <?php |
124 | - } |
|
125 | - |
|
126 | - /** |
|
127 | - * Help screen body section. |
|
128 | - * |
|
129 | - * @package lsx |
|
130 | - * @subpackage hp-help-page |
|
131 | - */ |
|
132 | - public function body() { |
|
133 | - include LSX_HEALTH_PLAN_PATH . 'templates/partials/help.php'; |
|
134 | - } |
|
135 | - |
|
136 | - /** |
|
137 | - * Help screen contribute section. |
|
138 | - * |
|
139 | - * @package lsx |
|
140 | - * @subpackage hp-help-page |
|
141 | - */ |
|
142 | - public function footer() { |
|
143 | - |
|
144 | - } |
|
124 | + } |
|
125 | + |
|
126 | + /** |
|
127 | + * Help screen body section. |
|
128 | + * |
|
129 | + * @package lsx |
|
130 | + * @subpackage hp-help-page |
|
131 | + */ |
|
132 | + public function body() { |
|
133 | + include LSX_HEALTH_PLAN_PATH . 'templates/partials/help.php'; |
|
134 | + } |
|
135 | + |
|
136 | + /** |
|
137 | + * Help screen contribute section. |
|
138 | + * |
|
139 | + * @package lsx |
|
140 | + * @subpackage hp-help-page |
|
141 | + */ |
|
142 | + public function footer() { |
|
143 | + |
|
144 | + } |
|
145 | 145 | } |
@@ -8,169 +8,169 @@ |
||
8 | 8 | */ |
9 | 9 | class General { |
10 | 10 | |
11 | - /** |
|
12 | - * Holds class instance |
|
13 | - * |
|
14 | - * @since 1.0.0 |
|
15 | - * |
|
16 | - * @var object \lsx_health_plan\classes\frontend\General() |
|
17 | - */ |
|
18 | - protected static $instance = null; |
|
19 | - |
|
20 | - /** |
|
21 | - * Constructor |
|
22 | - */ |
|
23 | - public function __construct() { |
|
24 | - // Before Output. |
|
25 | - add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 5 ); |
|
26 | - add_filter( 'wp_kses_allowed_html', array( $this, 'allow_html_tags_attributes' ), 100, 2 ); |
|
27 | - |
|
28 | - // Output. |
|
29 | - add_action( 'body_class', array( $this, 'body_classes' ) ); |
|
30 | - add_filter( 'lsx_global_header_title', array( $this, 'single_title' ), 200, 1 ); |
|
31 | - add_action( 'wp_head', array( $this, 'remove_single_footer' ), 99 ); |
|
32 | - add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 9 ); |
|
33 | - } |
|
34 | - |
|
35 | - /** |
|
36 | - * Return an instance of this class. |
|
37 | - * |
|
38 | - * @since 1.0.0 |
|
39 | - * |
|
40 | - * @return object \lsx_health_plan\classes\frontend\General() A single instance of this class. |
|
41 | - */ |
|
42 | - public static function get_instance() { |
|
43 | - // If the single instance hasn't been set, set it now. |
|
44 | - if ( null === self::$instance ) { |
|
45 | - self::$instance = new self(); |
|
46 | - } |
|
47 | - return self::$instance; |
|
48 | - } |
|
49 | - |
|
50 | - /** |
|
51 | - * Registers the plugin frontend assets |
|
52 | - * |
|
53 | - * @return void |
|
54 | - */ |
|
55 | - public function assets() { |
|
56 | - |
|
57 | - if ( is_post_type_archive( 'plan' ) && false === \lsx_health_plan\functions\plan\is_filters_disabled() ) { |
|
58 | - wp_enqueue_script( 'isotope', LSX_HEALTH_PLAN_URL . 'assets/js/vendor/isotope.pkgd.min.js', array( 'jquery' ), null, LSX_HEALTH_PLAN_URL, true ); |
|
59 | - } |
|
60 | - |
|
61 | - wp_enqueue_style( 'lsx-health-plan', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan.css', array(), LSX_HEALTH_PLAN_VER ); |
|
62 | - wp_style_add_data( 'lsx-health-plan', 'rtl', 'replace' ); |
|
63 | - wp_enqueue_script( 'lsx-health-plan-scripts', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-admin.js', array( 'jquery' ) ); |
|
64 | - |
|
65 | - } |
|
66 | - |
|
67 | - /** |
|
68 | - * Adds the iframe and the progress HTML tags to the allowed WordPress list. |
|
69 | - */ |
|
70 | - public function allow_html_tags_attributes( $tags, $context ) { |
|
71 | - if ( 'post' === $context ) { |
|
72 | - $tags['iframe'] = array( |
|
73 | - 'src' => true, |
|
74 | - 'height' => true, |
|
75 | - 'width' => true, |
|
76 | - 'frameborder' => true, |
|
77 | - 'allowfullscreen' => true, |
|
78 | - ); |
|
79 | - } |
|
80 | - $tags['progress'] = array( |
|
81 | - 'id' => true, |
|
82 | - 'value' => true, |
|
83 | - 'max' => true, |
|
84 | - ); |
|
85 | - return $tags; |
|
86 | - } |
|
87 | - |
|
88 | - /** |
|
89 | - * Add body classes to body. |
|
90 | - * |
|
91 | - * @param array $classes |
|
92 | - * @return void |
|
93 | - */ |
|
94 | - public function body_classes( $classes = array() ) { |
|
95 | - global $post; |
|
96 | - |
|
97 | - if ( isset( $post->post_content ) && has_shortcode( $post->post_content, 'lsx_health_plan_my_profile_block' ) ) { |
|
98 | - $classes[] = 'my-plan-shortcode'; |
|
99 | - } |
|
100 | - |
|
101 | - if ( is_single() && is_singular( 'plan' ) ) { |
|
102 | - $args = array( |
|
103 | - 'post_parent' => get_the_ID(), |
|
104 | - 'post_type' => 'plan', |
|
105 | - ); |
|
106 | - |
|
107 | - $post_id = get_the_ID(); |
|
108 | - $has_children = get_children( $args ); |
|
109 | - $has_parent = wp_get_post_parent_id( $post_id ); |
|
110 | - |
|
111 | - if ( ! empty( $has_children ) ) { |
|
112 | - $plan_type_class = 'parent-plan-page'; |
|
113 | - if ( 0 !== $has_parent ) { |
|
114 | - $plan_type_class = 'parent-sub-plan-page'; |
|
115 | - } |
|
116 | - } else { |
|
117 | - $plan_type_class = 'unique-plan-page'; |
|
118 | - if ( 0 !== $has_parent ) { |
|
119 | - $plan_type_class = 'child-plan-page'; |
|
120 | - } |
|
121 | - } |
|
122 | - $classes[] = $plan_type_class; |
|
123 | - } |
|
124 | - return $classes; |
|
125 | - } |
|
126 | - |
|
127 | - /** |
|
128 | - * Remove the single recipe and exercise title |
|
129 | - */ |
|
130 | - public function single_title( $title ) { |
|
131 | - |
|
132 | - if ( is_single() && is_singular( 'recipe' ) ) { |
|
133 | - |
|
134 | - $title = __( 'Recipe', 'lsx-health-plan' ); |
|
135 | - } |
|
136 | - |
|
137 | - if ( is_single() && is_singular( 'exercise' ) ) { |
|
138 | - |
|
139 | - $title = __( 'Exercise', 'lsx-health-plan' ); |
|
140 | - } |
|
141 | - |
|
142 | - return $title; |
|
143 | - } |
|
144 | - |
|
145 | - /** |
|
146 | - * Removing footer for HP single pages. |
|
147 | - * |
|
148 | - * @return void |
|
149 | - */ |
|
150 | - public function remove_single_footer() { |
|
151 | - if ( ( is_single() && is_singular( array( 'exercise', 'recipe', 'workout', 'meal' ) ) ) || ( is_archive() && is_post_type_archive( array( 'exercise', 'recipe', 'workout', 'meal' ) ) )) { |
|
152 | - remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' ); |
|
153 | - } |
|
154 | - } |
|
155 | - /** |
|
156 | - * Remove the "Archives:" from the post type recipes. |
|
157 | - * |
|
158 | - * @param string $title the term title. |
|
159 | - * @return string |
|
160 | - */ |
|
161 | - public function get_the_archive_title( $title ) { |
|
162 | - if ( is_post_type_archive( 'recipe' ) ) { |
|
163 | - $title = __( 'Recipes', 'lsx-health-plan' ); |
|
164 | - } |
|
165 | - if ( is_post_type_archive( 'exercise' ) ) { |
|
166 | - $title = __( 'Exercises', 'lsx-health-plan' ); |
|
167 | - } |
|
168 | - if ( is_tax() ) { |
|
169 | - $queried_object = get_queried_object(); |
|
170 | - if ( isset( $queried_object->name ) ) { |
|
171 | - $title = $queried_object->name; |
|
172 | - } |
|
173 | - } |
|
174 | - return $title; |
|
175 | - } |
|
11 | + /** |
|
12 | + * Holds class instance |
|
13 | + * |
|
14 | + * @since 1.0.0 |
|
15 | + * |
|
16 | + * @var object \lsx_health_plan\classes\frontend\General() |
|
17 | + */ |
|
18 | + protected static $instance = null; |
|
19 | + |
|
20 | + /** |
|
21 | + * Constructor |
|
22 | + */ |
|
23 | + public function __construct() { |
|
24 | + // Before Output. |
|
25 | + add_action( 'wp_enqueue_scripts', array( $this, 'assets' ), 5 ); |
|
26 | + add_filter( 'wp_kses_allowed_html', array( $this, 'allow_html_tags_attributes' ), 100, 2 ); |
|
27 | + |
|
28 | + // Output. |
|
29 | + add_action( 'body_class', array( $this, 'body_classes' ) ); |
|
30 | + add_filter( 'lsx_global_header_title', array( $this, 'single_title' ), 200, 1 ); |
|
31 | + add_action( 'wp_head', array( $this, 'remove_single_footer' ), 99 ); |
|
32 | + add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 9 ); |
|
33 | + } |
|
34 | + |
|
35 | + /** |
|
36 | + * Return an instance of this class. |
|
37 | + * |
|
38 | + * @since 1.0.0 |
|
39 | + * |
|
40 | + * @return object \lsx_health_plan\classes\frontend\General() A single instance of this class. |
|
41 | + */ |
|
42 | + public static function get_instance() { |
|
43 | + // If the single instance hasn't been set, set it now. |
|
44 | + if ( null === self::$instance ) { |
|
45 | + self::$instance = new self(); |
|
46 | + } |
|
47 | + return self::$instance; |
|
48 | + } |
|
49 | + |
|
50 | + /** |
|
51 | + * Registers the plugin frontend assets |
|
52 | + * |
|
53 | + * @return void |
|
54 | + */ |
|
55 | + public function assets() { |
|
56 | + |
|
57 | + if ( is_post_type_archive( 'plan' ) && false === \lsx_health_plan\functions\plan\is_filters_disabled() ) { |
|
58 | + wp_enqueue_script( 'isotope', LSX_HEALTH_PLAN_URL . 'assets/js/vendor/isotope.pkgd.min.js', array( 'jquery' ), null, LSX_HEALTH_PLAN_URL, true ); |
|
59 | + } |
|
60 | + |
|
61 | + wp_enqueue_style( 'lsx-health-plan', LSX_HEALTH_PLAN_URL . 'assets/css/lsx-health-plan.css', array(), LSX_HEALTH_PLAN_VER ); |
|
62 | + wp_style_add_data( 'lsx-health-plan', 'rtl', 'replace' ); |
|
63 | + wp_enqueue_script( 'lsx-health-plan-scripts', LSX_HEALTH_PLAN_URL . 'assets/js/src/lsx-health-plan-admin.js', array( 'jquery' ) ); |
|
64 | + |
|
65 | + } |
|
66 | + |
|
67 | + /** |
|
68 | + * Adds the iframe and the progress HTML tags to the allowed WordPress list. |
|
69 | + */ |
|
70 | + public function allow_html_tags_attributes( $tags, $context ) { |
|
71 | + if ( 'post' === $context ) { |
|
72 | + $tags['iframe'] = array( |
|
73 | + 'src' => true, |
|
74 | + 'height' => true, |
|
75 | + 'width' => true, |
|
76 | + 'frameborder' => true, |
|
77 | + 'allowfullscreen' => true, |
|
78 | + ); |
|
79 | + } |
|
80 | + $tags['progress'] = array( |
|
81 | + 'id' => true, |
|
82 | + 'value' => true, |
|
83 | + 'max' => true, |
|
84 | + ); |
|
85 | + return $tags; |
|
86 | + } |
|
87 | + |
|
88 | + /** |
|
89 | + * Add body classes to body. |
|
90 | + * |
|
91 | + * @param array $classes |
|
92 | + * @return void |
|
93 | + */ |
|
94 | + public function body_classes( $classes = array() ) { |
|
95 | + global $post; |
|
96 | + |
|
97 | + if ( isset( $post->post_content ) && has_shortcode( $post->post_content, 'lsx_health_plan_my_profile_block' ) ) { |
|
98 | + $classes[] = 'my-plan-shortcode'; |
|
99 | + } |
|
100 | + |
|
101 | + if ( is_single() && is_singular( 'plan' ) ) { |
|
102 | + $args = array( |
|
103 | + 'post_parent' => get_the_ID(), |
|
104 | + 'post_type' => 'plan', |
|
105 | + ); |
|
106 | + |
|
107 | + $post_id = get_the_ID(); |
|
108 | + $has_children = get_children( $args ); |
|
109 | + $has_parent = wp_get_post_parent_id( $post_id ); |
|
110 | + |
|
111 | + if ( ! empty( $has_children ) ) { |
|
112 | + $plan_type_class = 'parent-plan-page'; |
|
113 | + if ( 0 !== $has_parent ) { |
|
114 | + $plan_type_class = 'parent-sub-plan-page'; |
|
115 | + } |
|
116 | + } else { |
|
117 | + $plan_type_class = 'unique-plan-page'; |
|
118 | + if ( 0 !== $has_parent ) { |
|
119 | + $plan_type_class = 'child-plan-page'; |
|
120 | + } |
|
121 | + } |
|
122 | + $classes[] = $plan_type_class; |
|
123 | + } |
|
124 | + return $classes; |
|
125 | + } |
|
126 | + |
|
127 | + /** |
|
128 | + * Remove the single recipe and exercise title |
|
129 | + */ |
|
130 | + public function single_title( $title ) { |
|
131 | + |
|
132 | + if ( is_single() && is_singular( 'recipe' ) ) { |
|
133 | + |
|
134 | + $title = __( 'Recipe', 'lsx-health-plan' ); |
|
135 | + } |
|
136 | + |
|
137 | + if ( is_single() && is_singular( 'exercise' ) ) { |
|
138 | + |
|
139 | + $title = __( 'Exercise', 'lsx-health-plan' ); |
|
140 | + } |
|
141 | + |
|
142 | + return $title; |
|
143 | + } |
|
144 | + |
|
145 | + /** |
|
146 | + * Removing footer for HP single pages. |
|
147 | + * |
|
148 | + * @return void |
|
149 | + */ |
|
150 | + public function remove_single_footer() { |
|
151 | + if ( ( is_single() && is_singular( array( 'exercise', 'recipe', 'workout', 'meal' ) ) ) || ( is_archive() && is_post_type_archive( array( 'exercise', 'recipe', 'workout', 'meal' ) ) )) { |
|
152 | + remove_action( 'lsx_footer_before', 'lsx_add_footer_sidebar_area' ); |
|
153 | + } |
|
154 | + } |
|
155 | + /** |
|
156 | + * Remove the "Archives:" from the post type recipes. |
|
157 | + * |
|
158 | + * @param string $title the term title. |
|
159 | + * @return string |
|
160 | + */ |
|
161 | + public function get_the_archive_title( $title ) { |
|
162 | + if ( is_post_type_archive( 'recipe' ) ) { |
|
163 | + $title = __( 'Recipes', 'lsx-health-plan' ); |
|
164 | + } |
|
165 | + if ( is_post_type_archive( 'exercise' ) ) { |
|
166 | + $title = __( 'Exercises', 'lsx-health-plan' ); |
|
167 | + } |
|
168 | + if ( is_tax() ) { |
|
169 | + $queried_object = get_queried_object(); |
|
170 | + if ( isset( $queried_object->name ) ) { |
|
171 | + $title = $queried_object->name; |
|
172 | + } |
|
173 | + } |
|
174 | + return $title; |
|
175 | + } |
|
176 | 176 | } |
@@ -8,110 +8,110 @@ |
||
8 | 8 | */ |
9 | 9 | class Checkout { |
10 | 10 | |
11 | - /** |
|
12 | - * Holds class instance |
|
13 | - * |
|
14 | - * @since 1.0.0 |
|
15 | - * |
|
16 | - * @var object \lsx_health_plan\classes\integrations\woocommerce\Checkout() |
|
17 | - */ |
|
18 | - protected static $instance = null; |
|
11 | + /** |
|
12 | + * Holds class instance |
|
13 | + * |
|
14 | + * @since 1.0.0 |
|
15 | + * |
|
16 | + * @var object \lsx_health_plan\classes\integrations\woocommerce\Checkout() |
|
17 | + */ |
|
18 | + protected static $instance = null; |
|
19 | 19 | |
20 | - /** |
|
21 | - * @var string |
|
22 | - */ |
|
23 | - public $plan_id = ''; |
|
20 | + /** |
|
21 | + * @var string |
|
22 | + */ |
|
23 | + public $plan_id = ''; |
|
24 | 24 | |
25 | - /** |
|
26 | - * Constructor |
|
27 | - */ |
|
28 | - public function __construct() { |
|
29 | - add_filter( 'woocommerce_order_button_text', array( $this, 'checkout_button_text' ), 10, 1 ); |
|
25 | + /** |
|
26 | + * Constructor |
|
27 | + */ |
|
28 | + public function __construct() { |
|
29 | + add_filter( 'woocommerce_order_button_text', array( $this, 'checkout_button_text' ), 10, 1 ); |
|
30 | 30 | |
31 | - // Cart Messages. |
|
32 | - add_action( 'lsx_content_wrap_before', array( $this, 'cart_notices' ) ); |
|
33 | - add_filter( 'wc_add_to_cart_message_html', array( $this, 'add_to_cart_message' ), 10, 3 ); |
|
34 | - } |
|
31 | + // Cart Messages. |
|
32 | + add_action( 'lsx_content_wrap_before', array( $this, 'cart_notices' ) ); |
|
33 | + add_filter( 'wc_add_to_cart_message_html', array( $this, 'add_to_cart_message' ), 10, 3 ); |
|
34 | + } |
|
35 | 35 | |
36 | - /** |
|
37 | - * Return an instance of this class. |
|
38 | - * |
|
39 | - * @since 1.0.0 |
|
40 | - * |
|
41 | - * @return object \lsx_health_plan\classes\integrations\woocommerce\Checkout() A single instance of this class. |
|
42 | - */ |
|
43 | - public static function get_instance() { |
|
44 | - // If the single instance hasn't been set, set it now. |
|
45 | - if ( null === self::$instance ) { |
|
46 | - self::$instance = new self(); |
|
47 | - } |
|
48 | - return self::$instance; |
|
49 | - } |
|
36 | + /** |
|
37 | + * Return an instance of this class. |
|
38 | + * |
|
39 | + * @since 1.0.0 |
|
40 | + * |
|
41 | + * @return object \lsx_health_plan\classes\integrations\woocommerce\Checkout() A single instance of this class. |
|
42 | + */ |
|
43 | + public static function get_instance() { |
|
44 | + // If the single instance hasn't been set, set it now. |
|
45 | + if ( null === self::$instance ) { |
|
46 | + self::$instance = new self(); |
|
47 | + } |
|
48 | + return self::$instance; |
|
49 | + } |
|
50 | 50 | |
51 | - /** |
|
52 | - * Return the Place Order Text |
|
53 | - * |
|
54 | - * @param string $label |
|
55 | - * @return void |
|
56 | - */ |
|
57 | - public function checkout_button_text( $label = '' ) { |
|
58 | - $label = __( 'Place order', 'lsx-health-plan' ); |
|
59 | - return $label; |
|
60 | - } |
|
51 | + /** |
|
52 | + * Return the Place Order Text |
|
53 | + * |
|
54 | + * @param string $label |
|
55 | + * @return void |
|
56 | + */ |
|
57 | + public function checkout_button_text( $label = '' ) { |
|
58 | + $label = __( 'Place order', 'lsx-health-plan' ); |
|
59 | + return $label; |
|
60 | + } |
|
61 | 61 | |
62 | - /** |
|
63 | - * Saves the Plan ID to the cart data, so we can attach it to the order later. |
|
64 | - * |
|
65 | - * @param array $cart_item_data |
|
66 | - * @param string $product_id |
|
67 | - * @param string $variation_id |
|
68 | - * @return void |
|
69 | - */ |
|
70 | - public function add_plan_id_to_cart( $cart_item_data, $product_id, $variation_id ) { |
|
71 | - $plan_id = filter_input( INPUT_GET, 'plan_id' ); |
|
72 | - if ( empty( $plan_id ) || '' === $plan_id ) { |
|
73 | - return $cart_item_data; |
|
74 | - } |
|
75 | - $cart_item_data['plan_id'] = $plan_id; |
|
76 | - return $cart_item_data; |
|
77 | - } |
|
62 | + /** |
|
63 | + * Saves the Plan ID to the cart data, so we can attach it to the order later. |
|
64 | + * |
|
65 | + * @param array $cart_item_data |
|
66 | + * @param string $product_id |
|
67 | + * @param string $variation_id |
|
68 | + * @return void |
|
69 | + */ |
|
70 | + public function add_plan_id_to_cart( $cart_item_data, $product_id, $variation_id ) { |
|
71 | + $plan_id = filter_input( INPUT_GET, 'plan_id' ); |
|
72 | + if ( empty( $plan_id ) || '' === $plan_id ) { |
|
73 | + return $cart_item_data; |
|
74 | + } |
|
75 | + $cart_item_data['plan_id'] = $plan_id; |
|
76 | + return $cart_item_data; |
|
77 | + } |
|
78 | 78 | |
79 | - /** |
|
80 | - * Output the WooCommerce Cart Notices. |
|
81 | - * |
|
82 | - * @return void |
|
83 | - */ |
|
84 | - public function cart_notices() { |
|
85 | - if ( function_exists( 'woocommerce_output_all_notices' ) && is_post_type_archive( 'plan' ) ) { |
|
86 | - echo wp_kses_post( '<div class="col-md-12 col-sm-12 woocommerce-notices-wrapper">' ); |
|
87 | - wc_print_notices(); |
|
88 | - echo wp_kses_post( '</div>' ); |
|
89 | - } |
|
90 | - } |
|
79 | + /** |
|
80 | + * Output the WooCommerce Cart Notices. |
|
81 | + * |
|
82 | + * @return void |
|
83 | + */ |
|
84 | + public function cart_notices() { |
|
85 | + if ( function_exists( 'woocommerce_output_all_notices' ) && is_post_type_archive( 'plan' ) ) { |
|
86 | + echo wp_kses_post( '<div class="col-md-12 col-sm-12 woocommerce-notices-wrapper">' ); |
|
87 | + wc_print_notices(); |
|
88 | + echo wp_kses_post( '</div>' ); |
|
89 | + } |
|
90 | + } |
|
91 | 91 | |
92 | - /** |
|
93 | - * Changes the add to cart message and adds our course name. |
|
94 | - * |
|
95 | - * @param string $message |
|
96 | - * @param array $products |
|
97 | - * @param boolean $show_qty |
|
98 | - * @return string |
|
99 | - */ |
|
100 | - public function add_to_cart_message( $message, $products, $show_qty ) { |
|
101 | - if ( isset( $_GET['plan_id'] ) ) { // @codingStandardsIgnoreLine. |
|
102 | - $this->plan_id = sanitize_text_field( wp_slash( $_GET['plan_id'] ) ); // @codingStandardsIgnoreLine. |
|
92 | + /** |
|
93 | + * Changes the add to cart message and adds our course name. |
|
94 | + * |
|
95 | + * @param string $message |
|
96 | + * @param array $products |
|
97 | + * @param boolean $show_qty |
|
98 | + * @return string |
|
99 | + */ |
|
100 | + public function add_to_cart_message( $message, $products, $show_qty ) { |
|
101 | + if ( isset( $_GET['plan_id'] ) ) { // @codingStandardsIgnoreLine. |
|
102 | + $this->plan_id = sanitize_text_field( wp_slash( $_GET['plan_id'] ) ); // @codingStandardsIgnoreLine. |
|
103 | 103 | |
104 | - $title = '<strong>' . get_the_title( $this->plan_id ) . '</strong>'; |
|
105 | - $title = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', 1, 'lsx-health-plan' ), $title ); |
|
104 | + $title = '<strong>' . get_the_title( $this->plan_id ) . '</strong>'; |
|
105 | + $title = sprintf( _n( '%s has been added to your cart.', '%s have been added to your cart.', 1, 'lsx-health-plan' ), $title ); |
|
106 | 106 | |
107 | - // Output success messages. |
|
108 | - if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) { |
|
109 | - $return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) ); |
|
110 | - $message = sprintf( '<a href="%s" tabindex="1" class="btn button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Continue shopping', 'lsx-health-plan' ), $title ); |
|
111 | - } else { |
|
112 | - $message = sprintf( '<a href="%s" tabindex="1" class="btn button wc-forward">%s</a> %s', esc_url( wc_get_cart_url() ), esc_html__( 'View cart', 'lsx-health-plan' ), $title ); |
|
113 | - } |
|
114 | - } |
|
115 | - return $message; |
|
116 | - } |
|
107 | + // Output success messages. |
|
108 | + if ( 'yes' === get_option( 'woocommerce_cart_redirect_after_add' ) ) { |
|
109 | + $return_to = apply_filters( 'woocommerce_continue_shopping_redirect', wc_get_raw_referer() ? wp_validate_redirect( wc_get_raw_referer(), false ) : wc_get_page_permalink( 'shop' ) ); |
|
110 | + $message = sprintf( '<a href="%s" tabindex="1" class="btn button wc-forward">%s</a> %s', esc_url( $return_to ), esc_html__( 'Continue shopping', 'lsx-health-plan' ), $title ); |
|
111 | + } else { |
|
112 | + $message = sprintf( '<a href="%s" tabindex="1" class="btn button wc-forward">%s</a> %s', esc_url( wc_get_cart_url() ), esc_html__( 'View cart', 'lsx-health-plan' ), $title ); |
|
113 | + } |
|
114 | + } |
|
115 | + return $message; |
|
116 | + } |
|
117 | 117 | } |
@@ -8,82 +8,82 @@ |
||
8 | 8 | */ |
9 | 9 | class Articles { |
10 | 10 | |
11 | - /** |
|
12 | - * Holds class instance |
|
13 | - * |
|
14 | - * @var object \lsx_health_plan\classes\Articles() |
|
15 | - */ |
|
16 | - protected static $instance = null; |
|
11 | + /** |
|
12 | + * Holds class instance |
|
13 | + * |
|
14 | + * @var object \lsx_health_plan\classes\Articles() |
|
15 | + */ |
|
16 | + protected static $instance = null; |
|
17 | 17 | |
18 | - /** |
|
19 | - * An array of the post types for the Global Defaults field. |
|
20 | - * |
|
21 | - * @var array |
|
22 | - */ |
|
23 | - //public $default_types = array( 'exercise', 'recipe', 'meal', 'workout', 'plan' ); |
|
18 | + /** |
|
19 | + * An array of the post types for the Global Defaults field. |
|
20 | + * |
|
21 | + * @var array |
|
22 | + */ |
|
23 | + //public $default_types = array( 'exercise', 'recipe', 'meal', 'workout', 'plan' ); |
|
24 | 24 | |
25 | - /** |
|
26 | - * Constructor. |
|
27 | - */ |
|
28 | - public function __construct() { |
|
29 | - $this->default_types = array( |
|
30 | - \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ), |
|
31 | - \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ), |
|
32 | - \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ), |
|
33 | - \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ), |
|
34 | - \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ), |
|
35 | - ); |
|
36 | - add_action( 'cmb2_admin_init', array( $this, 'related_articles_metabox' ) ); |
|
37 | - } |
|
25 | + /** |
|
26 | + * Constructor. |
|
27 | + */ |
|
28 | + public function __construct() { |
|
29 | + $this->default_types = array( |
|
30 | + \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ), |
|
31 | + \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ), |
|
32 | + \lsx_health_plan\functions\get_option( 'endpoint_recipe_single', 'recipe' ), |
|
33 | + \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ), |
|
34 | + \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ), |
|
35 | + ); |
|
36 | + add_action( 'cmb2_admin_init', array( $this, 'related_articles_metabox' ) ); |
|
37 | + } |
|
38 | 38 | |
39 | - /** |
|
40 | - * Return an instance of this class. |
|
41 | - * |
|
42 | - * @since 1.0.0 |
|
43 | - * |
|
44 | - * @return object \lsx_health_plan\classes\Articles() A single instance of this class. |
|
45 | - */ |
|
46 | - public static function get_instance() { |
|
47 | - // If the single instance hasn't been set, set it now. |
|
48 | - if ( null === self::$instance ) { |
|
49 | - self::$instance = new self(); |
|
50 | - } |
|
51 | - return self::$instance; |
|
52 | - } |
|
39 | + /** |
|
40 | + * Return an instance of this class. |
|
41 | + * |
|
42 | + * @since 1.0.0 |
|
43 | + * |
|
44 | + * @return object \lsx_health_plan\classes\Articles() A single instance of this class. |
|
45 | + */ |
|
46 | + public static function get_instance() { |
|
47 | + // If the single instance hasn't been set, set it now. |
|
48 | + if ( null === self::$instance ) { |
|
49 | + self::$instance = new self(); |
|
50 | + } |
|
51 | + return self::$instance; |
|
52 | + } |
|
53 | 53 | |
54 | - /** |
|
55 | - * Define the related articles member metabox and field configurations. |
|
56 | - */ |
|
57 | - public function related_articles_metabox() { |
|
58 | - foreach ( $this->default_types as $type => $default_type ) { |
|
59 | - $cmb = new_cmb2_box( |
|
60 | - array( |
|
61 | - 'id' => $default_type . '_related_articles_metabox', |
|
62 | - 'title' => __( 'Related Articles', 'lsx-health-plan' ), |
|
63 | - 'object_types' => array( $default_type ), // Post type. |
|
64 | - 'context' => 'normal', |
|
65 | - 'priority' => 'low', |
|
66 | - 'show_names' => true, |
|
67 | - ) |
|
68 | - ); |
|
54 | + /** |
|
55 | + * Define the related articles member metabox and field configurations. |
|
56 | + */ |
|
57 | + public function related_articles_metabox() { |
|
58 | + foreach ( $this->default_types as $type => $default_type ) { |
|
59 | + $cmb = new_cmb2_box( |
|
60 | + array( |
|
61 | + 'id' => $default_type . '_related_articles_metabox', |
|
62 | + 'title' => __( 'Related Articles', 'lsx-health-plan' ), |
|
63 | + 'object_types' => array( $default_type ), // Post type. |
|
64 | + 'context' => 'normal', |
|
65 | + 'priority' => 'low', |
|
66 | + 'show_names' => true, |
|
67 | + ) |
|
68 | + ); |
|
69 | 69 | |
70 | - $cmb->add_field( |
|
71 | - array( |
|
72 | - 'name' => __( 'Related Articles', 'lsx-health-plan' ), |
|
73 | - 'desc' => __( 'Connect the related articles that applies to this ', 'lsx-health-plan' ) . $default_type, |
|
74 | - 'id' => $default_type . '_connected_articles', |
|
75 | - 'type' => 'post_search_ajax', |
|
76 | - 'limit' => 3, |
|
77 | - 'sortable' => true, |
|
78 | - 'query_args' => array( |
|
79 | - 'post_type' => array( 'post' ), |
|
80 | - 'post_status' => array( 'publish' ), |
|
81 | - 'posts_per_page' => 3, |
|
82 | - ), |
|
83 | - ) |
|
84 | - ); |
|
85 | - } |
|
70 | + $cmb->add_field( |
|
71 | + array( |
|
72 | + 'name' => __( 'Related Articles', 'lsx-health-plan' ), |
|
73 | + 'desc' => __( 'Connect the related articles that applies to this ', 'lsx-health-plan' ) . $default_type, |
|
74 | + 'id' => $default_type . '_connected_articles', |
|
75 | + 'type' => 'post_search_ajax', |
|
76 | + 'limit' => 3, |
|
77 | + 'sortable' => true, |
|
78 | + 'query_args' => array( |
|
79 | + 'post_type' => array( 'post' ), |
|
80 | + 'post_status' => array( 'publish' ), |
|
81 | + 'posts_per_page' => 3, |
|
82 | + ), |
|
83 | + ) |
|
84 | + ); |
|
85 | + } |
|
86 | 86 | |
87 | - } |
|
87 | + } |
|
88 | 88 | |
89 | 89 | } |
@@ -17,27 +17,27 @@ discard block |
||
17 | 17 | * @return boolean |
18 | 18 | */ |
19 | 19 | function has_attached_post( $post_id = '', $meta_key = '', $single = true ) { |
20 | - $has_post = false; |
|
21 | - if ( '' === $post_id ) { |
|
22 | - $post_id = get_the_ID(); |
|
23 | - } |
|
24 | - $items = get_post_meta( $post_id, $meta_key, $single ); |
|
25 | - if ( '' !== $items && false !== $items && 0 !== $items ) { |
|
26 | - if ( ! is_array( $items ) ) { |
|
27 | - $items = array( $items ); |
|
28 | - } |
|
29 | - $items = check_posts_exist( $items ); |
|
30 | - if ( ! empty( $items ) ) { |
|
31 | - $has_post = true; |
|
32 | - } |
|
33 | - } else { |
|
34 | - // Check for defaults. |
|
35 | - $options = get_option( 'all' ); |
|
36 | - if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) { |
|
37 | - $has_post = true; |
|
38 | - } |
|
39 | - } |
|
40 | - return $has_post; |
|
20 | + $has_post = false; |
|
21 | + if ( '' === $post_id ) { |
|
22 | + $post_id = get_the_ID(); |
|
23 | + } |
|
24 | + $items = get_post_meta( $post_id, $meta_key, $single ); |
|
25 | + if ( '' !== $items && false !== $items && 0 !== $items ) { |
|
26 | + if ( ! is_array( $items ) ) { |
|
27 | + $items = array( $items ); |
|
28 | + } |
|
29 | + $items = check_posts_exist( $items ); |
|
30 | + if ( ! empty( $items ) ) { |
|
31 | + $has_post = true; |
|
32 | + } |
|
33 | + } else { |
|
34 | + // Check for defaults. |
|
35 | + $options = get_option( 'all' ); |
|
36 | + if ( isset( $options[ $meta_key ] ) && '' !== $options[ $meta_key ] && ! empty( $options[ $meta_key ] ) ) { |
|
37 | + $has_post = true; |
|
38 | + } |
|
39 | + } |
|
40 | + return $has_post; |
|
41 | 41 | } |
42 | 42 | |
43 | 43 | /** |
@@ -48,18 +48,18 @@ discard block |
||
48 | 48 | * @return mixed Option value |
49 | 49 | */ |
50 | 50 | function get_option( $key = '', $default = false ) { |
51 | - if ( function_exists( 'cmb2_get_option' ) ) { |
|
52 | - return cmb2_get_option( 'lsx_health_plan_options', $key, $default ); |
|
53 | - } |
|
54 | - // Fallback to get_option if CMB2 is not loaded yet. |
|
55 | - $opts = \get_option( 'lsx_health_plan_options', $default ); |
|
56 | - $val = $default; |
|
57 | - if ( 'all' === $key ) { |
|
58 | - $val = $opts; |
|
59 | - } elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) { |
|
60 | - $val = $opts[ $key ]; |
|
61 | - } |
|
62 | - return $val; |
|
51 | + if ( function_exists( 'cmb2_get_option' ) ) { |
|
52 | + return cmb2_get_option( 'lsx_health_plan_options', $key, $default ); |
|
53 | + } |
|
54 | + // Fallback to get_option if CMB2 is not loaded yet. |
|
55 | + $opts = \get_option( 'lsx_health_plan_options', $default ); |
|
56 | + $val = $default; |
|
57 | + if ( 'all' === $key ) { |
|
58 | + $val = $opts; |
|
59 | + } elseif ( is_array( $opts ) && array_key_exists( $key, $opts ) && false !== $opts[ $key ] ) { |
|
60 | + $val = $opts[ $key ]; |
|
61 | + } |
|
62 | + return $val; |
|
63 | 63 | } |
64 | 64 | |
65 | 65 | /** |
@@ -70,54 +70,54 @@ discard block |
||
70 | 70 | * @return mixed Option value |
71 | 71 | */ |
72 | 72 | function get_downloads( $type = 'all', $post_id = '' ) { |
73 | - $lsx_health_plan = \lsx_health_plan(); |
|
74 | - $post_types = $lsx_health_plan->get_post_types(); |
|
75 | - if ( '' === $post_id ) { |
|
76 | - $post_id = get_the_ID(); |
|
77 | - } |
|
78 | - $downloads = array(); |
|
79 | - $options = get_option( 'all' ); |
|
80 | - |
|
81 | - foreach ( $post_types as $post_type ) { |
|
82 | - if ( 'all' === $type || in_array( $type, $post_types, true ) ) { |
|
83 | - |
|
84 | - // Get the default downloads for this post type. |
|
85 | - $default_downloads = array(); |
|
86 | - $new_downloads = array(); |
|
87 | - if ( isset( $options[ 'download_' . $post_type ] ) ) { |
|
88 | - if ( is_array( $options[ 'download_' . $post_type ] ) ) { |
|
89 | - $default_downloads = $options[ 'download_' . $post_type ]; |
|
90 | - } else { |
|
91 | - $default_downloads[] = $options[ 'download_' . $post_type ]; |
|
92 | - } |
|
93 | - } |
|
94 | - |
|
95 | - if ( 'page' === $post_type ) { |
|
96 | - $key = 'plan_warmup'; |
|
97 | - } else { |
|
98 | - $key = 'connected_' . $post_type . 's'; |
|
99 | - } |
|
100 | - |
|
101 | - $connected_items = get_post_meta( $post_id, $key, true ); |
|
102 | - if ( ! empty( $connected_items ) ) { |
|
103 | - foreach ( $connected_items as $connected_item ) { |
|
104 | - $current_downloads = get_post_meta( $connected_item, 'connected_downloads', true ); |
|
105 | - if ( false !== $current_downloads && ! empty( $current_downloads ) ) { |
|
106 | - $new_downloads = array_merge( $new_downloads, $current_downloads ); |
|
107 | - } |
|
108 | - } |
|
109 | - } |
|
110 | - |
|
111 | - if ( ! empty( $new_downloads ) ) { |
|
112 | - $downloads = array_merge( $downloads, $new_downloads ); |
|
113 | - } elseif ( ! empty( $default_downloads ) ) { |
|
114 | - $downloads = array_merge( $downloads, $default_downloads ); |
|
115 | - } |
|
116 | - $downloads = array_unique( $downloads ); |
|
117 | - } |
|
118 | - } |
|
119 | - $downloads = check_posts_exist( $downloads ); |
|
120 | - return $downloads; |
|
73 | + $lsx_health_plan = \lsx_health_plan(); |
|
74 | + $post_types = $lsx_health_plan->get_post_types(); |
|
75 | + if ( '' === $post_id ) { |
|
76 | + $post_id = get_the_ID(); |
|
77 | + } |
|
78 | + $downloads = array(); |
|
79 | + $options = get_option( 'all' ); |
|
80 | + |
|
81 | + foreach ( $post_types as $post_type ) { |
|
82 | + if ( 'all' === $type || in_array( $type, $post_types, true ) ) { |
|
83 | + |
|
84 | + // Get the default downloads for this post type. |
|
85 | + $default_downloads = array(); |
|
86 | + $new_downloads = array(); |
|
87 | + if ( isset( $options[ 'download_' . $post_type ] ) ) { |
|
88 | + if ( is_array( $options[ 'download_' . $post_type ] ) ) { |
|
89 | + $default_downloads = $options[ 'download_' . $post_type ]; |
|
90 | + } else { |
|
91 | + $default_downloads[] = $options[ 'download_' . $post_type ]; |
|
92 | + } |
|
93 | + } |
|
94 | + |
|
95 | + if ( 'page' === $post_type ) { |
|
96 | + $key = 'plan_warmup'; |
|
97 | + } else { |
|
98 | + $key = 'connected_' . $post_type . 's'; |
|
99 | + } |
|
100 | + |
|
101 | + $connected_items = get_post_meta( $post_id, $key, true ); |
|
102 | + if ( ! empty( $connected_items ) ) { |
|
103 | + foreach ( $connected_items as $connected_item ) { |
|
104 | + $current_downloads = get_post_meta( $connected_item, 'connected_downloads', true ); |
|
105 | + if ( false !== $current_downloads && ! empty( $current_downloads ) ) { |
|
106 | + $new_downloads = array_merge( $new_downloads, $current_downloads ); |
|
107 | + } |
|
108 | + } |
|
109 | + } |
|
110 | + |
|
111 | + if ( ! empty( $new_downloads ) ) { |
|
112 | + $downloads = array_merge( $downloads, $new_downloads ); |
|
113 | + } elseif ( ! empty( $default_downloads ) ) { |
|
114 | + $downloads = array_merge( $downloads, $default_downloads ); |
|
115 | + } |
|
116 | + $downloads = array_unique( $downloads ); |
|
117 | + } |
|
118 | + } |
|
119 | + $downloads = check_posts_exist( $downloads ); |
|
120 | + return $downloads; |
|
121 | 121 | } |
122 | 122 | |
123 | 123 | /** |
@@ -127,35 +127,35 @@ discard block |
||
127 | 127 | * @return array an array of the downloads or empty. |
128 | 128 | */ |
129 | 129 | function get_weekly_downloads( $week = '' ) { |
130 | - $downloads = array(); |
|
131 | - if ( '' !== $week ) { |
|
132 | - $saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week ); |
|
133 | - if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) { |
|
134 | - $downloads = $saved_downloads; |
|
135 | - } else { |
|
136 | - $args = array( |
|
137 | - 'orderby' => 'title', |
|
138 | - 'order' => 'ASC', |
|
139 | - 'post_type' => 'dlm_download', |
|
140 | - 'posts_per_page' => -1, |
|
141 | - 'nopagin' => true, |
|
142 | - 'fields' => 'ids', |
|
143 | - 'tax_query' => array( |
|
144 | - array( |
|
145 | - 'taxonomy' => 'dlm_download_category', |
|
146 | - 'field' => 'slug', |
|
147 | - 'terms' => array( $week ), |
|
148 | - ), |
|
149 | - ), |
|
150 | - ); |
|
151 | - $download_query = new \WP_Query( $args ); |
|
152 | - if ( $download_query->have_posts() ) { |
|
153 | - $downloads = $download_query->posts; |
|
154 | - } |
|
155 | - } |
|
156 | - } |
|
157 | - $downloads = check_posts_exist( $downloads ); |
|
158 | - return $downloads; |
|
130 | + $downloads = array(); |
|
131 | + if ( '' !== $week ) { |
|
132 | + $saved_downloads = get_transient( 'lsx_hp_weekly_downloads_' . $week ); |
|
133 | + if ( false !== $saved_downloads && ! empty( $saved_downloads ) ) { |
|
134 | + $downloads = $saved_downloads; |
|
135 | + } else { |
|
136 | + $args = array( |
|
137 | + 'orderby' => 'title', |
|
138 | + 'order' => 'ASC', |
|
139 | + 'post_type' => 'dlm_download', |
|
140 | + 'posts_per_page' => -1, |
|
141 | + 'nopagin' => true, |
|
142 | + 'fields' => 'ids', |
|
143 | + 'tax_query' => array( |
|
144 | + array( |
|
145 | + 'taxonomy' => 'dlm_download_category', |
|
146 | + 'field' => 'slug', |
|
147 | + 'terms' => array( $week ), |
|
148 | + ), |
|
149 | + ), |
|
150 | + ); |
|
151 | + $download_query = new \WP_Query( $args ); |
|
152 | + if ( $download_query->have_posts() ) { |
|
153 | + $downloads = $download_query->posts; |
|
154 | + } |
|
155 | + } |
|
156 | + } |
|
157 | + $downloads = check_posts_exist( $downloads ); |
|
158 | + return $downloads; |
|
159 | 159 | } |
160 | 160 | |
161 | 161 | /** |
@@ -165,22 +165,22 @@ discard block |
||
165 | 165 | * @return void |
166 | 166 | */ |
167 | 167 | function check_posts_exist( $post_ids = array() ) { |
168 | - $new_ids = array(); |
|
169 | - global $wpdb; |
|
170 | - if ( is_array( $post_ids ) && ! empty( $post_ids ) ) { |
|
171 | - $post_ids = "'" . implode( "','", $post_ids ) . "'"; |
|
172 | - $query = " |
|
168 | + $new_ids = array(); |
|
169 | + global $wpdb; |
|
170 | + if ( is_array( $post_ids ) && ! empty( $post_ids ) ) { |
|
171 | + $post_ids = "'" . implode( "','", $post_ids ) . "'"; |
|
172 | + $query = " |
|
173 | 173 | SELECT `ID` |
174 | 174 | FROM `{$wpdb->posts}` |
175 | 175 | WHERE `ID` IN ({$post_ids}) |
176 | 176 | AND `post_status` != 'trash' |
177 | 177 | "; |
178 | - $results = $wpdb->get_results( $query ); // WPCS: unprepared SQL |
|
179 | - if ( ! empty( $results ) ) { |
|
180 | - $new_ids = wp_list_pluck( $results, 'ID' ); |
|
181 | - } |
|
182 | - } |
|
183 | - return $new_ids; |
|
178 | + $results = $wpdb->get_results( $query ); // WPCS: unprepared SQL |
|
179 | + if ( ! empty( $results ) ) { |
|
180 | + $new_ids = wp_list_pluck( $results, 'ID' ); |
|
181 | + } |
|
182 | + } |
|
183 | + return $new_ids; |
|
184 | 184 | } |
185 | 185 | |
186 | 186 | /** |
@@ -192,13 +192,13 @@ discard block |
||
192 | 192 | * @return void |
193 | 193 | */ |
194 | 194 | function register_modal( $id = '', $title = '', $body = '' ) { |
195 | - lsx_health_plan()->frontend->modals->register_modal( |
|
196 | - array( |
|
197 | - 'title' => $title, |
|
198 | - 'body' => $body, |
|
199 | - ), |
|
200 | - $id |
|
201 | - ); |
|
195 | + lsx_health_plan()->frontend->modals->register_modal( |
|
196 | + array( |
|
197 | + 'title' => $title, |
|
198 | + 'body' => $body, |
|
199 | + ), |
|
200 | + $id |
|
201 | + ); |
|
202 | 202 | } |
203 | 203 | |
204 | 204 | /** |
@@ -208,13 +208,13 @@ discard block |
||
208 | 208 | * @return void |
209 | 209 | */ |
210 | 210 | function output_modal( $args = array() ) { |
211 | - $defaults = array( |
|
212 | - 'id' => '', |
|
213 | - 'title' => '', |
|
214 | - 'body' => '', |
|
215 | - ); |
|
216 | - $args = wp_parse_args( $args, $defaults ); |
|
217 | - ?> |
|
211 | + $defaults = array( |
|
212 | + 'id' => '', |
|
213 | + 'title' => '', |
|
214 | + 'body' => '', |
|
215 | + ); |
|
216 | + $args = wp_parse_args( $args, $defaults ); |
|
217 | + ?> |
|
218 | 218 | <!-- Modal --> |
219 | 219 | <div class="modal fade lsx-health-plan-modal" id="<?php echo esc_html( $args['id'] ); ?>" tabindex="-1" role="dialog" aria-labelledby="<?php echo esc_html( $args['id'] ); ?>" aria-hidden="true"> |
220 | 220 | <div class="modal-dialog" role="document"> |
@@ -222,36 +222,36 @@ discard block |
||
222 | 222 | <button type="button" class="close" data-dismiss="modal">×</button> |
223 | 223 | <div class="modal-header"> |
224 | 224 | <?php |
225 | - if ( '' !== $args['title'] ) { |
|
226 | - echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' ); |
|
227 | - } |
|
228 | - ?> |
|
225 | + if ( '' !== $args['title'] ) { |
|
226 | + echo wp_kses_post( '<h2>' . $args['title'] . '</h2>' ); |
|
227 | + } |
|
228 | + ?> |
|
229 | 229 | </div> |
230 | 230 | <div class="modal-body"> |
231 | 231 | <?php |
232 | - if ( '' !== $args['body'] ) { |
|
233 | - $allowed_html = array( |
|
234 | - 'iframe' => array( |
|
235 | - 'data-src' => array(), |
|
236 | - 'src' => array(), |
|
237 | - 'width' => array(), |
|
238 | - 'height' => array(), |
|
239 | - 'frameBorder' => array( '0' ), |
|
240 | - 'class' => array(), |
|
241 | - 'allowFullScreen' => array(), |
|
242 | - 'style' => array(), |
|
243 | - ), |
|
244 | - 'h5' => array( |
|
245 | - 'class' => array(), |
|
246 | - ), |
|
247 | - ); |
|
248 | - if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
249 | - echo wp_kses_post( $args['body'] ); |
|
250 | - } else { |
|
251 | - echo wp_kses( $args['body'], $allowed_html ); |
|
252 | - } |
|
253 | - } |
|
254 | - ?> |
|
232 | + if ( '' !== $args['body'] ) { |
|
233 | + $allowed_html = array( |
|
234 | + 'iframe' => array( |
|
235 | + 'data-src' => array(), |
|
236 | + 'src' => array(), |
|
237 | + 'width' => array(), |
|
238 | + 'height' => array(), |
|
239 | + 'frameBorder' => array( '0' ), |
|
240 | + 'class' => array(), |
|
241 | + 'allowFullScreen' => array(), |
|
242 | + 'style' => array(), |
|
243 | + ), |
|
244 | + 'h5' => array( |
|
245 | + 'class' => array(), |
|
246 | + ), |
|
247 | + ); |
|
248 | + if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
249 | + echo wp_kses_post( $args['body'] ); |
|
250 | + } else { |
|
251 | + echo wp_kses( $args['body'], $allowed_html ); |
|
252 | + } |
|
253 | + } |
|
254 | + ?> |
|
255 | 255 | </div> |
256 | 256 | </div> |
257 | 257 | </div> |
@@ -267,18 +267,18 @@ discard block |
||
267 | 267 | * @return void |
268 | 268 | */ |
269 | 269 | function get_video_url( $embed ) { |
270 | - $url = ''; |
|
271 | - if ( false !== stripos( $embed, '<iframe' ) ) { |
|
272 | - preg_match( '/src="([^"]+)"/', $embed, $match ); |
|
273 | - if ( is_array( $match ) && isset( $match[1] ) ) { |
|
274 | - $url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>'; |
|
275 | - } else { |
|
276 | - $url = $embed; |
|
277 | - } |
|
278 | - } else { |
|
279 | - $url = $embed; |
|
280 | - } |
|
281 | - return $url; |
|
270 | + $url = ''; |
|
271 | + if ( false !== stripos( $embed, '<iframe' ) ) { |
|
272 | + preg_match( '/src="([^"]+)"/', $embed, $match ); |
|
273 | + if ( is_array( $match ) && isset( $match[1] ) ) { |
|
274 | + $url = '<iframe data-src="' . $match[1] . '" style="border: 0;" frameBorder="0" class="giphy-embed" allowFullScreen height="300" width="100%"></iframe>'; |
|
275 | + } else { |
|
276 | + $url = $embed; |
|
277 | + } |
|
278 | + } else { |
|
279 | + $url = $embed; |
|
280 | + } |
|
281 | + return $url; |
|
282 | 282 | } |
283 | 283 | |
284 | 284 | /** |
@@ -289,18 +289,18 @@ discard block |
||
289 | 289 | * @return boolean |
290 | 290 | */ |
291 | 291 | function is_week_complete( $term_id = false, $section_keys = array(), $group_title = '' ) { |
292 | - $return = false; |
|
293 | - if ( ! empty( $section_keys ) ) { |
|
294 | - $group_count = count( $section_keys ); |
|
295 | - foreach ( $section_keys as &$pid ) { |
|
296 | - $pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete'; |
|
297 | - } |
|
298 | - $days_complete = get_meta_amounts( $section_keys ); |
|
299 | - if ( (int) $group_count === (int) $days_complete ) { |
|
300 | - $return = true; |
|
301 | - } |
|
302 | - } |
|
303 | - return $return; |
|
292 | + $return = false; |
|
293 | + if ( ! empty( $section_keys ) ) { |
|
294 | + $group_count = count( $section_keys ); |
|
295 | + foreach ( $section_keys as &$pid ) { |
|
296 | + $pid = 'day_' . \lsx_health_plan\functions\plan\generate_section_id( $pid ) . '_complete'; |
|
297 | + } |
|
298 | + $days_complete = get_meta_amounts( $section_keys ); |
|
299 | + if ( (int) $group_count === (int) $days_complete ) { |
|
300 | + $return = true; |
|
301 | + } |
|
302 | + } |
|
303 | + return $return; |
|
304 | 304 | } |
305 | 305 | |
306 | 306 | /** |
@@ -311,23 +311,23 @@ discard block |
||
311 | 311 | * @return void |
312 | 312 | */ |
313 | 313 | function get_meta_amounts( $post_ids = array() ) { |
314 | - global $wpdb; |
|
315 | - $amount = 0; |
|
316 | - $current_user = wp_get_current_user(); |
|
317 | - if ( false !== $current_user && ! empty( $post_ids ) ) { |
|
318 | - $post_ids = "'" . implode( "','", $post_ids ) . "'"; |
|
319 | - $query = " |
|
314 | + global $wpdb; |
|
315 | + $amount = 0; |
|
316 | + $current_user = wp_get_current_user(); |
|
317 | + if ( false !== $current_user && ! empty( $post_ids ) ) { |
|
318 | + $post_ids = "'" . implode( "','", $post_ids ) . "'"; |
|
319 | + $query = " |
|
320 | 320 | SELECT COUNT(`meta_value`) |
321 | 321 | FROM `{$wpdb->usermeta}` |
322 | 322 | WHERE `meta_key` IN ({$post_ids}) |
323 | 323 | AND `user_id` = '{$current_user->ID}' |
324 | 324 | "; |
325 | - $results = $wpdb->get_var( $query ); // WPCS: unprepared SQL |
|
326 | - if ( ! empty( $results ) ) { |
|
327 | - $amount = $results; |
|
328 | - } |
|
329 | - } |
|
330 | - return $amount; |
|
325 | + $results = $wpdb->get_var( $query ); // WPCS: unprepared SQL |
|
326 | + if ( ! empty( $results ) ) { |
|
327 | + $amount = $results; |
|
328 | + } |
|
329 | + } |
|
330 | + return $amount; |
|
331 | 331 | } |
332 | 332 | |
333 | 333 | /** |
@@ -337,39 +337,39 @@ discard block |
||
337 | 337 | * @return void |
338 | 338 | */ |
339 | 339 | function hp_get_plan_type_meta( $post ) { |
340 | - $plan_meta = ''; |
|
340 | + $plan_meta = ''; |
|
341 | 341 | |
342 | - $term_obj_list = get_the_terms( $post->ID, 'plan-type' ); |
|
343 | - if ( false !== $term_obj_list ) { |
|
344 | - $terms_string = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) ); |
|
345 | - $terms_ids = wp_list_pluck( $term_obj_list, 'term_id' ); |
|
342 | + $term_obj_list = get_the_terms( $post->ID, 'plan-type' ); |
|
343 | + if ( false !== $term_obj_list ) { |
|
344 | + $terms_string = join( ' & ', wp_list_pluck( $term_obj_list, 'name' ) ); |
|
345 | + $terms_ids = wp_list_pluck( $term_obj_list, 'term_id' ); |
|
346 | 346 | |
347 | - foreach ( $terms_ids as $terms_id ) { |
|
348 | - $term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true ); |
|
349 | - $img = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' ); |
|
350 | - if ( ! empty( $img ) ) { |
|
351 | - $image_url = $img[0]; |
|
352 | - $img = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />'; |
|
353 | - } |
|
347 | + foreach ( $terms_ids as $terms_id ) { |
|
348 | + $term_thumbnail_id = get_term_meta( $terms_id, 'thumbnail', true ); |
|
349 | + $img = wp_get_attachment_image_src( $term_thumbnail_id, 'thumbnail' ); |
|
350 | + if ( ! empty( $img ) ) { |
|
351 | + $image_url = $img[0]; |
|
352 | + $img = '<img loading="lazy" alt="thumbnail" style="width:24px; height: auto;" class="attachment-responsive wp-post-image lsx-responsive" src="' . esc_url( $image_url ) . '" />'; |
|
353 | + } |
|
354 | 354 | |
355 | - $plan_meta .= $img; |
|
356 | - } |
|
355 | + $plan_meta .= $img; |
|
356 | + } |
|
357 | 357 | |
358 | - $plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>'; |
|
359 | - } |
|
358 | + $plan_meta = '<div class="plan-meta">' . $plan_meta . '<span>' . $terms_string . '</span></div>'; |
|
359 | + } |
|
360 | 360 | |
361 | - return $plan_meta; |
|
361 | + return $plan_meta; |
|
362 | 362 | } |
363 | 363 | |
364 | 364 | /** |
365 | 365 | * Limit media library access |
366 | 366 | */ |
367 | 367 | function set_only_author( $wp_query ) { |
368 | - global $current_user; |
|
369 | - if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) { |
|
370 | - $wp_query->set( 'administrator', $current_user->ID ); |
|
371 | - add_filter( 'views_upload', 'fix_media_counts' ); |
|
372 | - } |
|
368 | + global $current_user; |
|
369 | + if ( is_admin() && ! current_user_can( 'edit_others_posts' ) ) { |
|
370 | + $wp_query->set( 'administrator', $current_user->ID ); |
|
371 | + add_filter( 'views_upload', 'fix_media_counts' ); |
|
372 | + } |
|
373 | 373 | } |
374 | 374 | add_action( 'pre_get_posts', '\lsx_health_plan\functions\set_only_author' ); |
375 | 375 | |
@@ -380,12 +380,12 @@ discard block |
||
380 | 380 | * @return void |
381 | 381 | */ |
382 | 382 | function hp_excerpt( $post_id ) { |
383 | - if ( ! has_excerpt( $post_id ) ) { |
|
384 | - $content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 ); |
|
385 | - } else { |
|
386 | - $content = get_the_excerpt( $post_id ); |
|
387 | - } |
|
388 | - return $content; |
|
383 | + if ( ! has_excerpt( $post_id ) ) { |
|
384 | + $content = wp_trim_words( get_post_field( 'post_content', $post_id ), 10 ); |
|
385 | + } else { |
|
386 | + $content = get_the_excerpt( $post_id ); |
|
387 | + } |
|
388 | + return $content; |
|
389 | 389 | } |
390 | 390 | |
391 | 391 | /** |
@@ -395,9 +395,9 @@ discard block |
||
395 | 395 | * @return void |
396 | 396 | */ |
397 | 397 | function column_class( $columns = '3' ) { |
398 | - $cols = ''; |
|
399 | - $cols .= '5' === $columns ? '15' : 12 / $columns; |
|
400 | - return $cols; |
|
398 | + $cols = ''; |
|
399 | + $cols .= '5' === $columns ? '15' : 12 / $columns; |
|
400 | + return $cols; |
|
401 | 401 | } |
402 | 402 | |
403 | 403 | /** |
@@ -407,22 +407,22 @@ discard block |
||
407 | 407 | * @return void |
408 | 408 | */ |
409 | 409 | function get_exercises_by_workout( $workout = '' ) { |
410 | - $exercises = array(); |
|
411 | - $i = 1; |
|
412 | - $section_counter = 6; |
|
413 | - while ( $i <= $section_counter ) { |
|
414 | - $group_name = 'workout_section_' . $i; |
|
415 | - $groups = get_post_meta( $workout, $group_name, true ); |
|
416 | - if ( ! empty( $groups ) ) { |
|
417 | - foreach ( $groups as $group ) { |
|
418 | - if ( isset( $group['connected_exercises'] ) ) { |
|
419 | - $exercises[] = $group['connected_exercises']; |
|
420 | - } |
|
421 | - } |
|
422 | - } |
|
423 | - $i++; |
|
424 | - } |
|
425 | - return $exercises; |
|
410 | + $exercises = array(); |
|
411 | + $i = 1; |
|
412 | + $section_counter = 6; |
|
413 | + while ( $i <= $section_counter ) { |
|
414 | + $group_name = 'workout_section_' . $i; |
|
415 | + $groups = get_post_meta( $workout, $group_name, true ); |
|
416 | + if ( ! empty( $groups ) ) { |
|
417 | + foreach ( $groups as $group ) { |
|
418 | + if ( isset( $group['connected_exercises'] ) ) { |
|
419 | + $exercises[] = $group['connected_exercises']; |
|
420 | + } |
|
421 | + } |
|
422 | + } |
|
423 | + $i++; |
|
424 | + } |
|
425 | + return $exercises; |
|
426 | 426 | } |
427 | 427 | |
428 | 428 | |
@@ -433,20 +433,20 @@ discard block |
||
433 | 433 | * @return int |
434 | 434 | */ |
435 | 435 | function get_progress( $plan_id = false ) { |
436 | - $progress = 0; |
|
437 | - $complete = array(); |
|
438 | - $count = 0; |
|
439 | - if ( false !== $plan_id && \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) { |
|
440 | - $sections = \lsx_health_plan\functions\plan\get_sections(); |
|
441 | - $all_count = count( $sections ); |
|
442 | - foreach ( $sections as $section_key => $section_values ) { |
|
443 | - if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) { |
|
444 | - $complete[] = true; |
|
445 | - } |
|
446 | - } |
|
447 | - $progress = (int) count( $complete ) / (int) $all_count * 100; |
|
448 | - } |
|
449 | - return $progress; |
|
436 | + $progress = 0; |
|
437 | + $complete = array(); |
|
438 | + $count = 0; |
|
439 | + if ( false !== $plan_id && \lsx_health_plan\functions\plan\has_sections( $plan_id ) ) { |
|
440 | + $sections = \lsx_health_plan\functions\plan\get_sections(); |
|
441 | + $all_count = count( $sections ); |
|
442 | + foreach ( $sections as $section_key => $section_values ) { |
|
443 | + if ( lsx_health_plan_is_day_complete( $plan_id, $section_values['title'] ) ) { |
|
444 | + $complete[] = true; |
|
445 | + } |
|
446 | + } |
|
447 | + $progress = (int) count( $complete ) / (int) $all_count * 100; |
|
448 | + } |
|
449 | + return $progress; |
|
450 | 450 | } |
451 | 451 | |
452 | 452 | |
@@ -458,18 +458,18 @@ discard block |
||
458 | 458 | */ |
459 | 459 | function hp_back_archive_link() { |
460 | 460 | |
461 | - $post_type = 'exercise'; |
|
462 | - if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) { |
|
463 | - $post_type = 'recipe'; |
|
464 | - } |
|
461 | + $post_type = 'exercise'; |
|
462 | + if ( is_tax( 'recipe-cuisine' ) || is_tax( 'recipe-type' ) ) { |
|
463 | + $post_type = 'recipe'; |
|
464 | + } |
|
465 | 465 | |
466 | - if ( is_tax() ) { |
|
467 | - ?> |
|
466 | + if ( is_tax() ) { |
|
467 | + ?> |
|
468 | 468 | <div class="archive-category-title hp-archive-category-title"> |
469 | 469 | <a class="back-to-blog" href="<?php echo ( esc_url( get_post_type_archive_link( $post_type ) ) ); ?>"><?php echo esc_html__( 'Back To ', 'lsx' ) . esc_html( $post_type ) . 's'; ?></a> |
470 | 470 | </div> |
471 | 471 | <?php |
472 | - } |
|
472 | + } |
|
473 | 473 | } |
474 | 474 | add_action( 'lsx_content_wrap_before', '\lsx_health_plan\functions\hp_back_archive_link', 20 ); |
475 | 475 | |
@@ -480,11 +480,11 @@ discard block |
||
480 | 480 | * @return array |
481 | 481 | */ |
482 | 482 | function prep_array( $item ) { |
483 | - if ( ! is_array( $item ) ) { |
|
484 | - $item = explode( ',', $item ); |
|
485 | - if ( ! is_array( $item ) ) { |
|
486 | - $item = array( $item ); |
|
487 | - } |
|
488 | - } |
|
489 | - return $item; |
|
483 | + if ( ! is_array( $item ) ) { |
|
484 | + $item = explode( ',', $item ); |
|
485 | + if ( ! is_array( $item ) ) { |
|
486 | + $item = array( $item ); |
|
487 | + } |
|
488 | + } |
|
489 | + return $item; |
|
490 | 490 | } |