@@ -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(); ?> |
@@ -8,390 +8,390 @@ |
||
8 | 8 | */ |
9 | 9 | class Meal { |
10 | 10 | |
11 | - /** |
|
12 | - * Holds class instance |
|
13 | - * |
|
14 | - * @since 1.0.0 |
|
15 | - * |
|
16 | - * @var object \lsx_health_plan\classes\Meal() |
|
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\Meal() |
|
17 | + */ |
|
18 | + protected static $instance = null; |
|
19 | 19 | |
20 | - /** |
|
21 | - * Holds post_type slug used as an index |
|
22 | - * |
|
23 | - * @since 1.0.0 |
|
24 | - * |
|
25 | - * @var string |
|
26 | - */ |
|
27 | - public $slug = 'meal'; |
|
20 | + /** |
|
21 | + * Holds post_type slug used as an index |
|
22 | + * |
|
23 | + * @since 1.0.0 |
|
24 | + * |
|
25 | + * @var string |
|
26 | + */ |
|
27 | + public $slug = 'meal'; |
|
28 | 28 | |
29 | - /** |
|
30 | - * Constructor |
|
31 | - */ |
|
32 | - public function __construct() { |
|
33 | - add_action( 'init', array( $this, 'register_post_type' ) ); |
|
34 | - add_action( 'init', array( $this, 'taxonomy_setup' ) ); |
|
29 | + /** |
|
30 | + * Constructor |
|
31 | + */ |
|
32 | + public function __construct() { |
|
33 | + add_action( 'init', array( $this, 'register_post_type' ) ); |
|
34 | + add_action( 'init', array( $this, 'taxonomy_setup' ) ); |
|
35 | 35 | |
36 | - add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 ); |
|
37 | - add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 ); |
|
38 | - add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) ); |
|
36 | + add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 ); |
|
37 | + add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 ); |
|
38 | + add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) ); |
|
39 | 39 | |
40 | - // Template Redirects. |
|
41 | - add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
42 | - add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
40 | + // Template Redirects. |
|
41 | + add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
42 | + add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
43 | 43 | |
44 | - add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
45 | - } |
|
44 | + add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
45 | + } |
|
46 | 46 | |
47 | - /** |
|
48 | - * Return an instance of this class. |
|
49 | - * |
|
50 | - * @since 1.0.0 |
|
51 | - * |
|
52 | - * @return object \lsx_health_plan\classes\Day() A single instance of this class. |
|
53 | - */ |
|
54 | - public static function get_instance() { |
|
55 | - // If the single instance hasn't been set, set it now. |
|
56 | - if ( null === self::$instance ) { |
|
57 | - self::$instance = new self(); |
|
58 | - } |
|
59 | - return self::$instance; |
|
60 | - } |
|
61 | - /** |
|
62 | - * Register the post type. |
|
63 | - */ |
|
64 | - public function register_post_type() { |
|
65 | - $labels = array( |
|
66 | - 'name' => esc_html__( 'Meals', 'lsx-health-plan' ), |
|
67 | - 'singular_name' => esc_html__( 'Meal', 'lsx-health-plan' ), |
|
68 | - 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
69 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
70 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
71 | - 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
72 | - 'all_items' => esc_html__( 'All Meals', 'lsx-health-plan' ), |
|
73 | - 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
74 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
75 | - 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
76 | - 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
77 | - 'parent_item_colon' => '', |
|
78 | - 'menu_name' => esc_html__( 'Meals', 'lsx-health-plan' ), |
|
79 | - ); |
|
80 | - $args = array( |
|
81 | - 'labels' => $labels, |
|
82 | - 'public' => true, |
|
83 | - 'publicly_queryable' => true, |
|
84 | - 'show_ui' => true, |
|
85 | - 'show_in_menu' => true, |
|
86 | - 'show_in_rest' => true, |
|
87 | - 'menu_icon' => 'dashicons-carrot', |
|
88 | - 'query_var' => true, |
|
89 | - 'rewrite' => array( |
|
90 | - 'slug' => \lsx_health_plan\functions\get_option( 'meal_single_slug', 'meal' ), |
|
91 | - ), |
|
92 | - 'capability_type' => 'post', |
|
93 | - 'has_archive' => \lsx_health_plan\functions\get_option( 'endpoint_meal_archive', 'meals' ), |
|
94 | - 'hierarchical' => true, |
|
95 | - 'menu_position' => null, |
|
96 | - 'supports' => array( |
|
97 | - 'title', |
|
98 | - 'editor', |
|
99 | - 'thumbnail', |
|
100 | - 'page-attributes', |
|
101 | - 'custom-fields', |
|
102 | - ), |
|
103 | - ); |
|
104 | - register_post_type( 'meal', $args ); |
|
105 | - } |
|
47 | + /** |
|
48 | + * Return an instance of this class. |
|
49 | + * |
|
50 | + * @since 1.0.0 |
|
51 | + * |
|
52 | + * @return object \lsx_health_plan\classes\Day() A single instance of this class. |
|
53 | + */ |
|
54 | + public static function get_instance() { |
|
55 | + // If the single instance hasn't been set, set it now. |
|
56 | + if ( null === self::$instance ) { |
|
57 | + self::$instance = new self(); |
|
58 | + } |
|
59 | + return self::$instance; |
|
60 | + } |
|
61 | + /** |
|
62 | + * Register the post type. |
|
63 | + */ |
|
64 | + public function register_post_type() { |
|
65 | + $labels = array( |
|
66 | + 'name' => esc_html__( 'Meals', 'lsx-health-plan' ), |
|
67 | + 'singular_name' => esc_html__( 'Meal', 'lsx-health-plan' ), |
|
68 | + 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
69 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
70 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
71 | + 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
72 | + 'all_items' => esc_html__( 'All Meals', 'lsx-health-plan' ), |
|
73 | + 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
74 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
75 | + 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
76 | + 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
77 | + 'parent_item_colon' => '', |
|
78 | + 'menu_name' => esc_html__( 'Meals', 'lsx-health-plan' ), |
|
79 | + ); |
|
80 | + $args = array( |
|
81 | + 'labels' => $labels, |
|
82 | + 'public' => true, |
|
83 | + 'publicly_queryable' => true, |
|
84 | + 'show_ui' => true, |
|
85 | + 'show_in_menu' => true, |
|
86 | + 'show_in_rest' => true, |
|
87 | + 'menu_icon' => 'dashicons-carrot', |
|
88 | + 'query_var' => true, |
|
89 | + 'rewrite' => array( |
|
90 | + 'slug' => \lsx_health_plan\functions\get_option( 'meal_single_slug', 'meal' ), |
|
91 | + ), |
|
92 | + 'capability_type' => 'post', |
|
93 | + 'has_archive' => \lsx_health_plan\functions\get_option( 'endpoint_meal_archive', 'meals' ), |
|
94 | + 'hierarchical' => true, |
|
95 | + 'menu_position' => null, |
|
96 | + 'supports' => array( |
|
97 | + 'title', |
|
98 | + 'editor', |
|
99 | + 'thumbnail', |
|
100 | + 'page-attributes', |
|
101 | + 'custom-fields', |
|
102 | + ), |
|
103 | + ); |
|
104 | + register_post_type( 'meal', $args ); |
|
105 | + } |
|
106 | 106 | |
107 | - /** |
|
108 | - * Register the Week taxonomy. |
|
109 | - */ |
|
110 | - public function taxonomy_setup() { |
|
111 | - $labels = array( |
|
112 | - 'name' => esc_html_x( 'Meal Type', 'taxonomy general name', 'lsx-health-plan' ), |
|
113 | - 'singular_name' => esc_html_x( 'Meal Types', 'taxonomy singular name', 'lsx-health-plan' ), |
|
114 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
115 | - 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
116 | - 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
117 | - 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
118 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
119 | - 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
120 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
121 | - 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
122 | - 'menu_name' => esc_html__( 'Meal Types', 'lsx-health-plan' ), |
|
123 | - ); |
|
124 | - $args = array( |
|
125 | - 'hierarchical' => true, |
|
126 | - 'labels' => $labels, |
|
127 | - 'show_ui' => true, |
|
128 | - 'show_in_menu' => 'edit.php?post_type=meal', |
|
129 | - 'show_admin_column' => true, |
|
130 | - 'query_var' => true, |
|
131 | - 'rewrite' => array( |
|
132 | - 'slug' => 'meal-type', |
|
133 | - ), |
|
134 | - ); |
|
135 | - register_taxonomy( 'meal-type', array( $this->slug ), $args ); |
|
136 | - } |
|
107 | + /** |
|
108 | + * Register the Week taxonomy. |
|
109 | + */ |
|
110 | + public function taxonomy_setup() { |
|
111 | + $labels = array( |
|
112 | + 'name' => esc_html_x( 'Meal Type', 'taxonomy general name', 'lsx-health-plan' ), |
|
113 | + 'singular_name' => esc_html_x( 'Meal Types', 'taxonomy singular name', 'lsx-health-plan' ), |
|
114 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
115 | + 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
116 | + 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
117 | + 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
118 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
119 | + 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
120 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
121 | + 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
122 | + 'menu_name' => esc_html__( 'Meal Types', 'lsx-health-plan' ), |
|
123 | + ); |
|
124 | + $args = array( |
|
125 | + 'hierarchical' => true, |
|
126 | + 'labels' => $labels, |
|
127 | + 'show_ui' => true, |
|
128 | + 'show_in_menu' => 'edit.php?post_type=meal', |
|
129 | + 'show_admin_column' => true, |
|
130 | + 'query_var' => true, |
|
131 | + 'rewrite' => array( |
|
132 | + 'slug' => 'meal-type', |
|
133 | + ), |
|
134 | + ); |
|
135 | + register_taxonomy( 'meal-type', array( $this->slug ), $args ); |
|
136 | + } |
|
137 | 137 | |
138 | - /** |
|
139 | - * Adds the post type to the different arrays. |
|
140 | - * |
|
141 | - * @param array $post_types |
|
142 | - * @return array |
|
143 | - */ |
|
144 | - public function enable_post_type( $post_types = array() ) { |
|
145 | - $post_types[] = $this->slug; |
|
146 | - return $post_types; |
|
147 | - } |
|
138 | + /** |
|
139 | + * Adds the post type to the different arrays. |
|
140 | + * |
|
141 | + * @param array $post_types |
|
142 | + * @return array |
|
143 | + */ |
|
144 | + public function enable_post_type( $post_types = array() ) { |
|
145 | + $post_types[] = $this->slug; |
|
146 | + return $post_types; |
|
147 | + } |
|
148 | 148 | |
149 | - /** |
|
150 | - * Enables the Bi Directional relationships |
|
151 | - * |
|
152 | - * @param array $connections |
|
153 | - * @return void |
|
154 | - */ |
|
155 | - public function enable_connections( $connections = array() ) { |
|
156 | - $connections['meal']['connected_plans'] = 'connected_meals'; |
|
157 | - $connections['plan']['connected_meals'] = 'connected_plans'; |
|
158 | - return $connections; |
|
159 | - } |
|
149 | + /** |
|
150 | + * Enables the Bi Directional relationships |
|
151 | + * |
|
152 | + * @param array $connections |
|
153 | + * @return void |
|
154 | + */ |
|
155 | + public function enable_connections( $connections = array() ) { |
|
156 | + $connections['meal']['connected_plans'] = 'connected_meals'; |
|
157 | + $connections['plan']['connected_meals'] = 'connected_plans'; |
|
158 | + return $connections; |
|
159 | + } |
|
160 | 160 | |
161 | - /** |
|
162 | - * Remove the "Archives:" from the post type meal. |
|
163 | - * |
|
164 | - * @param string $title the term title. |
|
165 | - * @return string |
|
166 | - */ |
|
167 | - public function get_the_archive_title( $title ) { |
|
168 | - if ( is_post_type_archive( 'meal' ) ) { |
|
169 | - $title = __( 'Meals', 'lsx-health-plan' ); |
|
170 | - } |
|
171 | - return $title; |
|
172 | - } |
|
161 | + /** |
|
162 | + * Remove the "Archives:" from the post type meal. |
|
163 | + * |
|
164 | + * @param string $title the term title. |
|
165 | + * @return string |
|
166 | + */ |
|
167 | + public function get_the_archive_title( $title ) { |
|
168 | + if ( is_post_type_archive( 'meal' ) ) { |
|
169 | + $title = __( 'Meals', 'lsx-health-plan' ); |
|
170 | + } |
|
171 | + return $title; |
|
172 | + } |
|
173 | 173 | |
174 | - /** |
|
175 | - * Define the metabox and field configurations. |
|
176 | - */ |
|
177 | - public function featured_metabox() { |
|
178 | - $cmb = new_cmb2_box( |
|
179 | - array( |
|
180 | - 'id' => $this->slug . '_featured_metabox_meal', |
|
181 | - 'title' => __( 'Featured Meal', 'lsx-health-plan' ), |
|
182 | - 'object_types' => array( $this->slug ), // Post type |
|
183 | - 'context' => 'side', |
|
184 | - 'priority' => 'high', |
|
185 | - 'show_names' => true, |
|
186 | - ) |
|
187 | - ); |
|
188 | - $cmb->add_field( |
|
189 | - array( |
|
190 | - 'name' => __( 'Featured Meal', 'lsx-health-plan' ), |
|
191 | - 'desc' => __( 'Enable a featured meal' ), |
|
192 | - 'id' => $this->slug . '_featured_meal', |
|
193 | - 'type' => 'checkbox', |
|
194 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
195 | - ) |
|
196 | - ); |
|
197 | - } |
|
174 | + /** |
|
175 | + * Define the metabox and field configurations. |
|
176 | + */ |
|
177 | + public function featured_metabox() { |
|
178 | + $cmb = new_cmb2_box( |
|
179 | + array( |
|
180 | + 'id' => $this->slug . '_featured_metabox_meal', |
|
181 | + 'title' => __( 'Featured Meal', 'lsx-health-plan' ), |
|
182 | + 'object_types' => array( $this->slug ), // Post type |
|
183 | + 'context' => 'side', |
|
184 | + 'priority' => 'high', |
|
185 | + 'show_names' => true, |
|
186 | + ) |
|
187 | + ); |
|
188 | + $cmb->add_field( |
|
189 | + array( |
|
190 | + 'name' => __( 'Featured Meal', 'lsx-health-plan' ), |
|
191 | + 'desc' => __( 'Enable a featured meal' ), |
|
192 | + 'id' => $this->slug . '_featured_meal', |
|
193 | + 'type' => 'checkbox', |
|
194 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
195 | + ) |
|
196 | + ); |
|
197 | + } |
|
198 | 198 | |
199 | - /** |
|
200 | - * Define the metabox and field configurations. |
|
201 | - */ |
|
202 | - public function details_metaboxes() { |
|
203 | - $cmb = new_cmb2_box( array( |
|
204 | - 'id' => $this->slug . '_shopping_list_metabox', |
|
205 | - 'title' => __( 'Shopping List', 'lsx-health-plan' ), |
|
206 | - 'object_types' => array( $this->slug ), // Post type |
|
207 | - 'context' => 'normal', |
|
208 | - 'priority' => 'high', |
|
209 | - 'show_names' => true, |
|
210 | - ) ); |
|
211 | - $cmb->add_field( array( |
|
212 | - 'name' => __( 'Shopping List', 'lsx-health-plan' ), |
|
213 | - 'desc' => __( 'Connect the shopping list page that applies to this meal by entering the name of the page in the field provided.' ), |
|
214 | - 'id' => $this->slug . '_shopping_list', |
|
215 | - 'type' => 'post_search_ajax', |
|
216 | - // Optional : |
|
217 | - 'limit' => 1, // Limit selection to X items only (default 1) |
|
218 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
219 | - 'query_args' => array( |
|
220 | - 'post_type' => array( 'page' ), |
|
221 | - 'post_status' => array( 'publish' ), |
|
222 | - 'posts_per_page' => -1, |
|
223 | - ), |
|
224 | - ) ); |
|
225 | - $cmb = new_cmb2_box( array( |
|
226 | - 'id' => $this->slug . '_details_metabox', |
|
227 | - 'title' => __( 'Meal Details', 'lsx-health-plan' ), |
|
228 | - 'object_types' => array( $this->slug ), // Post type |
|
229 | - 'context' => 'normal', |
|
230 | - 'priority' => 'high', |
|
231 | - 'show_names' => true, |
|
232 | - ) ); |
|
199 | + /** |
|
200 | + * Define the metabox and field configurations. |
|
201 | + */ |
|
202 | + public function details_metaboxes() { |
|
203 | + $cmb = new_cmb2_box( array( |
|
204 | + 'id' => $this->slug . '_shopping_list_metabox', |
|
205 | + 'title' => __( 'Shopping List', 'lsx-health-plan' ), |
|
206 | + 'object_types' => array( $this->slug ), // Post type |
|
207 | + 'context' => 'normal', |
|
208 | + 'priority' => 'high', |
|
209 | + 'show_names' => true, |
|
210 | + ) ); |
|
211 | + $cmb->add_field( array( |
|
212 | + 'name' => __( 'Shopping List', 'lsx-health-plan' ), |
|
213 | + 'desc' => __( 'Connect the shopping list page that applies to this meal by entering the name of the page in the field provided.' ), |
|
214 | + 'id' => $this->slug . '_shopping_list', |
|
215 | + 'type' => 'post_search_ajax', |
|
216 | + // Optional : |
|
217 | + 'limit' => 1, // Limit selection to X items only (default 1) |
|
218 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
219 | + 'query_args' => array( |
|
220 | + 'post_type' => array( 'page' ), |
|
221 | + 'post_status' => array( 'publish' ), |
|
222 | + 'posts_per_page' => -1, |
|
223 | + ), |
|
224 | + ) ); |
|
225 | + $cmb = new_cmb2_box( array( |
|
226 | + 'id' => $this->slug . '_details_metabox', |
|
227 | + 'title' => __( 'Meal Details', 'lsx-health-plan' ), |
|
228 | + 'object_types' => array( $this->slug ), // Post type |
|
229 | + 'context' => 'normal', |
|
230 | + 'priority' => 'high', |
|
231 | + 'show_names' => true, |
|
232 | + ) ); |
|
233 | 233 | |
234 | - $cmb->add_field( array( |
|
235 | - 'name' => __( 'Meal Short Description', 'lsx-health-plan' ), |
|
236 | - 'id' => $this->slug . '_short_description', |
|
237 | - 'type' => 'textarea_small', |
|
238 | - 'desc' => __( 'Add a small description for this meal (optional)', 'lsx-health-plan' ), |
|
239 | - ) ); |
|
234 | + $cmb->add_field( array( |
|
235 | + 'name' => __( 'Meal Short Description', 'lsx-health-plan' ), |
|
236 | + 'id' => $this->slug . '_short_description', |
|
237 | + 'type' => 'textarea_small', |
|
238 | + 'desc' => __( 'Add a small description for this meal (optional)', 'lsx-health-plan' ), |
|
239 | + ) ); |
|
240 | 240 | |
241 | - $cmb->add_field( array( |
|
242 | - 'name' => __( 'Pre Breakfast Snack', 'lsx-health-plan' ), |
|
243 | - 'id' => $this->slug . '_pre_breakfast_snack', |
|
244 | - 'type' => 'wysiwyg', |
|
245 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
246 | - 'options' => array( |
|
247 | - 'textarea_rows' => 5, |
|
248 | - ), |
|
249 | - ) ); |
|
250 | - $cmb->add_field( array( |
|
251 | - 'name' => __( 'Breakfast', 'lsx-health-plan' ), |
|
252 | - 'id' => $this->slug . '_breakfast', |
|
253 | - 'type' => 'wysiwyg', |
|
254 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
255 | - 'options' => array( |
|
256 | - 'textarea_rows' => 5, |
|
257 | - ), |
|
258 | - ) ); |
|
241 | + $cmb->add_field( array( |
|
242 | + 'name' => __( 'Pre Breakfast Snack', 'lsx-health-plan' ), |
|
243 | + 'id' => $this->slug . '_pre_breakfast_snack', |
|
244 | + 'type' => 'wysiwyg', |
|
245 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
246 | + 'options' => array( |
|
247 | + 'textarea_rows' => 5, |
|
248 | + ), |
|
249 | + ) ); |
|
250 | + $cmb->add_field( array( |
|
251 | + 'name' => __( 'Breakfast', 'lsx-health-plan' ), |
|
252 | + 'id' => $this->slug . '_breakfast', |
|
253 | + 'type' => 'wysiwyg', |
|
254 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
255 | + 'options' => array( |
|
256 | + 'textarea_rows' => 5, |
|
257 | + ), |
|
258 | + ) ); |
|
259 | 259 | |
260 | - $cmb->add_field( |
|
261 | - array( |
|
262 | - 'name' => __( 'Post Breakfast Snack', 'lsx-health-plan' ), |
|
263 | - 'id' => $this->slug . '_breakfast_snack', |
|
264 | - 'type' => 'wysiwyg', |
|
265 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
266 | - 'options' => array( |
|
267 | - 'textarea_rows' => 5, |
|
268 | - ), |
|
269 | - ) |
|
270 | - ); |
|
260 | + $cmb->add_field( |
|
261 | + array( |
|
262 | + 'name' => __( 'Post Breakfast Snack', 'lsx-health-plan' ), |
|
263 | + 'id' => $this->slug . '_breakfast_snack', |
|
264 | + 'type' => 'wysiwyg', |
|
265 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
266 | + 'options' => array( |
|
267 | + 'textarea_rows' => 5, |
|
268 | + ), |
|
269 | + ) |
|
270 | + ); |
|
271 | 271 | |
272 | - if ( post_type_exists( 'recipe' ) ) { |
|
273 | - $cmb->add_field( |
|
274 | - array( |
|
275 | - 'name' => __( 'Breakfast Recipes', 'lsx-health-plan' ), |
|
276 | - 'desc' => __( 'Connect additional recipes options for breakfast.', 'lsx-health-plan' ), |
|
277 | - 'id' => 'breakfast_recipes', |
|
278 | - 'type' => 'post_search_ajax', |
|
279 | - // Optional : |
|
280 | - 'limit' => 15, // Limit selection to X items only (default 1) |
|
281 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
282 | - 'query_args' => array( |
|
283 | - 'post_type' => array( 'recipe' ), |
|
284 | - 'post_status' => array( 'publish' ), |
|
285 | - 'posts_per_page' => -1, |
|
286 | - ), |
|
287 | - ) |
|
288 | - ); |
|
289 | - } |
|
272 | + if ( post_type_exists( 'recipe' ) ) { |
|
273 | + $cmb->add_field( |
|
274 | + array( |
|
275 | + 'name' => __( 'Breakfast Recipes', 'lsx-health-plan' ), |
|
276 | + 'desc' => __( 'Connect additional recipes options for breakfast.', 'lsx-health-plan' ), |
|
277 | + 'id' => 'breakfast_recipes', |
|
278 | + 'type' => 'post_search_ajax', |
|
279 | + // Optional : |
|
280 | + 'limit' => 15, // Limit selection to X items only (default 1) |
|
281 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
282 | + 'query_args' => array( |
|
283 | + 'post_type' => array( 'recipe' ), |
|
284 | + 'post_status' => array( 'publish' ), |
|
285 | + 'posts_per_page' => -1, |
|
286 | + ), |
|
287 | + ) |
|
288 | + ); |
|
289 | + } |
|
290 | 290 | |
291 | - $cmb->add_field( |
|
292 | - array( |
|
293 | - 'name' => __( 'Pre Lunch Snack', 'lsx-health-plan' ), |
|
294 | - 'id' => $this->slug . '_pre_lunch_snack', |
|
295 | - 'type' => 'wysiwyg', |
|
296 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
297 | - 'options' => array( |
|
298 | - 'textarea_rows' => 5, |
|
299 | - ), |
|
300 | - ) |
|
301 | - ); |
|
302 | - $cmb->add_field( |
|
303 | - array( |
|
304 | - 'name' => __( 'Lunch', 'lsx-health-plan' ), |
|
305 | - 'id' => $this->slug . '_lunch', |
|
306 | - 'type' => 'wysiwyg', |
|
307 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
308 | - 'options' => array( |
|
309 | - 'textarea_rows' => 5, |
|
310 | - ), |
|
311 | - ) |
|
312 | - ); |
|
313 | - $cmb->add_field( |
|
314 | - array( |
|
315 | - 'name' => __( 'Post Lunch Snack', 'lsx-health-plan' ), |
|
316 | - 'id' => $this->slug . '_lunch_snack', |
|
317 | - 'type' => 'wysiwyg', |
|
318 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
319 | - 'options' => array( |
|
320 | - 'textarea_rows' => 5, |
|
321 | - ), |
|
322 | - ) |
|
323 | - ); |
|
291 | + $cmb->add_field( |
|
292 | + array( |
|
293 | + 'name' => __( 'Pre Lunch Snack', 'lsx-health-plan' ), |
|
294 | + 'id' => $this->slug . '_pre_lunch_snack', |
|
295 | + 'type' => 'wysiwyg', |
|
296 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
297 | + 'options' => array( |
|
298 | + 'textarea_rows' => 5, |
|
299 | + ), |
|
300 | + ) |
|
301 | + ); |
|
302 | + $cmb->add_field( |
|
303 | + array( |
|
304 | + 'name' => __( 'Lunch', 'lsx-health-plan' ), |
|
305 | + 'id' => $this->slug . '_lunch', |
|
306 | + 'type' => 'wysiwyg', |
|
307 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
308 | + 'options' => array( |
|
309 | + 'textarea_rows' => 5, |
|
310 | + ), |
|
311 | + ) |
|
312 | + ); |
|
313 | + $cmb->add_field( |
|
314 | + array( |
|
315 | + 'name' => __( 'Post Lunch Snack', 'lsx-health-plan' ), |
|
316 | + 'id' => $this->slug . '_lunch_snack', |
|
317 | + 'type' => 'wysiwyg', |
|
318 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
319 | + 'options' => array( |
|
320 | + 'textarea_rows' => 5, |
|
321 | + ), |
|
322 | + ) |
|
323 | + ); |
|
324 | 324 | |
325 | - if ( post_type_exists( 'recipe' ) ) { |
|
326 | - $cmb->add_field( |
|
327 | - array( |
|
328 | - 'name' => __( 'Lunch Recipes', 'lsx-health-plan' ), |
|
329 | - 'desc' => __( 'Connect additional recipes options for lunch.', 'lsx-health-plan' ), |
|
330 | - 'id' => 'lunch_recipes', |
|
331 | - 'type' => 'post_search_ajax', |
|
332 | - // Optional : |
|
333 | - 'limit' => 15, // Limit selection to X items only (default 1) |
|
334 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
335 | - 'query_args' => array( |
|
336 | - 'post_type' => array( 'recipe' ), |
|
337 | - 'post_status' => array( 'publish' ), |
|
338 | - 'posts_per_page' => -1, |
|
339 | - ), |
|
340 | - ) |
|
341 | - ); |
|
342 | - } |
|
325 | + if ( post_type_exists( 'recipe' ) ) { |
|
326 | + $cmb->add_field( |
|
327 | + array( |
|
328 | + 'name' => __( 'Lunch Recipes', 'lsx-health-plan' ), |
|
329 | + 'desc' => __( 'Connect additional recipes options for lunch.', 'lsx-health-plan' ), |
|
330 | + 'id' => 'lunch_recipes', |
|
331 | + 'type' => 'post_search_ajax', |
|
332 | + // Optional : |
|
333 | + 'limit' => 15, // Limit selection to X items only (default 1) |
|
334 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
335 | + 'query_args' => array( |
|
336 | + 'post_type' => array( 'recipe' ), |
|
337 | + 'post_status' => array( 'publish' ), |
|
338 | + 'posts_per_page' => -1, |
|
339 | + ), |
|
340 | + ) |
|
341 | + ); |
|
342 | + } |
|
343 | 343 | |
344 | - $cmb->add_field( |
|
345 | - array( |
|
346 | - 'name' => __( 'Pre Dinner Snack', 'lsx-health-plan' ), |
|
347 | - 'id' => $this->slug . '_pre_dinner_snack', |
|
348 | - 'type' => 'wysiwyg', |
|
349 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
350 | - 'options' => array( |
|
351 | - 'textarea_rows' => 5, |
|
352 | - ), |
|
353 | - ) |
|
354 | - ); |
|
355 | - $cmb->add_field( |
|
356 | - array( |
|
357 | - 'name' => __( 'Dinner', 'lsx-health-plan' ), |
|
358 | - 'id' => $this->slug . '_dinner', |
|
359 | - 'type' => 'wysiwyg', |
|
360 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
361 | - 'options' => array( |
|
362 | - 'textarea_rows' => 5, |
|
363 | - ), |
|
364 | - ) |
|
365 | - ); |
|
366 | - $cmb->add_field( |
|
367 | - array( |
|
368 | - 'name' => __( 'Post Dinner Snack', 'lsx-health-plan' ), |
|
369 | - 'id' => $this->slug . '_dinner_snack', |
|
370 | - 'type' => 'wysiwyg', |
|
371 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
372 | - 'options' => array( |
|
373 | - 'textarea_rows' => 5, |
|
374 | - ), |
|
375 | - ) |
|
376 | - ); |
|
344 | + $cmb->add_field( |
|
345 | + array( |
|
346 | + 'name' => __( 'Pre Dinner Snack', 'lsx-health-plan' ), |
|
347 | + 'id' => $this->slug . '_pre_dinner_snack', |
|
348 | + 'type' => 'wysiwyg', |
|
349 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
350 | + 'options' => array( |
|
351 | + 'textarea_rows' => 5, |
|
352 | + ), |
|
353 | + ) |
|
354 | + ); |
|
355 | + $cmb->add_field( |
|
356 | + array( |
|
357 | + 'name' => __( 'Dinner', 'lsx-health-plan' ), |
|
358 | + 'id' => $this->slug . '_dinner', |
|
359 | + 'type' => 'wysiwyg', |
|
360 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
361 | + 'options' => array( |
|
362 | + 'textarea_rows' => 5, |
|
363 | + ), |
|
364 | + ) |
|
365 | + ); |
|
366 | + $cmb->add_field( |
|
367 | + array( |
|
368 | + 'name' => __( 'Post Dinner Snack', 'lsx-health-plan' ), |
|
369 | + 'id' => $this->slug . '_dinner_snack', |
|
370 | + 'type' => 'wysiwyg', |
|
371 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
372 | + 'options' => array( |
|
373 | + 'textarea_rows' => 5, |
|
374 | + ), |
|
375 | + ) |
|
376 | + ); |
|
377 | 377 | |
378 | - if ( post_type_exists( 'recipe' ) ) { |
|
379 | - $cmb->add_field( |
|
380 | - array( |
|
381 | - 'name' => __( 'Dinner Recipes', 'lsx-health-plan' ), |
|
382 | - 'desc' => __( 'Connect additional recipes options for dinner.', 'lsx-health-plan' ), |
|
383 | - 'id' => 'dinner_recipes', |
|
384 | - 'type' => 'post_search_ajax', |
|
385 | - // Optional : |
|
386 | - 'limit' => 15, // Limit selection to X items only (default 1) |
|
387 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
388 | - 'query_args' => array( |
|
389 | - 'post_type' => array( 'recipe' ), |
|
390 | - 'post_status' => array( 'publish' ), |
|
391 | - 'posts_per_page' => -1, |
|
392 | - ), |
|
393 | - ) |
|
394 | - ); |
|
395 | - } |
|
396 | - } |
|
378 | + if ( post_type_exists( 'recipe' ) ) { |
|
379 | + $cmb->add_field( |
|
380 | + array( |
|
381 | + 'name' => __( 'Dinner Recipes', 'lsx-health-plan' ), |
|
382 | + 'desc' => __( 'Connect additional recipes options for dinner.', 'lsx-health-plan' ), |
|
383 | + 'id' => 'dinner_recipes', |
|
384 | + 'type' => 'post_search_ajax', |
|
385 | + // Optional : |
|
386 | + 'limit' => 15, // Limit selection to X items only (default 1) |
|
387 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
388 | + 'query_args' => array( |
|
389 | + 'post_type' => array( 'recipe' ), |
|
390 | + 'post_status' => array( 'publish' ), |
|
391 | + 'posts_per_page' => -1, |
|
392 | + ), |
|
393 | + ) |
|
394 | + ); |
|
395 | + } |
|
396 | + } |
|
397 | 397 | } |
@@ -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 | } |
@@ -11,25 +11,25 @@ discard block |
||
11 | 11 | * @return void |
12 | 12 | */ |
13 | 13 | function lsx_health_plan_warmup_box() { |
14 | - ?> |
|
14 | + ?> |
|
15 | 15 | <div class="col-md-4" > |
16 | 16 | <div class="lsx-health-plan-box"> |
17 | 17 | <h3 class="title warm-up-title title-lined"><?php esc_html_e( 'Your Warm-up', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'warm.svg' ); ?></h3> |
18 | 18 | <div class="spacer"></div> |
19 | 19 | <?php |
20 | - $intro_text = \lsx_health_plan\functions\get_option( 'warmup_intro', false ); |
|
21 | - if ( false !== $intro_text ) { |
|
22 | - ?> |
|
20 | + $intro_text = \lsx_health_plan\functions\get_option( 'warmup_intro', false ); |
|
21 | + if ( false !== $intro_text ) { |
|
22 | + ?> |
|
23 | 23 | <div class="excerpt"> |
24 | 24 | <p><?php echo wp_kses_post( $intro_text ); ?></p> |
25 | 25 | </div> |
26 | 26 | <?php |
27 | - } |
|
28 | - $warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false ); |
|
29 | - if ( false === $warm_up ) { |
|
30 | - $warm_up = 'warm-up'; |
|
31 | - } |
|
32 | - ?> |
|
27 | + } |
|
28 | + $warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false ); |
|
29 | + if ( false === $warm_up ) { |
|
30 | + $warm_up = 'warm-up'; |
|
31 | + } |
|
32 | + ?> |
|
33 | 33 | <a href="<?php the_permalink(); ?><?php echo esc_attr( $warm_up ); ?>/" class="btn"><?php esc_html_e( 'Start your warm-up', 'lsx-health-plan' ); ?></a> |
34 | 34 | </div> |
35 | 35 | </div> |
@@ -42,28 +42,28 @@ discard block |
||
42 | 42 | * @return void |
43 | 43 | */ |
44 | 44 | function lsx_health_plan_workout_box() { |
45 | - if ( ! post_type_exists( 'workout' ) ) { |
|
46 | - return; |
|
47 | - } |
|
48 | - ?> |
|
45 | + if ( ! post_type_exists( 'workout' ) ) { |
|
46 | + return; |
|
47 | + } |
|
48 | + ?> |
|
49 | 49 | <div class="col-md-4" > |
50 | 50 | <div class="lsx-health-plan-box"> |
51 | 51 | <h3 class="title work-out-title title-lined"><?php esc_html_e( 'Your Workout', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'work.svg' ); ?></h3> |
52 | 52 | <div class="spacer"></div> |
53 | 53 | <?php |
54 | - $intro_text = \lsx_health_plan\functions\get_option( 'workout_intro', false ); |
|
55 | - if ( false !== $intro_text ) { |
|
56 | - ?> |
|
54 | + $intro_text = \lsx_health_plan\functions\get_option( 'workout_intro', false ); |
|
55 | + if ( false !== $intro_text ) { |
|
56 | + ?> |
|
57 | 57 | <div class="excerpt"> |
58 | 58 | <p><?php echo wp_kses_post( $intro_text ); ?></p> |
59 | 59 | </div> |
60 | 60 | <?php |
61 | - } |
|
62 | - $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false ); |
|
63 | - if ( false === $workout ) { |
|
64 | - $workout = 'workout'; |
|
65 | - } |
|
66 | - ?> |
|
61 | + } |
|
62 | + $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false ); |
|
63 | + if ( false === $workout ) { |
|
64 | + $workout = 'workout'; |
|
65 | + } |
|
66 | + ?> |
|
67 | 67 | <a href="<?php the_permalink(); ?><?php echo esc_attr( $workout ); ?>/" class="btn"><?php esc_html_e( 'Start your workout', 'lsx-health-plan' ); ?></a> |
68 | 68 | </div> |
69 | 69 | </div> |
@@ -76,28 +76,28 @@ discard block |
||
76 | 76 | * @return void |
77 | 77 | */ |
78 | 78 | function lsx_health_plan_meal_box() { |
79 | - if ( ! post_type_exists( 'meal' ) ) { |
|
80 | - return; |
|
81 | - } |
|
82 | - ?> |
|
79 | + if ( ! post_type_exists( 'meal' ) ) { |
|
80 | + return; |
|
81 | + } |
|
82 | + ?> |
|
83 | 83 | <div class="col-md-4" > |
84 | 84 | <div class="lsx-health-plan-box"> |
85 | 85 | <h3 class="title meal-plan-title title-lined"><?php esc_html_e( 'Your Meal Plan', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'meal.svg' ); ?></h3> |
86 | 86 | <div class="spacer"></div> |
87 | 87 | <?php |
88 | - $intro_text = \lsx_health_plan\functions\get_option( 'meal_plan_intro', false ); |
|
89 | - if ( false !== $intro_text ) { |
|
90 | - ?> |
|
88 | + $intro_text = \lsx_health_plan\functions\get_option( 'meal_plan_intro', false ); |
|
89 | + if ( false !== $intro_text ) { |
|
90 | + ?> |
|
91 | 91 | <div class="excerpt"> |
92 | 92 | <p><?php echo wp_kses_post( $intro_text ); ?></p> |
93 | 93 | </div> |
94 | 94 | <?php |
95 | - } |
|
96 | - $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false ); |
|
97 | - if ( false === $meal ) { |
|
98 | - $meal = 'meal'; |
|
99 | - } |
|
100 | - ?> |
|
95 | + } |
|
96 | + $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false ); |
|
97 | + if ( false === $meal ) { |
|
98 | + $meal = 'meal'; |
|
99 | + } |
|
100 | + ?> |
|
101 | 101 | <a href="<?php the_permalink(); ?><?php echo esc_attr( $meal ); ?>/" class="btn"><?php esc_html_e( 'View your meal plan', 'lsx-health-plan' ); ?></a> |
102 | 102 | </div> |
103 | 103 | </div> |
@@ -110,28 +110,28 @@ discard block |
||
110 | 110 | * @return void |
111 | 111 | */ |
112 | 112 | function lsx_health_plan_recipe_box() { |
113 | - if ( ! post_type_exists( 'recipe' ) ) { |
|
114 | - return; |
|
115 | - } |
|
116 | - ?> |
|
113 | + if ( ! post_type_exists( 'recipe' ) ) { |
|
114 | + return; |
|
115 | + } |
|
116 | + ?> |
|
117 | 117 | <div class="col-md-4" > |
118 | 118 | <div class="lsx-health-plan-box"> |
119 | 119 | <h3 class="title recipes-title title-lined"><?php esc_html_e( 'Recipes', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'recipes.svg' ); ?></h3> |
120 | 120 | <div class="spacer"></div> |
121 | 121 | <?php |
122 | - $intro_text = \lsx_health_plan\functions\get_option( 'recipes_intro', false ); |
|
123 | - if ( false !== $intro_text ) { |
|
124 | - ?> |
|
122 | + $intro_text = \lsx_health_plan\functions\get_option( 'recipes_intro', false ); |
|
123 | + if ( false !== $intro_text ) { |
|
124 | + ?> |
|
125 | 125 | <div class="excerpt"> |
126 | 126 | <p><?php echo wp_kses_post( $intro_text ); ?></p> |
127 | 127 | </div> |
128 | 128 | <?php |
129 | - } |
|
130 | - $recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false ); |
|
131 | - if ( false === $recipes ) { |
|
132 | - $recipes = 'recipes'; |
|
133 | - } |
|
134 | - ?> |
|
129 | + } |
|
130 | + $recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe', false ); |
|
131 | + if ( false === $recipes ) { |
|
132 | + $recipes = 'recipes'; |
|
133 | + } |
|
134 | + ?> |
|
135 | 135 | <a href="<?php the_permalink(); ?><?php echo esc_attr( $recipes ); ?>/" class="btn"><?php esc_html_e( 'View all recipes', 'lsx-health-plan' ); ?></a> |
136 | 136 | </div> |
137 | 137 | </div> |
@@ -144,8 +144,8 @@ discard block |
||
144 | 144 | * @return void |
145 | 145 | */ |
146 | 146 | function lsx_health_plan_downloads_box() { |
147 | - global $current_user; |
|
148 | - ?> |
|
147 | + global $current_user; |
|
148 | + ?> |
|
149 | 149 | <div class="col-md-4 day-download-box" > |
150 | 150 | <div class="lsx-health-plan-box"> |
151 | 151 | <h3 class="title downloads-title title-lined"><?php esc_html_e( 'Downloads', 'lsx-health-plan' ); ?><?php lsx_get_svg_icon( 'download.svg' ); ?></h3> |
@@ -153,13 +153,13 @@ discard block |
||
153 | 153 | <div class="download-list"> |
154 | 154 | <ul> |
155 | 155 | <?php |
156 | - $downloads = \lsx_health_plan\functions\get_downloads(); |
|
157 | - if ( ! empty( $downloads ) ) { |
|
158 | - foreach ( $downloads as $download ) { |
|
159 | - echo wp_kses_post( '<li><a href=""><i class="fa fa-file-pdf"></i>' . do_shortcode( '[download id="' . $download . '"]' ) . '</a></li>' ); |
|
160 | - } |
|
161 | - } |
|
162 | - ?> |
|
156 | + $downloads = \lsx_health_plan\functions\get_downloads(); |
|
157 | + if ( ! empty( $downloads ) ) { |
|
158 | + foreach ( $downloads as $download ) { |
|
159 | + echo wp_kses_post( '<li><a href=""><i class="fa fa-file-pdf"></i>' . do_shortcode( '[download id="' . $download . '"]' ) . '</a></li>' ); |
|
160 | + } |
|
161 | + } |
|
162 | + ?> |
|
163 | 163 | </ul> |
164 | 164 | </div> |
165 | 165 | </div> |
@@ -174,15 +174,15 @@ discard block |
||
174 | 174 | * @return void |
175 | 175 | */ |
176 | 176 | function lsx_health_plan_nav_class( $tab = '' ) { |
177 | - $nav_classes = array(); |
|
178 | - if ( function_exists( 'is_wc_endpoint_url' ) && 'edit-account' === $tab && is_wc_endpoint_url( 'edit-account' ) ) { |
|
179 | - $nav_classes[] = 'active'; |
|
180 | - } elseif ( lsx_health_plan_is_current_tab( $tab ) ) { |
|
181 | - $nav_classes[] = 'active'; |
|
182 | - } |
|
183 | - if ( ! empty( $nav_classes ) ) { |
|
184 | - echo wp_kses_post( implode( ' ', $nav_classes ) ); |
|
185 | - } |
|
177 | + $nav_classes = array(); |
|
178 | + if ( function_exists( 'is_wc_endpoint_url' ) && 'edit-account' === $tab && is_wc_endpoint_url( 'edit-account' ) ) { |
|
179 | + $nav_classes[] = 'active'; |
|
180 | + } elseif ( lsx_health_plan_is_current_tab( $tab ) ) { |
|
181 | + $nav_classes[] = 'active'; |
|
182 | + } |
|
183 | + if ( ! empty( $nav_classes ) ) { |
|
184 | + echo wp_kses_post( implode( ' ', $nav_classes ) ); |
|
185 | + } |
|
186 | 186 | } |
187 | 187 | |
188 | 188 | /** |
@@ -191,22 +191,22 @@ discard block |
||
191 | 191 | * @return void |
192 | 192 | */ |
193 | 193 | function lsx_health_plan_my_profile_tabs() { |
194 | - ?> |
|
194 | + ?> |
|
195 | 195 | <div id="account-nav"> |
196 | 196 | <ul class="nav nav-pills"> |
197 | 197 | <li class=" |
198 | 198 | <?php |
199 | - if ( ( function_exists( 'is_wc_endpoint_url' ) && ! is_wc_endpoint_url( 'edit-account' ) ) || ! function_exists( 'is_wc_endpoint_url' ) ) { |
|
200 | - echo esc_attr( 'active' ); |
|
201 | - } |
|
202 | - ?> |
|
199 | + if ( ( function_exists( 'is_wc_endpoint_url' ) && ! is_wc_endpoint_url( 'edit-account' ) ) || ! function_exists( 'is_wc_endpoint_url' ) ) { |
|
200 | + echo esc_attr( 'active' ); |
|
201 | + } |
|
202 | + ?> |
|
203 | 203 | "><a class="my-plan-tab" href="<?php the_permalink(); ?>"><?php esc_html_e( 'My Plans', 'lsx-health-plan' ); ?></a></li> |
204 | 204 | <li class=" |
205 | 205 | <?php |
206 | - if ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'edit-account' ) ) { |
|
207 | - echo esc_attr( 'active' ); |
|
208 | - } |
|
209 | - ?> |
|
206 | + if ( function_exists( 'is_wc_endpoint_url' ) && is_wc_endpoint_url( 'edit-account' ) ) { |
|
207 | + echo esc_attr( 'active' ); |
|
208 | + } |
|
209 | + ?> |
|
210 | 210 | "><a class="account-details-tab" href="<?php the_permalink(); ?>edit-account/"><?php esc_html_e( 'Account Details', 'lsx-health-plan' ); ?></a></li> |
211 | 211 | <li class=""><a class="logout-tab" href="<?php echo esc_url( wp_logout_url( get_permalink() ) ); ?>"><?php esc_html_e( 'Logout', 'lsx-health-plan' ); ?></a></li> |
212 | 212 | </ul> |
@@ -220,7 +220,7 @@ discard block |
||
220 | 220 | * @return void |
221 | 221 | */ |
222 | 222 | function lsx_health_plan_my_profile_box() { |
223 | - ?> |
|
223 | + ?> |
|
224 | 224 | <div class="lsx-health-plan my-profile-block wp-block-cover alignfull"> |
225 | 225 | <div class="wp-block-cover__inner-container"> |
226 | 226 | <h2><?php esc_html_e( 'My Dashboard', 'lsx-health-plan' ); ?></h2> |
@@ -228,86 +228,86 @@ discard block |
||
228 | 228 | <div class="profile-navigation"> |
229 | 229 | <div class="profile-photo"> |
230 | 230 | <?php |
231 | - global $current_user; |
|
232 | - get_current_user(); |
|
233 | - echo get_avatar( $current_user->ID, 240 ); |
|
234 | - ?> |
|
231 | + global $current_user; |
|
232 | + get_current_user(); |
|
233 | + echo get_avatar( $current_user->ID, 240 ); |
|
234 | + ?> |
|
235 | 235 | </div> |
236 | 236 | </div> |
237 | 237 | <div class="profile-details"> |
238 | 238 | <h1 class="title-lined has-text-color"><?php echo esc_html( $current_user->display_name ); ?></h1> |
239 | 239 | <?php |
240 | - $disable_stats = \lsx_health_plan\functions\get_option( 'disable_all_stats', false ); |
|
241 | - if ( 'on' !== $disable_stats ) { |
|
240 | + $disable_stats = \lsx_health_plan\functions\get_option( 'disable_all_stats', false ); |
|
241 | + if ( 'on' !== $disable_stats ) { |
|
242 | 242 | |
243 | - $is_weight_disabled = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false ); |
|
244 | - $is_height_disabled = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false ); |
|
245 | - $is_waist_disabled = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false ); |
|
246 | - $is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false ); |
|
243 | + $is_weight_disabled = \lsx_health_plan\functions\get_option( 'disable_weight_checkbox', false ); |
|
244 | + $is_height_disabled = \lsx_health_plan\functions\get_option( 'disable_height_checkbox', false ); |
|
245 | + $is_waist_disabled = \lsx_health_plan\functions\get_option( 'disable_waist_checkbox', false ); |
|
246 | + $is_bmi_disabled = \lsx_health_plan\functions\get_option( 'disable_bmi_checkbox', false ); |
|
247 | 247 | |
248 | - $weight = get_user_meta( get_current_user_id(), 'weight', true ); |
|
249 | - $waist = get_user_meta( get_current_user_id(), 'waist', true ); |
|
250 | - $height = get_user_meta( get_current_user_id(), 'height', true ); |
|
248 | + $weight = get_user_meta( get_current_user_id(), 'weight', true ); |
|
249 | + $waist = get_user_meta( get_current_user_id(), 'waist', true ); |
|
250 | + $height = get_user_meta( get_current_user_id(), 'height', true ); |
|
251 | 251 | |
252 | - $height_m = $height / 100; |
|
252 | + $height_m = $height / 100; |
|
253 | 253 | |
254 | - if ( 1 < $weight && 1 < $height_m ) { |
|
255 | - $bmi = $weight / ( $height_m * $height_m ); |
|
256 | - $bmi = number_format( $bmi, 1 ); |
|
257 | - } else { |
|
258 | - $bmi = __( 'Add more data', 'lsx-health-plan' ); |
|
259 | - } |
|
254 | + if ( 1 < $weight && 1 < $height_m ) { |
|
255 | + $bmi = $weight / ( $height_m * $height_m ); |
|
256 | + $bmi = number_format( $bmi, 1 ); |
|
257 | + } else { |
|
258 | + $bmi = __( 'Add more data', 'lsx-health-plan' ); |
|
259 | + } |
|
260 | 260 | |
261 | - ?> |
|
261 | + ?> |
|
262 | 262 | |
263 | 263 | <div> |
264 | 264 | <?php if ( 'on' !== $is_weight_disabled ) { ?> |
265 | 265 | <span><strong><?php esc_html_e( 'Weight:', 'lsx-health-plan' ); ?></strong> |
266 | 266 | <?php |
267 | - if ( '' !== $weight ) { |
|
268 | - echo wp_kses_post( $weight . ' kg' ); |
|
269 | - } else { |
|
270 | - echo '/'; |
|
271 | - } |
|
272 | - ?> |
|
267 | + if ( '' !== $weight ) { |
|
268 | + echo wp_kses_post( $weight . ' kg' ); |
|
269 | + } else { |
|
270 | + echo '/'; |
|
271 | + } |
|
272 | + ?> |
|
273 | 273 | </span> |
274 | 274 | <?php } |
275 | - if ( 'on' !== $is_waist_disabled ) { |
|
276 | - ?> |
|
275 | + if ( 'on' !== $is_waist_disabled ) { |
|
276 | + ?> |
|
277 | 277 | <span><strong><?php esc_html_e( 'Waist:', 'lsx-health-plan' ); ?></strong> |
278 | 278 | <?php |
279 | - if ( '' !== $waist ) { |
|
280 | - echo wp_kses_post( $waist . ' cm' ); |
|
281 | - } else { |
|
282 | - echo '/'; |
|
283 | - } |
|
284 | - ?> |
|
279 | + if ( '' !== $waist ) { |
|
280 | + echo wp_kses_post( $waist . ' cm' ); |
|
281 | + } else { |
|
282 | + echo '/'; |
|
283 | + } |
|
284 | + ?> |
|
285 | 285 | </span> |
286 | 286 | <?php } |
287 | - if ( 'on' !== $is_bmi_disabled ) { |
|
288 | - ?> |
|
287 | + if ( 'on' !== $is_bmi_disabled ) { |
|
288 | + ?> |
|
289 | 289 | <span><strong><?php esc_html_e( 'BMI:', 'lsx-health-plan' ); ?></strong> |
290 | 290 | <?php |
291 | - if ( '' !== $bmi ) { |
|
292 | - echo wp_kses_post( $bmi ); |
|
293 | - } else { |
|
294 | - echo '/'; |
|
295 | - } |
|
296 | - ?> |
|
291 | + if ( '' !== $bmi ) { |
|
292 | + echo wp_kses_post( $bmi ); |
|
293 | + } else { |
|
294 | + echo '/'; |
|
295 | + } |
|
296 | + ?> |
|
297 | 297 | </span> |
298 | 298 | <?php } ?> |
299 | 299 | </div> |
300 | 300 | <?php |
301 | - } |
|
302 | - ?> |
|
301 | + } |
|
302 | + ?> |
|
303 | 303 | <div class="edit-profile"> |
304 | 304 | <?php |
305 | - if ( function_exists( 'wc_get_page_id' ) ) { |
|
306 | - $url_id = wc_get_page_id( 'myaccount' ); |
|
307 | - } else { |
|
308 | - $url_id = ''; |
|
309 | - } |
|
310 | - ?> |
|
305 | + if ( function_exists( 'wc_get_page_id' ) ) { |
|
306 | + $url_id = wc_get_page_id( 'myaccount' ); |
|
307 | + } else { |
|
308 | + $url_id = ''; |
|
309 | + } |
|
310 | + ?> |
|
311 | 311 | <a href="<?php echo esc_url( get_permalink( $url_id ) ); ?>edit-account/"><?php esc_html_e( 'Edit', 'lsx-health-plan' ); ?></a> |
312 | 312 | </div> |
313 | 313 | </div> |
@@ -323,63 +323,63 @@ discard block |
||
323 | 323 | * @return void |
324 | 324 | */ |
325 | 325 | function lsx_health_plan_all_plans_block() { |
326 | - global $post, $product; |
|
327 | - |
|
328 | - $args = array( |
|
329 | - 'orderby' => 'menu_order', |
|
330 | - 'order' => 'ASC', |
|
331 | - 'post_type' => 'plan', |
|
332 | - 'nopagin' => true, |
|
333 | - 'post_parent' => 0, |
|
334 | - ); |
|
335 | - |
|
336 | - $product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products(); |
|
337 | - if ( ! empty( $product_ids ) ) { |
|
338 | - $args['meta_query'] = array( |
|
339 | - 'relation' => 'OR', |
|
340 | - array( |
|
341 | - 'key' => '_plan_product_id', |
|
342 | - 'value' => $product_ids, |
|
343 | - 'compare' => 'IN', |
|
344 | - ), |
|
345 | - array( |
|
346 | - 'key' => '_plan_product_id', |
|
347 | - 'compare' => 'NOT EXISTS', |
|
348 | - ), |
|
349 | - ); |
|
350 | - } |
|
351 | - |
|
352 | - $the_query = new WP_Query( $args ); |
|
353 | - ?> |
|
326 | + global $post, $product; |
|
327 | + |
|
328 | + $args = array( |
|
329 | + 'orderby' => 'menu_order', |
|
330 | + 'order' => 'ASC', |
|
331 | + 'post_type' => 'plan', |
|
332 | + 'nopagin' => true, |
|
333 | + 'post_parent' => 0, |
|
334 | + ); |
|
335 | + |
|
336 | + $product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products(); |
|
337 | + if ( ! empty( $product_ids ) ) { |
|
338 | + $args['meta_query'] = array( |
|
339 | + 'relation' => 'OR', |
|
340 | + array( |
|
341 | + 'key' => '_plan_product_id', |
|
342 | + 'value' => $product_ids, |
|
343 | + 'compare' => 'IN', |
|
344 | + ), |
|
345 | + array( |
|
346 | + 'key' => '_plan_product_id', |
|
347 | + 'compare' => 'NOT EXISTS', |
|
348 | + ), |
|
349 | + ); |
|
350 | + } |
|
351 | + |
|
352 | + $the_query = new WP_Query( $args ); |
|
353 | + ?> |
|
354 | 354 | <div class="all-plans-block plan-grid block-all-plans-block"> |
355 | 355 | <div class="row"> |
356 | 356 | <?php |
357 | - if ( $the_query->have_posts() ) : |
|
358 | - while ( $the_query->have_posts() ) : |
|
359 | - $the_query->the_post(); |
|
360 | - lsx_entry_before(); |
|
361 | - $completed_class = ''; |
|
362 | - $linked_product = false; |
|
363 | - $restricted = false; |
|
364 | - $product = null; |
|
365 | - if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) { |
|
366 | - $products = \lsx_health_plan\functions\woocommerce\get_plan_products(); |
|
367 | - $linked_product = wc_get_product( $products[0] ); |
|
368 | - $product = $linked_product; |
|
369 | - } |
|
370 | - if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) { |
|
371 | - $restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() ); |
|
372 | - } |
|
373 | - |
|
374 | - if ( lsx_health_plan_is_plan_complete() ) { |
|
375 | - $completed_class = 'completed'; |
|
376 | - } |
|
377 | - $round_progress = ''; |
|
378 | - $completed_progress = '100'; |
|
379 | - if ( false === $restricted ) { |
|
380 | - $round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 ); |
|
381 | - } |
|
382 | - ?> |
|
357 | + if ( $the_query->have_posts() ) : |
|
358 | + while ( $the_query->have_posts() ) : |
|
359 | + $the_query->the_post(); |
|
360 | + lsx_entry_before(); |
|
361 | + $completed_class = ''; |
|
362 | + $linked_product = false; |
|
363 | + $restricted = false; |
|
364 | + $product = null; |
|
365 | + if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) { |
|
366 | + $products = \lsx_health_plan\functions\woocommerce\get_plan_products(); |
|
367 | + $linked_product = wc_get_product( $products[0] ); |
|
368 | + $product = $linked_product; |
|
369 | + } |
|
370 | + if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) { |
|
371 | + $restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() ); |
|
372 | + } |
|
373 | + |
|
374 | + if ( lsx_health_plan_is_plan_complete() ) { |
|
375 | + $completed_class = 'completed'; |
|
376 | + } |
|
377 | + $round_progress = ''; |
|
378 | + $completed_progress = '100'; |
|
379 | + if ( false === $restricted ) { |
|
380 | + $round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 ); |
|
381 | + } |
|
382 | + ?> |
|
383 | 383 | <div class="col-xs-12 col-sm-6 col-md-4"> |
384 | 384 | <article class="lsx-slot lsx-hp-shadow <?php echo esc_html( 'progress-') . $round_progress; ?>"> |
385 | 385 | <div class="plan-feature-img"> |
@@ -388,45 +388,45 @@ discard block |
||
388 | 388 | <?php } ?> |
389 | 389 | <a href="<?php echo esc_url( get_permalink() ); ?>"> |
390 | 390 | <?php |
391 | - $featured_image = get_the_post_thumbnail(); |
|
392 | - if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
393 | - the_post_thumbnail( 'lsx-thumbnail', array( |
|
394 | - 'class' => 'aligncenter', |
|
395 | - ) ); |
|
396 | - } else { |
|
397 | - ?> |
|
391 | + $featured_image = get_the_post_thumbnail(); |
|
392 | + if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
393 | + the_post_thumbnail( 'lsx-thumbnail', array( |
|
394 | + 'class' => 'aligncenter', |
|
395 | + ) ); |
|
396 | + } else { |
|
397 | + ?> |
|
398 | 398 | <img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>"> |
399 | 399 | <?php |
400 | - } |
|
401 | - ?> |
|
400 | + } |
|
401 | + ?> |
|
402 | 402 | </a> |
403 | 403 | </div> |
404 | 404 | <div class="content-box plan-content-box"> |
405 | 405 | <h3 class="plan id-<?php the_ID(); ?> <?php echo esc_attr( $completed_class ); ?>"><a href="<?php echo esc_url( get_permalink() ); ?>"><?php the_title(); ?></a></h3> |
406 | 406 | <?php |
407 | - echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) ); |
|
408 | - ?> |
|
407 | + echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) ); |
|
408 | + ?> |
|
409 | 409 | <?php |
410 | - if ( false !== $linked_product && false !== $restricted ) { |
|
411 | - echo wp_kses_post( $linked_product->get_price_html() ); |
|
412 | - } |
|
413 | - ?> |
|
410 | + if ( false !== $linked_product && false !== $restricted ) { |
|
411 | + echo wp_kses_post( $linked_product->get_price_html() ); |
|
412 | + } |
|
413 | + ?> |
|
414 | 414 | <div class="excerpt"> |
415 | 415 | <?php |
416 | - if ( ! has_excerpt() ) { |
|
417 | - $content = wp_trim_words( get_the_content(), 20 ); |
|
418 | - $content = '<p>' . $content . '</pre>'; |
|
419 | - } else { |
|
420 | - $content = apply_filters( 'the_excerpt', get_the_excerpt() ); |
|
421 | - } |
|
422 | - echo wp_kses_post( $content ); |
|
423 | - ?> |
|
416 | + if ( ! has_excerpt() ) { |
|
417 | + $content = wp_trim_words( get_the_content(), 20 ); |
|
418 | + $content = '<p>' . $content . '</pre>'; |
|
419 | + } else { |
|
420 | + $content = apply_filters( 'the_excerpt', get_the_excerpt() ); |
|
421 | + } |
|
422 | + echo wp_kses_post( $content ); |
|
423 | + ?> |
|
424 | 424 | </div> |
425 | 425 | <?php |
426 | - if ( false === $restricted ) { |
|
427 | - echo wp_kses_post( '<span class="progress"><progress class="bar" value="' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '" max="100"> ' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '% </progress><span>' . $round_progress . '%</span></span>' ); |
|
428 | - } |
|
429 | - ?> |
|
426 | + if ( false === $restricted ) { |
|
427 | + echo wp_kses_post( '<span class="progress"><progress class="bar" value="' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '" max="100"> ' . \lsx_health_plan\functions\get_progress( get_the_ID() ) . '% </progress><span>' . $round_progress . '%</span></span>' ); |
|
428 | + } |
|
429 | + ?> |
|
430 | 430 | </div> |
431 | 431 | </article> |
432 | 432 | </div> |
@@ -445,36 +445,36 @@ discard block |
||
445 | 445 | * @return void |
446 | 446 | */ |
447 | 447 | function lsx_health_plan_day_plan_block( $args = array() ) { |
448 | - $defaults = array( |
|
449 | - 'plan' => '', |
|
450 | - ); |
|
451 | - $args = wp_parse_args( $args, $defaults ); |
|
452 | - |
|
453 | - if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) { |
|
454 | - $sections = \lsx_health_plan\functions\plan\get_sections(); |
|
455 | - ?> |
|
448 | + $defaults = array( |
|
449 | + 'plan' => '', |
|
450 | + ); |
|
451 | + $args = wp_parse_args( $args, $defaults ); |
|
452 | + |
|
453 | + if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) { |
|
454 | + $sections = \lsx_health_plan\functions\plan\get_sections(); |
|
455 | + ?> |
|
456 | 456 | <div class="daily-plan-block day-grid"> |
457 | 457 | <?php |
458 | - foreach ( $sections as $section_key => $section_values ) { |
|
459 | - $defaults = array( |
|
460 | - 'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ), |
|
461 | - ); |
|
462 | - $section_args = wp_parse_args( $section_values, $defaults ); |
|
463 | - |
|
464 | - $completed_class = ''; |
|
465 | - if ( lsx_health_plan_is_day_complete() ) { |
|
466 | - $completed_class = 'completed'; |
|
467 | - } |
|
468 | - ?> |
|
458 | + foreach ( $sections as $section_key => $section_values ) { |
|
459 | + $defaults = array( |
|
460 | + 'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ), |
|
461 | + ); |
|
462 | + $section_args = wp_parse_args( $section_values, $defaults ); |
|
463 | + |
|
464 | + $completed_class = ''; |
|
465 | + if ( lsx_health_plan_is_day_complete() ) { |
|
466 | + $completed_class = 'completed'; |
|
467 | + } |
|
468 | + ?> |
|
469 | 469 | <a href="<?php echo esc_attr( \lsx_health_plan\functions\plan\get_permalink( $args['plan'], $section_args['title'] ) ); ?>" class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>"> |
470 | 470 | <div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div> |
471 | 471 | </a> |
472 | 472 | <?php |
473 | - } |
|
474 | - ?> |
|
473 | + } |
|
474 | + ?> |
|
475 | 475 | </div> |
476 | 476 | <?php |
477 | - } |
|
477 | + } |
|
478 | 478 | } |
479 | 479 | |
480 | 480 | /** |
@@ -484,44 +484,44 @@ discard block |
||
484 | 484 | * @return void |
485 | 485 | */ |
486 | 486 | function lsx_health_plan_week_plan_block( $args = array() ) { |
487 | - $defaults = array( |
|
488 | - 'show_downloads' => false, |
|
489 | - 'plan' => '', |
|
490 | - ); |
|
491 | - $args = wp_parse_args( $args, $defaults ); |
|
492 | - |
|
493 | - if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) { |
|
494 | - $groups = \lsx_health_plan\functions\plan\get_sections( true ); |
|
495 | - |
|
496 | - if ( ! empty( $groups ) ) { |
|
497 | - $counter = 1; |
|
498 | - $group_open = false; |
|
499 | - |
|
500 | - foreach ( $groups as $group_key => $sections ) { |
|
501 | - $collapse_class = ''; |
|
502 | - $group_title = \lsx_health_plan\functions\plan\get_group_title( $sections ); |
|
503 | - |
|
504 | - // Determine if the current week is complete. |
|
505 | - $day_ids = wp_list_pluck( $sections, 'title' ); |
|
506 | - if ( false === $group_open ) { |
|
507 | - if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) { |
|
508 | - $collapse_class = 'in'; |
|
509 | - $group_open = true; |
|
510 | - } elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) { |
|
511 | - $collapse_class = 'in'; |
|
512 | - $group_open = true; |
|
513 | - } |
|
514 | - } |
|
515 | - |
|
516 | - // Determine if there are any weekly downloads. |
|
517 | - $week_downloads_view = ''; |
|
518 | - /*if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) { |
|
487 | + $defaults = array( |
|
488 | + 'show_downloads' => false, |
|
489 | + 'plan' => '', |
|
490 | + ); |
|
491 | + $args = wp_parse_args( $args, $defaults ); |
|
492 | + |
|
493 | + if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) { |
|
494 | + $groups = \lsx_health_plan\functions\plan\get_sections( true ); |
|
495 | + |
|
496 | + if ( ! empty( $groups ) ) { |
|
497 | + $counter = 1; |
|
498 | + $group_open = false; |
|
499 | + |
|
500 | + foreach ( $groups as $group_key => $sections ) { |
|
501 | + $collapse_class = ''; |
|
502 | + $group_title = \lsx_health_plan\functions\plan\get_group_title( $sections ); |
|
503 | + |
|
504 | + // Determine if the current week is complete. |
|
505 | + $day_ids = wp_list_pluck( $sections, 'title' ); |
|
506 | + if ( false === $group_open ) { |
|
507 | + if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) { |
|
508 | + $collapse_class = 'in'; |
|
509 | + $group_open = true; |
|
510 | + } elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) { |
|
511 | + $collapse_class = 'in'; |
|
512 | + $group_open = true; |
|
513 | + } |
|
514 | + } |
|
515 | + |
|
516 | + // Determine if there are any weekly downloads. |
|
517 | + $week_downloads_view = ''; |
|
518 | + /*if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) { |
|
519 | 519 | $weekly_downloads = \lsx_health_plan\functions\get_weekly_downloads( $group_key ); |
520 | 520 | if ( ! empty( $weekly_downloads ) ) { |
521 | 521 | $week_downloads_view = 'week-downloads-view-on'; |
522 | 522 | } |
523 | 523 | }*/ |
524 | - ?> |
|
524 | + ?> |
|
525 | 525 | <div class="daily-plan-block week-grid"> |
526 | 526 | <a href="#group-<?php echo esc_attr( $group_key ); ?>" data-toggle="collapse" class="week-title"><?php echo esc_attr( $group_title ); ?></a> |
527 | 527 | <div id="group-<?php echo esc_attr( $group_key ); ?>" class="week-row collapse <?php echo esc_attr( $collapse_class ); ?>"> |
@@ -535,38 +535,38 @@ discard block |
||
535 | 535 | <div class="week-meals-recipes-box-inner"> |
536 | 536 | <?php |
537 | 537 | |
538 | - foreach ( $sections as $section_key => $section_values ) { |
|
538 | + foreach ( $sections as $section_key => $section_values ) { |
|
539 | 539 | |
540 | - $defaults = array( |
|
541 | - 'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ), |
|
542 | - ); |
|
543 | - $section_args = wp_parse_args( $section_values, $defaults ); |
|
540 | + $defaults = array( |
|
541 | + 'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ), |
|
542 | + ); |
|
543 | + $section_args = wp_parse_args( $section_values, $defaults ); |
|
544 | 544 | |
545 | - $completed_class = ''; |
|
546 | - if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) { |
|
547 | - $completed_class = 'completed'; |
|
548 | - } |
|
549 | - ?> |
|
545 | + $completed_class = ''; |
|
546 | + if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) { |
|
547 | + $completed_class = 'completed'; |
|
548 | + } |
|
549 | + ?> |
|
550 | 550 | <a href="<?php echo esc_attr( \lsx_health_plan\functions\plan\get_permalink( $args['plan'], $section_args['title'] ) ); ?>" class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>"> |
551 | 551 | <div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div> |
552 | 552 | </a> |
553 | 553 | <?php |
554 | - } |
|
555 | - ?> |
|
554 | + } |
|
555 | + ?> |
|
556 | 556 | </div> |
557 | 557 | </div> |
558 | 558 | <?php |
559 | - if ( ! empty( $week_downloads_view ) ) { |
|
560 | - //lsx_health_plan_weekly_downloads( $weekly_downloads ); |
|
561 | - } |
|
562 | - ?> |
|
559 | + if ( ! empty( $week_downloads_view ) ) { |
|
560 | + //lsx_health_plan_weekly_downloads( $weekly_downloads ); |
|
561 | + } |
|
562 | + ?> |
|
563 | 563 | </div> |
564 | 564 | </div> |
565 | 565 | </div> |
566 | 566 | <?php |
567 | - } |
|
568 | - } |
|
569 | - } |
|
567 | + } |
|
568 | + } |
|
569 | + } |
|
570 | 570 | } |
571 | 571 | |
572 | 572 | /** |
@@ -576,22 +576,22 @@ discard block |
||
576 | 576 | * @return void |
577 | 577 | */ |
578 | 578 | function lsx_health_plan_weekly_downloads( $weekly_downloads = array() ) { |
579 | - if ( ! empty( $weekly_downloads ) ) { |
|
580 | - ?> |
|
579 | + if ( ! empty( $weekly_downloads ) ) { |
|
580 | + ?> |
|
581 | 581 | <div class="week-download-box"> |
582 | 582 | <h3 class="title"><?php lsx_get_svg_icon( 'download.svg' ); ?><?php echo esc_html_e( 'Downloads', 'lsx-health-plan' ); ?></h3> |
583 | 583 | <ul class="week-download-box-list"> |
584 | 584 | <?php |
585 | - foreach ( $weekly_downloads as $weekly_download ) { |
|
586 | - ?> |
|
585 | + foreach ( $weekly_downloads as $weekly_download ) { |
|
586 | + ?> |
|
587 | 587 | <li><?php echo wp_kses_post( do_shortcode( '[download id="' . $weekly_download . '"]' ) ); ?></li> |
588 | 588 | <?php |
589 | - } |
|
590 | - ?> |
|
589 | + } |
|
590 | + ?> |
|
591 | 591 | </ul> |
592 | 592 | </div> |
593 | 593 | <?php |
594 | - } |
|
594 | + } |
|
595 | 595 | } |
596 | 596 | |
597 | 597 | /** |
@@ -600,9 +600,9 @@ discard block |
||
600 | 600 | * @return void |
601 | 601 | */ |
602 | 602 | function lsx_health_plan_items( $args = array() ) { |
603 | - global $shortcode_args; |
|
604 | - $shortcode_args = $args; |
|
605 | - include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php'; |
|
603 | + global $shortcode_args; |
|
604 | + $shortcode_args = $args; |
|
605 | + include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php'; |
|
606 | 606 | } |
607 | 607 | |
608 | 608 | /** |
@@ -611,10 +611,10 @@ discard block |
||
611 | 611 | * @return void |
612 | 612 | */ |
613 | 613 | function lsx_health_plan_featured_video_block() { |
614 | - if ( ! post_type_exists( 'video' ) ) { |
|
615 | - return; |
|
616 | - } |
|
617 | - include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php'; |
|
614 | + if ( ! post_type_exists( 'video' ) ) { |
|
615 | + return; |
|
616 | + } |
|
617 | + include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php'; |
|
618 | 618 | } |
619 | 619 | |
620 | 620 | /** |
@@ -623,10 +623,10 @@ discard block |
||
623 | 623 | * @return void |
624 | 624 | */ |
625 | 625 | function lsx_health_plan_featured_recipes_block() { |
626 | - if ( ! post_type_exists( 'recipe' ) ) { |
|
627 | - return; |
|
628 | - } |
|
629 | - include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php'; |
|
626 | + if ( ! post_type_exists( 'recipe' ) ) { |
|
627 | + return; |
|
628 | + } |
|
629 | + include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php'; |
|
630 | 630 | } |
631 | 631 | |
632 | 632 | /** |
@@ -635,7 +635,7 @@ discard block |
||
635 | 635 | * @return void |
636 | 636 | */ |
637 | 637 | function lsx_health_plan_featured_tips_block() { |
638 | - include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php'; |
|
638 | + include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php'; |
|
639 | 639 | } |
640 | 640 | |
641 | 641 | /** |
@@ -645,11 +645,11 @@ discard block |
||
645 | 645 | * @return void |
646 | 646 | */ |
647 | 647 | function lsx_health_plan_day_button() { |
648 | - if ( lsx_health_plan_is_day_complete() ) { |
|
649 | - lsx_health_plan_unlock_button(); |
|
650 | - } else { |
|
651 | - lsx_health_plan_complete_button(); |
|
652 | - } |
|
648 | + if ( lsx_health_plan_is_day_complete() ) { |
|
649 | + lsx_health_plan_unlock_button(); |
|
650 | + } else { |
|
651 | + lsx_health_plan_complete_button(); |
|
652 | + } |
|
653 | 653 | } |
654 | 654 | |
655 | 655 | /** |
@@ -658,7 +658,7 @@ discard block |
||
658 | 658 | * @return void |
659 | 659 | */ |
660 | 660 | function lsx_health_plan_complete_button() { |
661 | - ?> |
|
661 | + ?> |
|
662 | 662 | <div class="single-plan-inner-buttons"> |
663 | 663 | <form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn"> |
664 | 664 | <?php wp_nonce_field( 'complete', 'lsx-health-plan-actions' ); ?> |
@@ -676,7 +676,7 @@ discard block |
||
676 | 676 | * @return void |
677 | 677 | */ |
678 | 678 | function lsx_health_plan_unlock_button() { |
679 | - ?> |
|
679 | + ?> |
|
680 | 680 | <div class="single-plan-inner-buttons"> |
681 | 681 | <form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn"> |
682 | 682 | <?php wp_nonce_field( 'unlock', 'lsx-health-plan-actions' ); ?> |
@@ -695,10 +695,10 @@ discard block |
||
695 | 695 | * @return void |
696 | 696 | */ |
697 | 697 | function lsx_health_plan_single_nav() { |
698 | - $tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' ); |
|
699 | - if ( '' !== $tab_template_path ) { |
|
700 | - require $tab_template_path; |
|
701 | - } |
|
698 | + $tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' ); |
|
699 | + if ( '' !== $tab_template_path ) { |
|
700 | + require $tab_template_path; |
|
701 | + } |
|
702 | 702 | } |
703 | 703 | |
704 | 704 | /** |
@@ -708,32 +708,32 @@ discard block |
||
708 | 708 | * @return void |
709 | 709 | */ |
710 | 710 | function lsx_health_plan_single_tabs() { |
711 | - $endpoint = get_query_var( 'endpoint' ); |
|
712 | - switch ( $endpoint ) { |
|
713 | - case 'meal': |
|
714 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php'; |
|
715 | - break; |
|
716 | - |
|
717 | - case 'recipes': |
|
718 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php'; |
|
719 | - break; |
|
720 | - |
|
721 | - case 'workout': |
|
722 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php'; |
|
723 | - break; |
|
724 | - |
|
725 | - case 'warm-up': |
|
726 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php'; |
|
727 | - break; |
|
728 | - |
|
729 | - default: |
|
730 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php'; |
|
731 | - break; |
|
732 | - } |
|
733 | - $tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path ); |
|
734 | - if ( '' !== $tab_template_path ) { |
|
735 | - include $tab_template_path; |
|
736 | - } |
|
711 | + $endpoint = get_query_var( 'endpoint' ); |
|
712 | + switch ( $endpoint ) { |
|
713 | + case 'meal': |
|
714 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php'; |
|
715 | + break; |
|
716 | + |
|
717 | + case 'recipes': |
|
718 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php'; |
|
719 | + break; |
|
720 | + |
|
721 | + case 'workout': |
|
722 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php'; |
|
723 | + break; |
|
724 | + |
|
725 | + case 'warm-up': |
|
726 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php'; |
|
727 | + break; |
|
728 | + |
|
729 | + default: |
|
730 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php'; |
|
731 | + break; |
|
732 | + } |
|
733 | + $tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path ); |
|
734 | + if ( '' !== $tab_template_path ) { |
|
735 | + include $tab_template_path; |
|
736 | + } |
|
737 | 737 | } |
738 | 738 | |
739 | 739 | /** |
@@ -742,7 +742,7 @@ discard block |
||
742 | 742 | * @return void |
743 | 743 | */ |
744 | 744 | function lsx_health_plan_recipe_data() { |
745 | - include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php'; |
|
745 | + include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php'; |
|
746 | 746 | } |
747 | 747 | |
748 | 748 | /** |
@@ -751,11 +751,11 @@ discard block |
||
751 | 751 | * @return recipe_type |
752 | 752 | */ |
753 | 753 | function lsx_health_plan_recipe_type() { |
754 | - $term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' ); |
|
755 | - $recipe_type = $term_obj_list[0]->name; |
|
756 | - if ( ! empty( $recipe_type ) ) { |
|
757 | - return $recipe_type; |
|
758 | - } |
|
754 | + $term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' ); |
|
755 | + $recipe_type = $term_obj_list[0]->name; |
|
756 | + if ( ! empty( $recipe_type ) ) { |
|
757 | + return $recipe_type; |
|
758 | + } |
|
759 | 759 | } |
760 | 760 | |
761 | 761 | /** |
@@ -766,35 +766,35 @@ discard block |
||
766 | 766 | * @return void |
767 | 767 | */ |
768 | 768 | function lsx_health_plan_workout_video_play_button( $m, $group, $echo = true ) { |
769 | - $workout_video = ''; |
|
770 | - $giphy = ''; |
|
771 | - $youtube = ''; |
|
772 | - if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) { |
|
773 | - $workout_video = esc_html( $group['connected_videos'] ); |
|
774 | - $giphy = get_post_meta( $workout_video, 'video_giphy_source', true ); |
|
775 | - $youtube = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) ); |
|
776 | - $content = get_post_field( 'post_content', $workout_video ); |
|
777 | - $play_button = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>'; |
|
778 | - |
|
779 | - $modal_body = ''; |
|
780 | - if ( ! empty( $giphy ) ) { |
|
781 | - $giphy = \lsx_health_plan\functions\get_video_url( $giphy ); |
|
782 | - $modal_body = $giphy; // WPCS: XSS OK. |
|
783 | - } elseif ( ! empty( $youtube ) ) { |
|
784 | - $modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK. |
|
785 | - 'width' => 480, |
|
786 | - ) ); |
|
787 | - } |
|
788 | - $modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>'; |
|
789 | - $modal_body .= $content; |
|
790 | - \lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body ); |
|
791 | - |
|
792 | - if ( true === $echo ) { |
|
793 | - echo wp_kses_post( $play_button ); |
|
794 | - } else { |
|
795 | - return $play_button; |
|
796 | - } |
|
797 | - } |
|
769 | + $workout_video = ''; |
|
770 | + $giphy = ''; |
|
771 | + $youtube = ''; |
|
772 | + if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) { |
|
773 | + $workout_video = esc_html( $group['connected_videos'] ); |
|
774 | + $giphy = get_post_meta( $workout_video, 'video_giphy_source', true ); |
|
775 | + $youtube = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) ); |
|
776 | + $content = get_post_field( 'post_content', $workout_video ); |
|
777 | + $play_button = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>'; |
|
778 | + |
|
779 | + $modal_body = ''; |
|
780 | + if ( ! empty( $giphy ) ) { |
|
781 | + $giphy = \lsx_health_plan\functions\get_video_url( $giphy ); |
|
782 | + $modal_body = $giphy; // WPCS: XSS OK. |
|
783 | + } elseif ( ! empty( $youtube ) ) { |
|
784 | + $modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK. |
|
785 | + 'width' => 480, |
|
786 | + ) ); |
|
787 | + } |
|
788 | + $modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>'; |
|
789 | + $modal_body .= $content; |
|
790 | + \lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body ); |
|
791 | + |
|
792 | + if ( true === $echo ) { |
|
793 | + echo wp_kses_post( $play_button ); |
|
794 | + } else { |
|
795 | + return $play_button; |
|
796 | + } |
|
797 | + } |
|
798 | 798 | } |
799 | 799 | |
800 | 800 | /** |
@@ -803,21 +803,21 @@ discard block |
||
803 | 803 | * @return void |
804 | 804 | */ |
805 | 805 | function lsx_health_plan_recipe_archive_description() { |
806 | - $description = ''; |
|
807 | - if ( is_post_type_archive( 'recipe' ) ) { |
|
808 | - $description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' ); |
|
809 | - } elseif ( is_post_type_archive( 'exercise' ) ) { |
|
810 | - $description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' ); |
|
811 | - } elseif ( is_tax() ) { |
|
812 | - $description = get_the_archive_description(); |
|
813 | - } |
|
814 | - if ( '' !== $description ) { |
|
815 | - ?> |
|
806 | + $description = ''; |
|
807 | + if ( is_post_type_archive( 'recipe' ) ) { |
|
808 | + $description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' ); |
|
809 | + } elseif ( is_post_type_archive( 'exercise' ) ) { |
|
810 | + $description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' ); |
|
811 | + } elseif ( is_tax() ) { |
|
812 | + $description = get_the_archive_description(); |
|
813 | + } |
|
814 | + if ( '' !== $description ) { |
|
815 | + ?> |
|
816 | 816 | <div class="lsx-hp-archive-description row"> |
817 | 817 | <div class="col-xs-12 description-wrapper"><?php echo wp_kses_post( wpautop( $description ) ); ?></div> |
818 | 818 | </div> |
819 | 819 | <?php |
820 | - } |
|
820 | + } |
|
821 | 821 | } |
822 | 822 | |
823 | 823 | /** |
@@ -826,23 +826,23 @@ discard block |
||
826 | 826 | * @return void |
827 | 827 | */ |
828 | 828 | function lsx_health_plan_workout_main_content() { |
829 | - // Getting translated endpoint. |
|
830 | - $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ); |
|
831 | - |
|
832 | - $connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true ); |
|
833 | - $small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true ); |
|
834 | - |
|
835 | - $content = ''; |
|
836 | - if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) { |
|
837 | - $content .= '<div class="set-box set content-box entry-content">'; |
|
838 | - $content .= '<div class="the-content">'; |
|
839 | - $content .= lsx_hp_member_connected( $connected_members, $workout ); |
|
840 | - $content .= '<span>' . $small_description . '</span>'; |
|
841 | - $content .= '</div>'; |
|
842 | - $content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' ); |
|
843 | - $content .= '</div>'; |
|
844 | - } |
|
845 | - return $content; |
|
829 | + // Getting translated endpoint. |
|
830 | + $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ); |
|
831 | + |
|
832 | + $connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true ); |
|
833 | + $small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true ); |
|
834 | + |
|
835 | + $content = ''; |
|
836 | + if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) { |
|
837 | + $content .= '<div class="set-box set content-box entry-content">'; |
|
838 | + $content .= '<div class="the-content">'; |
|
839 | + $content .= lsx_hp_member_connected( $connected_members, $workout ); |
|
840 | + $content .= '<span>' . $small_description . '</span>'; |
|
841 | + $content .= '</div>'; |
|
842 | + $content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' ); |
|
843 | + $content .= '</div>'; |
|
844 | + } |
|
845 | + return $content; |
|
846 | 846 | } |
847 | 847 | |
848 | 848 | /** |
@@ -851,23 +851,23 @@ discard block |
||
851 | 851 | * @return void |
852 | 852 | */ |
853 | 853 | function lsx_health_plan_meal_main_content() { |
854 | - // Getting translated endpoint. |
|
855 | - $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ); |
|
856 | - |
|
857 | - $connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true ); |
|
858 | - $small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true ); |
|
859 | - |
|
860 | - $content_meal = ''; |
|
861 | - if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) { |
|
862 | - $content_meal .= '<div class="set-box set content-box entry-content">'; |
|
863 | - $content_meal .= '<div class="the-content">'; |
|
864 | - $content_meal .= lsx_hp_member_connected( $connected_members, $meal ); |
|
865 | - $content_meal .= '<span>' . $small_description . '</span>'; |
|
866 | - $content_meal .= '</div>'; |
|
867 | - $content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' ); |
|
868 | - $content_meal .= '</div>'; |
|
869 | - } |
|
870 | - return $content_meal; |
|
854 | + // Getting translated endpoint. |
|
855 | + $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' ); |
|
856 | + |
|
857 | + $connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true ); |
|
858 | + $small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true ); |
|
859 | + |
|
860 | + $content_meal = ''; |
|
861 | + if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) { |
|
862 | + $content_meal .= '<div class="set-box set content-box entry-content">'; |
|
863 | + $content_meal .= '<div class="the-content">'; |
|
864 | + $content_meal .= lsx_hp_member_connected( $connected_members, $meal ); |
|
865 | + $content_meal .= '<span>' . $small_description . '</span>'; |
|
866 | + $content_meal .= '</div>'; |
|
867 | + $content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' ); |
|
868 | + $content_meal .= '</div>'; |
|
869 | + } |
|
870 | + return $content_meal; |
|
871 | 871 | } |
872 | 872 | |
873 | 873 | |
@@ -878,36 +878,36 @@ discard block |
||
878 | 878 | * @return void |
879 | 879 | */ |
880 | 880 | function lsx_health_plan_workout_tab_content( $index = 1 ) { |
881 | - global $group_name,$shortcode_args; |
|
882 | - $group_name = 'workout_section_' . $index; |
|
883 | - if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
884 | - $layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) ); |
|
885 | - |
|
886 | - // Check for shortcode overrides. |
|
887 | - if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) { |
|
888 | - $layout = $shortcode_args['layout']; |
|
889 | - } |
|
890 | - } else { |
|
891 | - $layout = 'table'; |
|
892 | - } |
|
893 | - |
|
894 | - switch ( $layout ) { |
|
895 | - case 'list': |
|
896 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php'; |
|
897 | - break; |
|
898 | - |
|
899 | - case 'grid': |
|
900 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php'; |
|
901 | - break; |
|
902 | - |
|
903 | - case 'table': |
|
904 | - $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php'; |
|
905 | - break; |
|
906 | - } |
|
907 | - $tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path ); |
|
908 | - if ( '' !== $tab_template_path ) { |
|
909 | - include $tab_template_path; |
|
910 | - } |
|
881 | + global $group_name,$shortcode_args; |
|
882 | + $group_name = 'workout_section_' . $index; |
|
883 | + if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
884 | + $layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) ); |
|
885 | + |
|
886 | + // Check for shortcode overrides. |
|
887 | + if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) { |
|
888 | + $layout = $shortcode_args['layout']; |
|
889 | + } |
|
890 | + } else { |
|
891 | + $layout = 'table'; |
|
892 | + } |
|
893 | + |
|
894 | + switch ( $layout ) { |
|
895 | + case 'list': |
|
896 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php'; |
|
897 | + break; |
|
898 | + |
|
899 | + case 'grid': |
|
900 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php'; |
|
901 | + break; |
|
902 | + |
|
903 | + case 'table': |
|
904 | + $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php'; |
|
905 | + break; |
|
906 | + } |
|
907 | + $tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path ); |
|
908 | + if ( '' !== $tab_template_path ) { |
|
909 | + include $tab_template_path; |
|
910 | + } |
|
911 | 911 | } |
912 | 912 | |
913 | 913 | /** |
@@ -916,28 +916,28 @@ discard block |
||
916 | 916 | * @return void |
917 | 917 | */ |
918 | 918 | function lsx_health_plan_workout_sets() { |
919 | - if ( is_singular( 'workout' ) ) { |
|
920 | - global $connected_workouts; |
|
921 | - $connected_workouts = array( get_the_ID() ); |
|
922 | - } |
|
923 | - if ( is_singular( 'plan' ) ) { |
|
924 | - |
|
925 | - global $connected_workouts; |
|
926 | - |
|
927 | - $section_key = get_query_var( 'section' ); |
|
928 | - if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) { |
|
929 | - $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key ); |
|
930 | - if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) { |
|
931 | - |
|
932 | - $connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] ); |
|
933 | - } |
|
934 | - } |
|
935 | - } |
|
936 | - $template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php'; |
|
937 | - $template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path ); |
|
938 | - if ( '' !== $template_path && ! empty( $template_path ) ) { |
|
939 | - include $template_path; |
|
940 | - } |
|
919 | + if ( is_singular( 'workout' ) ) { |
|
920 | + global $connected_workouts; |
|
921 | + $connected_workouts = array( get_the_ID() ); |
|
922 | + } |
|
923 | + if ( is_singular( 'plan' ) ) { |
|
924 | + |
|
925 | + global $connected_workouts; |
|
926 | + |
|
927 | + $section_key = get_query_var( 'section' ); |
|
928 | + if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) { |
|
929 | + $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key ); |
|
930 | + if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) { |
|
931 | + |
|
932 | + $connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] ); |
|
933 | + } |
|
934 | + } |
|
935 | + } |
|
936 | + $template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php'; |
|
937 | + $template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path ); |
|
938 | + if ( '' !== $template_path && ! empty( $template_path ) ) { |
|
939 | + include $template_path; |
|
940 | + } |
|
941 | 941 | } |
942 | 942 | |
943 | 943 | /** |
@@ -947,48 +947,48 @@ discard block |
||
947 | 947 | * @return void |
948 | 948 | */ |
949 | 949 | function lsx_hp_meal_plan_recipes( $args = array() ) { |
950 | - $defaults = array( |
|
951 | - 'meal_id' => false, |
|
952 | - 'meal_time' => '', |
|
953 | - 'modal' => true, |
|
954 | - ); |
|
955 | - $args = wp_parse_args( $args, $defaults ); |
|
956 | - // Looking for recipes. |
|
957 | - $connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true ); |
|
958 | - if ( ! empty( $connected_recipes ) ) { |
|
959 | - $query_args = array( |
|
960 | - 'orderby' => 'date', |
|
961 | - 'order' => 'DESC', |
|
962 | - 'post_type' => 'recipe', |
|
963 | - 'post__in' => $connected_recipes, |
|
964 | - ); |
|
965 | - $recipes = new WP_Query( $query_args ); |
|
966 | - ?> |
|
950 | + $defaults = array( |
|
951 | + 'meal_id' => false, |
|
952 | + 'meal_time' => '', |
|
953 | + 'modal' => true, |
|
954 | + ); |
|
955 | + $args = wp_parse_args( $args, $defaults ); |
|
956 | + // Looking for recipes. |
|
957 | + $connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true ); |
|
958 | + if ( ! empty( $connected_recipes ) ) { |
|
959 | + $query_args = array( |
|
960 | + 'orderby' => 'date', |
|
961 | + 'order' => 'DESC', |
|
962 | + 'post_type' => 'recipe', |
|
963 | + 'post__in' => $connected_recipes, |
|
964 | + ); |
|
965 | + $recipes = new WP_Query( $query_args ); |
|
966 | + ?> |
|
967 | 967 | <div class="recipes"> |
968 | 968 | <div class="row eating-row"> |
969 | 969 | <?php |
970 | - if ( $recipes->have_posts() ) { |
|
971 | - while ( $recipes->have_posts() ) { |
|
972 | - $recipes->the_post(); |
|
973 | - if ( false !== $args['modal'] ) { |
|
974 | - \lsx_health_plan\functions\recipes\register_recipe_modal(); |
|
975 | - } |
|
976 | - ?> |
|
970 | + if ( $recipes->have_posts() ) { |
|
971 | + while ( $recipes->have_posts() ) { |
|
972 | + $recipes->the_post(); |
|
973 | + if ( false !== $args['modal'] ) { |
|
974 | + \lsx_health_plan\functions\recipes\register_recipe_modal(); |
|
975 | + } |
|
976 | + ?> |
|
977 | 977 | <div class="recipe-column"> |
978 | 978 | <a data-toggle="modal" data-target="#recipe-modal-<?php echo esc_attr( get_the_ID() ); ?>" href="#recipe-modal-<?php echo esc_attr( get_the_ID() ); ?>" class="recipe-box box-shadow"> |
979 | 979 | <div class="recipe-feature-img"> |
980 | 980 | <?php |
981 | - $featured_image = get_the_post_thumbnail(); |
|
982 | - if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
983 | - the_post_thumbnail( 'lsx-thumbnail-square', array( |
|
984 | - 'class' => 'aligncenter', |
|
985 | - ) ); |
|
986 | - } else { |
|
987 | - ?> |
|
981 | + $featured_image = get_the_post_thumbnail(); |
|
982 | + if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
983 | + the_post_thumbnail( 'lsx-thumbnail-square', array( |
|
984 | + 'class' => 'aligncenter', |
|
985 | + ) ); |
|
986 | + } else { |
|
987 | + ?> |
|
988 | 988 | <img loading="lazy" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . 'assets/images/placeholder.jpg' ); ?>"> |
989 | 989 | <?php |
990 | - } |
|
991 | - ?> |
|
990 | + } |
|
991 | + ?> |
|
992 | 992 | </div> |
993 | 993 | <div class="recipe-content"> |
994 | 994 | <h3 class="recipe-title"><?php the_title(); ?></h3> |
@@ -997,41 +997,41 @@ discard block |
||
997 | 997 | </a> |
998 | 998 | </div> |
999 | 999 | <?php |
1000 | - } |
|
1001 | - } |
|
1002 | - wp_reset_postdata(); |
|
1003 | - ?> |
|
1000 | + } |
|
1001 | + } |
|
1002 | + wp_reset_postdata(); |
|
1003 | + ?> |
|
1004 | 1004 | </div> |
1005 | 1005 | </div> |
1006 | 1006 | <?php |
1007 | 1007 | |
1008 | - } |
|
1008 | + } |
|
1009 | 1009 | } |
1010 | 1010 | |
1011 | 1011 | /** |
1012 | 1012 | * Output the connected. |
1013 | 1013 | */ |
1014 | 1014 | function lsx_hp_recipe_plan_meta( $args = array() ) { |
1015 | - $defaults = array(); |
|
1016 | - $top_level_plans = array(); |
|
1017 | - // Get meals this exercise is connected to. |
|
1018 | - $plans = get_post_meta( get_the_ID(), 'connected_plans', true ); |
|
1019 | - if ( ! empty( $plans ) ) { |
|
1020 | - $plan = end( $plans ); |
|
1021 | - $has_parent = wp_get_post_parent_id( $plan ); |
|
1022 | - if ( 0 === $has_parent ) { |
|
1023 | - $top_level_plans[] = $plan; |
|
1024 | - } elseif ( false !== $top_level_plans ) { |
|
1025 | - $top_level_plans[] = $has_parent; |
|
1026 | - } |
|
1027 | - } |
|
1028 | - if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) { |
|
1029 | - $top_level_plans = array_unique( $top_level_plans ); |
|
1030 | - $top_level_plan = end( $top_level_plans ); |
|
1031 | - ?> |
|
1015 | + $defaults = array(); |
|
1016 | + $top_level_plans = array(); |
|
1017 | + // Get meals this exercise is connected to. |
|
1018 | + $plans = get_post_meta( get_the_ID(), 'connected_plans', true ); |
|
1019 | + if ( ! empty( $plans ) ) { |
|
1020 | + $plan = end( $plans ); |
|
1021 | + $has_parent = wp_get_post_parent_id( $plan ); |
|
1022 | + if ( 0 === $has_parent ) { |
|
1023 | + $top_level_plans[] = $plan; |
|
1024 | + } elseif ( false !== $top_level_plans ) { |
|
1025 | + $top_level_plans[] = $has_parent; |
|
1026 | + } |
|
1027 | + } |
|
1028 | + if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) { |
|
1029 | + $top_level_plans = array_unique( $top_level_plans ); |
|
1030 | + $top_level_plan = end( $top_level_plans ); |
|
1031 | + ?> |
|
1032 | 1032 | <span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span> |
1033 | 1033 | <?php |
1034 | - } |
|
1034 | + } |
|
1035 | 1035 | } |
1036 | 1036 | |
1037 | 1037 | /** |
@@ -1039,42 +1039,42 @@ discard block |
||
1039 | 1039 | */ |
1040 | 1040 | function lsx_hp_exercise_plan_meta() { |
1041 | 1041 | |
1042 | - $top_level_plans = array(); |
|
1043 | - |
|
1044 | - // Get workouts this exercise is connected to. |
|
1045 | - $workouts = get_post_meta( get_the_ID(), 'connected_workouts', true ); |
|
1046 | - |
|
1047 | - if ( '' !== $workouts && ! is_array( $workouts ) ) { |
|
1048 | - $workouts = array( $workouts ); |
|
1049 | - } |
|
1050 | - if ( ! empty( $workouts ) ) { |
|
1051 | - foreach ( $workouts as $workout ) { |
|
1052 | - // Get the plans this workout is connected to. |
|
1053 | - $plans = get_post_meta( $workout, 'connected_plans', true ); |
|
1054 | - |
|
1055 | - if ( '' !== $plans && ! is_array( $plans ) ) { |
|
1056 | - $plans = array( $plans ); |
|
1057 | - } |
|
1058 | - if ( ! empty( $plans ) ) { |
|
1059 | - foreach ( $plans as $plan ) { |
|
1060 | - $has_parent = wp_get_post_parent_id( $plan ); |
|
1061 | - if ( 0 === $has_parent ) { |
|
1062 | - $top_level_plans = $plan; |
|
1063 | - } else { |
|
1064 | - $top_level_plans = $has_parent; |
|
1065 | - } |
|
1066 | - } |
|
1067 | - } |
|
1068 | - } |
|
1069 | - } |
|
1070 | - |
|
1071 | - if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) { |
|
1072 | - $top_level_plans = array_unique( $top_level_plans ); |
|
1073 | - $top_level_plan = end( $top_level_plans ); |
|
1074 | - ?> |
|
1042 | + $top_level_plans = array(); |
|
1043 | + |
|
1044 | + // Get workouts this exercise is connected to. |
|
1045 | + $workouts = get_post_meta( get_the_ID(), 'connected_workouts', true ); |
|
1046 | + |
|
1047 | + if ( '' !== $workouts && ! is_array( $workouts ) ) { |
|
1048 | + $workouts = array( $workouts ); |
|
1049 | + } |
|
1050 | + if ( ! empty( $workouts ) ) { |
|
1051 | + foreach ( $workouts as $workout ) { |
|
1052 | + // Get the plans this workout is connected to. |
|
1053 | + $plans = get_post_meta( $workout, 'connected_plans', true ); |
|
1054 | + |
|
1055 | + if ( '' !== $plans && ! is_array( $plans ) ) { |
|
1056 | + $plans = array( $plans ); |
|
1057 | + } |
|
1058 | + if ( ! empty( $plans ) ) { |
|
1059 | + foreach ( $plans as $plan ) { |
|
1060 | + $has_parent = wp_get_post_parent_id( $plan ); |
|
1061 | + if ( 0 === $has_parent ) { |
|
1062 | + $top_level_plans = $plan; |
|
1063 | + } else { |
|
1064 | + $top_level_plans = $has_parent; |
|
1065 | + } |
|
1066 | + } |
|
1067 | + } |
|
1068 | + } |
|
1069 | + } |
|
1070 | + |
|
1071 | + if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) { |
|
1072 | + $top_level_plans = array_unique( $top_level_plans ); |
|
1073 | + $top_level_plan = end( $top_level_plans ); |
|
1074 | + ?> |
|
1075 | 1075 | <span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span> |
1076 | 1076 | <?php |
1077 | - } |
|
1077 | + } |
|
1078 | 1078 | } |
1079 | 1079 | |
1080 | 1080 | /** |
@@ -1084,7 +1084,7 @@ discard block |
||
1084 | 1084 | * @return void |
1085 | 1085 | */ |
1086 | 1086 | function lsx_hp_single_related( $related_content, $post_type_text ) { |
1087 | - ?> |
|
1087 | + ?> |
|
1088 | 1088 | <section id="lsx-hp-related"> |
1089 | 1089 | <div class="row lsx-related-posts lsx-related-posts-title"> |
1090 | 1090 | <div class="col-xs-12"> |
@@ -1095,13 +1095,13 @@ discard block |
||
1095 | 1095 | <div class="col-xs-12"> |
1096 | 1096 | <div class="lsx-related-posts-wrapper"> |
1097 | 1097 | <?php |
1098 | - foreach ( $related_content as $article ) { |
|
1099 | - $post_title = get_the_title( $article ); |
|
1100 | - $post_categories = wp_get_post_categories( $article ); |
|
1101 | - $post_link = get_permalink( $article ); |
|
1098 | + foreach ( $related_content as $article ) { |
|
1099 | + $post_title = get_the_title( $article ); |
|
1100 | + $post_categories = wp_get_post_categories( $article ); |
|
1101 | + $post_link = get_permalink( $article ); |
|
1102 | 1102 | |
1103 | - $cats = array(); |
|
1104 | - ?> |
|
1103 | + $cats = array(); |
|
1104 | + ?> |
|
1105 | 1105 | <article id="post-<?php echo esc_html( $article ); ?>" class="lsx-slot post"> |
1106 | 1106 | <div class="entry-layout lsx-hp-shadow"> |
1107 | 1107 | <div class="entry-layout-content"> |
@@ -1109,25 +1109,25 @@ discard block |
||
1109 | 1109 | <div class="entry-image"> |
1110 | 1110 | <a href="<?php echo esc_url( $post_link ); ?>" class="thumbnail"> |
1111 | 1111 | <?php |
1112 | - $featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' ); |
|
1113 | - if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
1114 | - echo wp_kses_post( $featured_image ); |
|
1115 | - } else { |
|
1116 | - ?> |
|
1112 | + $featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' ); |
|
1113 | + if ( ! empty( $featured_image ) && '' !== $featured_image ) { |
|
1114 | + echo wp_kses_post( $featured_image ); |
|
1115 | + } else { |
|
1116 | + ?> |
|
1117 | 1117 | <img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>"> |
1118 | 1118 | <?php |
1119 | - } |
|
1120 | - ?> |
|
1119 | + } |
|
1120 | + ?> |
|
1121 | 1121 | </a> |
1122 | 1122 | </div> |
1123 | 1123 | <div class="entry-meta"> |
1124 | 1124 | <?php |
1125 | - foreach ( $post_categories as $c ) { |
|
1126 | - $cat = get_category( $c ); |
|
1127 | - /* Translators: %s: category name */ |
|
1128 | - $cats[] = '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . sprintf( esc_html__( 'Posts in %s', 'lsx-blog-customizer' ), $cat->name ) . '">' . $cat->name . '</a>'; |
|
1129 | - } |
|
1130 | - if ( ! empty( $cats ) ) { ?> |
|
1125 | + foreach ( $post_categories as $c ) { |
|
1126 | + $cat = get_category( $c ); |
|
1127 | + /* Translators: %s: category name */ |
|
1128 | + $cats[] = '<a href="' . esc_url( get_category_link( $cat->term_id ) ) . '" title="' . sprintf( esc_html__( 'Posts in %s', 'lsx-blog-customizer' ), $cat->name ) . '">' . $cat->name . '</a>'; |
|
1129 | + } |
|
1130 | + if ( ! empty( $cats ) ) { ?> |
|
1131 | 1131 | <div class="post-categories"><span></span><?php echo wp_kses_post( implode( ', ', $cats ) ); ?></div> |
1132 | 1132 | <?php } ?> |
1133 | 1133 | </div> |
@@ -1156,32 +1156,32 @@ discard block |
||
1156 | 1156 | * @return void |
1157 | 1157 | */ |
1158 | 1158 | function lsx_hp_member_connected( $connected_members, $post_type ) { |
1159 | - if ( ! empty( $connected_members ) ) { |
|
1160 | - $content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">'; |
|
1161 | - foreach ( $connected_members as $member ) { |
|
1162 | - $post_link = get_permalink( $member ); |
|
1163 | - $member_name = get_the_title( $member ); |
|
1164 | - $member_name = '<span class="lsx-team-name">' . $member_name . '</span>'; |
|
1165 | - |
|
1166 | - $member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>'; |
|
1167 | - |
|
1168 | - $roles = ''; |
|
1169 | - $terms = get_the_terms( $member, 'team_role' ); |
|
1170 | - |
|
1171 | - if ( $terms && ! is_wp_error( $terms ) ) { |
|
1172 | - $roles = array(); |
|
1173 | - |
|
1174 | - foreach ( $terms as $term ) { |
|
1175 | - $roles[] = $term->name; |
|
1176 | - } |
|
1177 | - |
|
1178 | - $roles = join( ', ', $roles ); |
|
1179 | - } |
|
1180 | - $member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : ''; |
|
1181 | - |
|
1182 | - $content .= '<p>' . $member_roles . ': ' . $member_link . '</p>'; |
|
1183 | - } |
|
1184 | - $content .= '</div>'; |
|
1185 | - return $content; |
|
1186 | - } |
|
1159 | + if ( ! empty( $connected_members ) ) { |
|
1160 | + $content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">'; |
|
1161 | + foreach ( $connected_members as $member ) { |
|
1162 | + $post_link = get_permalink( $member ); |
|
1163 | + $member_name = get_the_title( $member ); |
|
1164 | + $member_name = '<span class="lsx-team-name">' . $member_name . '</span>'; |
|
1165 | + |
|
1166 | + $member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>'; |
|
1167 | + |
|
1168 | + $roles = ''; |
|
1169 | + $terms = get_the_terms( $member, 'team_role' ); |
|
1170 | + |
|
1171 | + if ( $terms && ! is_wp_error( $terms ) ) { |
|
1172 | + $roles = array(); |
|
1173 | + |
|
1174 | + foreach ( $terms as $term ) { |
|
1175 | + $roles[] = $term->name; |
|
1176 | + } |
|
1177 | + |
|
1178 | + $roles = join( ', ', $roles ); |
|
1179 | + } |
|
1180 | + $member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : ''; |
|
1181 | + |
|
1182 | + $content .= '<p>' . $member_roles . ': ' . $member_link . '</p>'; |
|
1183 | + } |
|
1184 | + $content .= '</div>'; |
|
1185 | + return $content; |
|
1186 | + } |
|
1187 | 1187 | } |
@@ -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 | } |
@@ -10,207 +10,207 @@ discard block |
||
10 | 10 | */ |
11 | 11 | class Plan { |
12 | 12 | |
13 | - /** |
|
14 | - * Holds class instance |
|
15 | - * |
|
16 | - * @since 1.0.0 |
|
17 | - * |
|
18 | - * @var object \lsx_health_plan\classes\Plan() |
|
19 | - */ |
|
20 | - protected static $instance = null; |
|
21 | - |
|
22 | - /** |
|
23 | - * Holds post_type slug used as an index |
|
24 | - * |
|
25 | - * @since 1.0.0 |
|
26 | - * |
|
27 | - * @var string |
|
28 | - */ |
|
29 | - public $slug = 'plan'; |
|
30 | - |
|
31 | - /** |
|
32 | - * Constructor |
|
33 | - */ |
|
34 | - public function __construct() { |
|
35 | - |
|
36 | - add_action( 'init', array( $this, 'register_post_type' ) ); |
|
37 | - add_action( 'init', array( $this, 'plan_type_taxonomy_setup' ) ); |
|
38 | - add_action( 'init', array( $this, 'week_taxonomy_setup' ) ); |
|
39 | - |
|
40 | - // Icons for the plan types. |
|
41 | - add_action( 'create_term', array( $this, 'save_meta' ), 10, 2 ); |
|
42 | - add_action( 'edit_term', array( $this, 'save_meta' ), 10, 2 ); |
|
43 | - $prefix_taxonomy = 'plan-type'; |
|
44 | - add_action( sprintf( '%s_edit_form_fields', $prefix_taxonomy ), array( $this, 'add_thumbnail_form_field' ), 3, 1 ); |
|
45 | - |
|
46 | - // Register the Metaboxes. |
|
47 | - add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 ); |
|
48 | - add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ), 5 ); |
|
49 | - add_action( 'cmb2_admin_init', array( $this, 'plan_connections' ), 5 ); |
|
50 | - add_action( 'cmb2_admin_init', array( $this, 'sections_metabox_loop' ), 1 ); |
|
51 | - |
|
52 | - add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
53 | - //add_filter( 'lsx_global_header_title', array( $this, 'hp_recipe_header_title' ), 200, 1 ); |
|
54 | - |
|
55 | - // Template Redirects. |
|
56 | - add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
57 | - add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
58 | - |
|
59 | - // Plan Archive Actions. |
|
60 | - add_action( 'pre_get_posts', array( $this, 'set_parent_only' ), 10, 1 ); |
|
61 | - add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
62 | - add_action( 'lsx_content_top', 'lsx_hp_plan_archive_filters', 10, 1 ); |
|
63 | - add_filter( 'lsx_hp_disable_plan_archive_filters', '\lsx_health_plan\functions\plan\is_search_enabled', 10, 1 ); |
|
64 | - add_filter( 'lsx_hp_disable_plan_archive_filters', '\lsx_health_plan\functions\plan\is_filters_disabled', 10, 1 ); |
|
65 | - |
|
66 | - //Breadcrumbs |
|
67 | - add_filter( 'woocommerce_get_breadcrumb', array( $this, 'plan_breadcrumb_filter' ), 30, 1 ); |
|
13 | + /** |
|
14 | + * Holds class instance |
|
15 | + * |
|
16 | + * @since 1.0.0 |
|
17 | + * |
|
18 | + * @var object \lsx_health_plan\classes\Plan() |
|
19 | + */ |
|
20 | + protected static $instance = null; |
|
21 | + |
|
22 | + /** |
|
23 | + * Holds post_type slug used as an index |
|
24 | + * |
|
25 | + * @since 1.0.0 |
|
26 | + * |
|
27 | + * @var string |
|
28 | + */ |
|
29 | + public $slug = 'plan'; |
|
30 | + |
|
31 | + /** |
|
32 | + * Constructor |
|
33 | + */ |
|
34 | + public function __construct() { |
|
35 | + |
|
36 | + add_action( 'init', array( $this, 'register_post_type' ) ); |
|
37 | + add_action( 'init', array( $this, 'plan_type_taxonomy_setup' ) ); |
|
38 | + add_action( 'init', array( $this, 'week_taxonomy_setup' ) ); |
|
39 | + |
|
40 | + // Icons for the plan types. |
|
41 | + add_action( 'create_term', array( $this, 'save_meta' ), 10, 2 ); |
|
42 | + add_action( 'edit_term', array( $this, 'save_meta' ), 10, 2 ); |
|
43 | + $prefix_taxonomy = 'plan-type'; |
|
44 | + add_action( sprintf( '%s_edit_form_fields', $prefix_taxonomy ), array( $this, 'add_thumbnail_form_field' ), 3, 1 ); |
|
45 | + |
|
46 | + // Register the Metaboxes. |
|
47 | + add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 ); |
|
48 | + add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ), 5 ); |
|
49 | + add_action( 'cmb2_admin_init', array( $this, 'plan_connections' ), 5 ); |
|
50 | + add_action( 'cmb2_admin_init', array( $this, 'sections_metabox_loop' ), 1 ); |
|
51 | + |
|
52 | + add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
53 | + //add_filter( 'lsx_global_header_title', array( $this, 'hp_recipe_header_title' ), 200, 1 ); |
|
54 | + |
|
55 | + // Template Redirects. |
|
56 | + add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
57 | + add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 ); |
|
58 | + |
|
59 | + // Plan Archive Actions. |
|
60 | + add_action( 'pre_get_posts', array( $this, 'set_parent_only' ), 10, 1 ); |
|
61 | + add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 ); |
|
62 | + add_action( 'lsx_content_top', 'lsx_hp_plan_archive_filters', 10, 1 ); |
|
63 | + add_filter( 'lsx_hp_disable_plan_archive_filters', '\lsx_health_plan\functions\plan\is_search_enabled', 10, 1 ); |
|
64 | + add_filter( 'lsx_hp_disable_plan_archive_filters', '\lsx_health_plan\functions\plan\is_filters_disabled', 10, 1 ); |
|
65 | + |
|
66 | + //Breadcrumbs |
|
67 | + add_filter( 'woocommerce_get_breadcrumb', array( $this, 'plan_breadcrumb_filter' ), 30, 1 ); |
|
68 | 68 | |
69 | - } |
|
70 | - |
|
71 | - /** |
|
72 | - * Return an instance of this class. |
|
73 | - * |
|
74 | - * @since 1.0.0 |
|
75 | - * |
|
76 | - * @return object \lsx_health_plan\classes\Meal_Plan() A single instance of this class. |
|
77 | - */ |
|
78 | - public static function get_instance() { |
|
79 | - // If the single instance hasn't been set, set it now. |
|
80 | - if ( null === self::$instance ) { |
|
81 | - self::$instance = new self(); |
|
82 | - } |
|
83 | - return self::$instance; |
|
84 | - } |
|
85 | - /** |
|
86 | - * Register the post type. |
|
87 | - */ |
|
88 | - public function register_post_type() { |
|
89 | - $labels = array( |
|
90 | - 'name' => esc_html__( 'Plans', 'lsx-health-plan' ), |
|
91 | - 'singular_name' => esc_html__( 'Plan', 'lsx-health-plan' ), |
|
92 | - 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
93 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
94 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
95 | - 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
96 | - 'all_items' => esc_html__( 'All Plans', 'lsx-health-plan' ), |
|
97 | - 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
98 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
99 | - 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
100 | - 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
101 | - 'parent_item_colon' => '', |
|
102 | - 'menu_name' => esc_html__( 'Plans', 'lsx-health-plan' ), |
|
103 | - ); |
|
104 | - $args = array( |
|
105 | - 'labels' => $labels, |
|
106 | - 'public' => true, |
|
107 | - 'publicly_queryable' => true, |
|
108 | - 'show_ui' => true, |
|
109 | - 'show_in_menu' => true, |
|
110 | - 'show_in_rest' => true, |
|
111 | - 'menu_icon' => 'dashicons-welcome-write-blog', |
|
112 | - 'query_var' => true, |
|
113 | - 'rewrite' => array( |
|
114 | - 'slug' => \lsx_health_plan\functions\get_option( 'plan_single_slug', 'plan' ), |
|
115 | - ), |
|
116 | - 'capability_type' => 'page', |
|
117 | - 'has_archive' => \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plans' ), |
|
118 | - 'hierarchical' => false, |
|
119 | - 'menu_position' => null, |
|
120 | - 'supports' => array( |
|
121 | - 'title', |
|
122 | - 'editor', |
|
123 | - 'thumbnail', |
|
124 | - 'page-attributes', |
|
125 | - 'custom-fields', |
|
126 | - ), |
|
127 | - ); |
|
128 | - register_post_type( 'plan', $args ); |
|
129 | - } |
|
130 | - |
|
131 | - /** |
|
132 | - * Register the Type taxonomy. |
|
133 | - */ |
|
134 | - public function plan_type_taxonomy_setup() { |
|
135 | - $labels = array( |
|
136 | - 'name' => esc_html_x( 'Plan Type', 'taxonomy general name', 'lsx-health-plan' ), |
|
137 | - 'singular_name' => esc_html_x( 'Plan Type', 'taxonomy singular name', 'lsx-health-plan' ), |
|
138 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
139 | - 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
140 | - 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
141 | - 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
142 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
143 | - 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
144 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
145 | - 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
146 | - 'menu_name' => esc_html__( 'Plan Types', 'lsx-health-plan' ), |
|
147 | - ); |
|
148 | - |
|
149 | - $args = array( |
|
150 | - 'hierarchical' => true, |
|
151 | - 'labels' => $labels, |
|
152 | - 'show_ui' => true, |
|
153 | - 'show_admin_column' => true, |
|
154 | - 'query_var' => true, |
|
155 | - 'rewrite' => array( |
|
156 | - 'slug' => 'plan-type', |
|
157 | - ), |
|
158 | - ); |
|
159 | - |
|
160 | - register_taxonomy( 'plan-type', array( 'plan' ), $args ); |
|
161 | - } |
|
162 | - |
|
163 | - /** |
|
164 | - * Register the Week taxonomy. |
|
165 | - */ |
|
166 | - public function week_taxonomy_setup() { |
|
167 | - $labels = array( |
|
168 | - 'name' => esc_html_x( 'Week', 'taxonomy general name', 'lsx-health-plan' ), |
|
169 | - 'singular_name' => esc_html_x( 'Week', 'taxonomy singular name', 'lsx-health-plan' ), |
|
170 | - 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
171 | - 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
172 | - 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
173 | - 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
174 | - 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
175 | - 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
176 | - 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
177 | - 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
178 | - 'menu_name' => esc_html__( 'Weeks', 'lsx-health-plan' ), |
|
179 | - ); |
|
180 | - |
|
181 | - $args = array( |
|
182 | - 'hierarchical' => true, |
|
183 | - 'labels' => $labels, |
|
184 | - 'show_ui' => true, |
|
185 | - 'show_admin_column' => true, |
|
186 | - 'query_var' => true, |
|
187 | - 'show_in_rest' => true, |
|
188 | - 'rewrite' => array( |
|
189 | - 'slug' => 'week', |
|
190 | - ), |
|
191 | - ); |
|
192 | - |
|
193 | - register_taxonomy( 'week', array( 'plan' ), $args ); |
|
194 | - } |
|
195 | - |
|
196 | - /** |
|
197 | - * Output the form field for this metadata when adding a new term |
|
198 | - * |
|
199 | - * @since 0.1.0 |
|
200 | - */ |
|
201 | - public function add_thumbnail_form_field( $term = false ) { |
|
202 | - if ( is_object( $term ) ) { |
|
203 | - $value = get_term_meta( $term->term_id, 'thumbnail', true ); |
|
204 | - $image_preview = wp_get_attachment_image_src( $value, 'thumbnail' ); |
|
205 | - |
|
206 | - if ( is_array( $image_preview ) ) { |
|
207 | - $image_preview = '<img style="height: 50px; width: 50px;" src="' . esc_url( $image_preview[0] ) . '" width="' . $image_preview[1] . '" height="' . $image_preview[2] . '" class="alignnone size-thumbnail d wp-image-' . $value . '" />'; |
|
208 | - } |
|
209 | - } else { |
|
210 | - $image_preview = false; |
|
211 | - $value = false; |
|
212 | - } |
|
213 | - ?> |
|
69 | + } |
|
70 | + |
|
71 | + /** |
|
72 | + * Return an instance of this class. |
|
73 | + * |
|
74 | + * @since 1.0.0 |
|
75 | + * |
|
76 | + * @return object \lsx_health_plan\classes\Meal_Plan() A single instance of this class. |
|
77 | + */ |
|
78 | + public static function get_instance() { |
|
79 | + // If the single instance hasn't been set, set it now. |
|
80 | + if ( null === self::$instance ) { |
|
81 | + self::$instance = new self(); |
|
82 | + } |
|
83 | + return self::$instance; |
|
84 | + } |
|
85 | + /** |
|
86 | + * Register the post type. |
|
87 | + */ |
|
88 | + public function register_post_type() { |
|
89 | + $labels = array( |
|
90 | + 'name' => esc_html__( 'Plans', 'lsx-health-plan' ), |
|
91 | + 'singular_name' => esc_html__( 'Plan', 'lsx-health-plan' ), |
|
92 | + 'add_new' => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ), |
|
93 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
94 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
95 | + 'new_item' => esc_html__( 'New', 'lsx-health-plan' ), |
|
96 | + 'all_items' => esc_html__( 'All Plans', 'lsx-health-plan' ), |
|
97 | + 'view_item' => esc_html__( 'View', 'lsx-health-plan' ), |
|
98 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
99 | + 'not_found' => esc_html__( 'None found', 'lsx-health-plan' ), |
|
100 | + 'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ), |
|
101 | + 'parent_item_colon' => '', |
|
102 | + 'menu_name' => esc_html__( 'Plans', 'lsx-health-plan' ), |
|
103 | + ); |
|
104 | + $args = array( |
|
105 | + 'labels' => $labels, |
|
106 | + 'public' => true, |
|
107 | + 'publicly_queryable' => true, |
|
108 | + 'show_ui' => true, |
|
109 | + 'show_in_menu' => true, |
|
110 | + 'show_in_rest' => true, |
|
111 | + 'menu_icon' => 'dashicons-welcome-write-blog', |
|
112 | + 'query_var' => true, |
|
113 | + 'rewrite' => array( |
|
114 | + 'slug' => \lsx_health_plan\functions\get_option( 'plan_single_slug', 'plan' ), |
|
115 | + ), |
|
116 | + 'capability_type' => 'page', |
|
117 | + 'has_archive' => \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plans' ), |
|
118 | + 'hierarchical' => false, |
|
119 | + 'menu_position' => null, |
|
120 | + 'supports' => array( |
|
121 | + 'title', |
|
122 | + 'editor', |
|
123 | + 'thumbnail', |
|
124 | + 'page-attributes', |
|
125 | + 'custom-fields', |
|
126 | + ), |
|
127 | + ); |
|
128 | + register_post_type( 'plan', $args ); |
|
129 | + } |
|
130 | + |
|
131 | + /** |
|
132 | + * Register the Type taxonomy. |
|
133 | + */ |
|
134 | + public function plan_type_taxonomy_setup() { |
|
135 | + $labels = array( |
|
136 | + 'name' => esc_html_x( 'Plan Type', 'taxonomy general name', 'lsx-health-plan' ), |
|
137 | + 'singular_name' => esc_html_x( 'Plan Type', 'taxonomy singular name', 'lsx-health-plan' ), |
|
138 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
139 | + 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
140 | + 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
141 | + 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
142 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
143 | + 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
144 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
145 | + 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
146 | + 'menu_name' => esc_html__( 'Plan Types', 'lsx-health-plan' ), |
|
147 | + ); |
|
148 | + |
|
149 | + $args = array( |
|
150 | + 'hierarchical' => true, |
|
151 | + 'labels' => $labels, |
|
152 | + 'show_ui' => true, |
|
153 | + 'show_admin_column' => true, |
|
154 | + 'query_var' => true, |
|
155 | + 'rewrite' => array( |
|
156 | + 'slug' => 'plan-type', |
|
157 | + ), |
|
158 | + ); |
|
159 | + |
|
160 | + register_taxonomy( 'plan-type', array( 'plan' ), $args ); |
|
161 | + } |
|
162 | + |
|
163 | + /** |
|
164 | + * Register the Week taxonomy. |
|
165 | + */ |
|
166 | + public function week_taxonomy_setup() { |
|
167 | + $labels = array( |
|
168 | + 'name' => esc_html_x( 'Week', 'taxonomy general name', 'lsx-health-plan' ), |
|
169 | + 'singular_name' => esc_html_x( 'Week', 'taxonomy singular name', 'lsx-health-plan' ), |
|
170 | + 'search_items' => esc_html__( 'Search', 'lsx-health-plan' ), |
|
171 | + 'all_items' => esc_html__( 'All', 'lsx-health-plan' ), |
|
172 | + 'parent_item' => esc_html__( 'Parent', 'lsx-health-plan' ), |
|
173 | + 'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ), |
|
174 | + 'edit_item' => esc_html__( 'Edit', 'lsx-health-plan' ), |
|
175 | + 'update_item' => esc_html__( 'Update', 'lsx-health-plan' ), |
|
176 | + 'add_new_item' => esc_html__( 'Add New', 'lsx-health-plan' ), |
|
177 | + 'new_item_name' => esc_html__( 'New Name', 'lsx-health-plan' ), |
|
178 | + 'menu_name' => esc_html__( 'Weeks', 'lsx-health-plan' ), |
|
179 | + ); |
|
180 | + |
|
181 | + $args = array( |
|
182 | + 'hierarchical' => true, |
|
183 | + 'labels' => $labels, |
|
184 | + 'show_ui' => true, |
|
185 | + 'show_admin_column' => true, |
|
186 | + 'query_var' => true, |
|
187 | + 'show_in_rest' => true, |
|
188 | + 'rewrite' => array( |
|
189 | + 'slug' => 'week', |
|
190 | + ), |
|
191 | + ); |
|
192 | + |
|
193 | + register_taxonomy( 'week', array( 'plan' ), $args ); |
|
194 | + } |
|
195 | + |
|
196 | + /** |
|
197 | + * Output the form field for this metadata when adding a new term |
|
198 | + * |
|
199 | + * @since 0.1.0 |
|
200 | + */ |
|
201 | + public function add_thumbnail_form_field( $term = false ) { |
|
202 | + if ( is_object( $term ) ) { |
|
203 | + $value = get_term_meta( $term->term_id, 'thumbnail', true ); |
|
204 | + $image_preview = wp_get_attachment_image_src( $value, 'thumbnail' ); |
|
205 | + |
|
206 | + if ( is_array( $image_preview ) ) { |
|
207 | + $image_preview = '<img style="height: 50px; width: 50px;" src="' . esc_url( $image_preview[0] ) . '" width="' . $image_preview[1] . '" height="' . $image_preview[2] . '" class="alignnone size-thumbnail d wp-image-' . $value . '" />'; |
|
208 | + } |
|
209 | + } else { |
|
210 | + $image_preview = false; |
|
211 | + $value = false; |
|
212 | + } |
|
213 | + ?> |
|
214 | 214 | <tr class="form-field form-required term-thumbnail-wrap"> |
215 | 215 | <th scope="row"><label for="thumbnail"><?php esc_html_e( 'Icon Image', 'lsx-health-plan' ); ?></label></th> |
216 | 216 | <td> |
@@ -224,331 +224,331 @@ discard block |
||
224 | 224 | </td> |
225 | 225 | </tr> |
226 | 226 | <?php |
227 | - } |
|
228 | - |
|
229 | - /** |
|
230 | - * Saves the Taxonomy term icon image |
|
231 | - * |
|
232 | - * @since 0.1.0 |
|
233 | - * |
|
234 | - * @param int $term_id |
|
235 | - * @param string $taxonomy |
|
236 | - */ |
|
237 | - public function save_meta( $term_id = 0, $taxonomy = '' ) { |
|
238 | - if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { |
|
239 | - return; |
|
240 | - } |
|
241 | - |
|
242 | - if ( ! isset( $_POST['thumbnail'] ) ) { |
|
243 | - return; |
|
244 | - } |
|
245 | - |
|
246 | - if ( check_admin_referer( 'lsx_hp_term_thumbnail_nonce', 'lsx_hp_term_thumbnail_nonce' ) ) { |
|
247 | - if ( ! isset( $_POST['thumbnail'] ) ) { |
|
248 | - return; |
|
249 | - } |
|
250 | - |
|
251 | - $thumbnail_meta = sanitize_text_field( $_POST['thumbnail'] ); |
|
252 | - $thumbnail_meta = ! empty( $thumbnail_meta ) ? $thumbnail_meta : ''; |
|
253 | - |
|
254 | - if ( empty( $thumbnail_meta ) ) { |
|
255 | - delete_term_meta( $term_id, 'thumbnail' ); |
|
256 | - } else { |
|
257 | - update_term_meta( $term_id, 'thumbnail', $thumbnail_meta ); |
|
258 | - } |
|
259 | - } |
|
260 | - } |
|
261 | - |
|
262 | - /** |
|
263 | - * Define the metabox and field configurations. |
|
264 | - */ |
|
265 | - public function details_metaboxes() { |
|
266 | - $cmb = new_cmb2_box( array( |
|
267 | - 'id' => $this->slug . '_details_metabox', |
|
268 | - 'title' => __( 'Details', 'lsx-health-plan' ), |
|
269 | - 'object_types' => array( $this->slug ), // Post type |
|
270 | - 'context' => 'normal', |
|
271 | - 'priority' => 'high', |
|
272 | - 'show_names' => true, |
|
273 | - ) ); |
|
274 | - |
|
275 | - $cmb->add_field( array( |
|
276 | - 'name' => __( 'Plan Short Description', 'lsx-health-plan' ), |
|
277 | - 'id' => $this->slug . '_short_description', |
|
278 | - 'type' => 'textarea_small', |
|
279 | - 'desc' => __( 'Add a small description for this plan (optional)', 'lsx-health-plan' ), |
|
280 | - ) ); |
|
281 | - |
|
282 | - $warmup_type = 'page'; |
|
283 | - if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
284 | - $warmup_type = array( 'page', 'workout' ); |
|
285 | - } |
|
286 | - $cmb->add_field( array( |
|
287 | - 'name' => __( 'Warmup', 'lsx-health-plan' ), |
|
288 | - 'desc' => __( 'Connect the warm up page that applies to this day plan using the field provided.', 'lsx-health-plan' ), |
|
289 | - 'id' => $this->slug . '_warmup', |
|
290 | - 'type' => 'post_search_ajax', |
|
291 | - // Optional : |
|
292 | - 'limit' => 3, // Limit selection to X items only (default 1) |
|
293 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
294 | - 'query_args' => array( |
|
295 | - 'post_type' => $warmup_type, |
|
296 | - 'post_status' => array( 'publish' ), |
|
297 | - 'posts_per_page' => -1, |
|
298 | - ), |
|
299 | - ) ); |
|
300 | - } |
|
301 | - |
|
302 | - /** |
|
303 | - * Adds the post type to the different arrays. |
|
304 | - * |
|
305 | - * @param array $post_types |
|
306 | - * @return array |
|
307 | - */ |
|
308 | - public function enable_post_type( $post_types = array() ) { |
|
309 | - $post_types[] = $this->slug; |
|
310 | - return $post_types; |
|
311 | - } |
|
312 | - |
|
313 | - /** |
|
314 | - * Registers the workout connections on the plan post type. |
|
315 | - * |
|
316 | - * @return void |
|
317 | - */ |
|
318 | - public function plan_connections() { |
|
319 | - $cmb = new_cmb2_box( |
|
320 | - array( |
|
321 | - 'id' => $this->slug . '_connections_metabox', |
|
322 | - 'title' => __( 'Plans', 'lsx-health-plan' ), |
|
323 | - 'object_types' => array( 'workout', 'meal', 'tip', 'recipe' ), |
|
324 | - 'context' => 'normal', |
|
325 | - 'priority' => 'high', |
|
326 | - 'show_names' => true, |
|
327 | - ) |
|
328 | - ); |
|
329 | - $cmb->add_field( |
|
330 | - array( |
|
331 | - 'name' => __( 'Plan', 'lsx-health-plan' ), |
|
332 | - 'id' => 'connected_plans', |
|
333 | - 'desc' => __( 'Connect this to the day plan it applies to, using the field provided.', 'lsx-health-plan' ), |
|
334 | - 'type' => 'post_search_ajax', |
|
335 | - 'limit' => 15, |
|
336 | - 'sortable' => true, |
|
337 | - 'query_args' => array( |
|
338 | - 'post_type' => array( 'plan' ), |
|
339 | - 'post_status' => array( 'publish' ), |
|
340 | - 'posts_per_page' => -1, |
|
341 | - ), |
|
342 | - ) |
|
343 | - ); |
|
344 | - } |
|
345 | - |
|
346 | - /** |
|
347 | - * Remove the "Archives:" from the post type. |
|
348 | - * |
|
349 | - * @param string $title the term title. |
|
350 | - * @return string |
|
351 | - */ |
|
352 | - public function get_the_archive_title( $title ) { |
|
353 | - if ( is_post_type_archive( 'plan' ) ) { |
|
354 | - $title = __( 'Our health plans', 'lsx-health-plan' ); |
|
355 | - } |
|
356 | - return $title; |
|
357 | - } |
|
358 | - |
|
359 | - /** |
|
360 | - * Set the post type archive to show the parent plans only. |
|
361 | - * |
|
362 | - * @param object $wp_query |
|
363 | - * @return array |
|
364 | - */ |
|
365 | - public function set_parent_only( $wp_query ) { |
|
366 | - if ( ! is_admin() && $wp_query->is_main_query() && ( $wp_query->is_post_type_archive( 'plan' ) || $wp_query->is_tax( 'plan-type' ) ) ) { |
|
367 | - $wp_query->set( 'post_parent', '0' ); |
|
368 | - } |
|
369 | - } |
|
370 | - |
|
371 | - /** |
|
372 | - * Define the metabox and field configurations. |
|
373 | - */ |
|
374 | - public function featured_metabox() { |
|
375 | - $cmb = new_cmb2_box( |
|
376 | - array( |
|
377 | - 'id' => $this->slug . '_featured_metabox_plan', |
|
378 | - 'title' => __( 'Featured Plan', 'lsx-health-plan' ), |
|
379 | - 'object_types' => array( $this->slug ), // Post type |
|
380 | - 'context' => 'side', |
|
381 | - 'priority' => 'high', |
|
382 | - 'show_names' => true, |
|
383 | - ) |
|
384 | - ); |
|
385 | - $cmb->add_field( |
|
386 | - array( |
|
387 | - 'name' => __( 'Featured Plan', 'lsx-health-plan' ), |
|
388 | - 'desc' => __( 'Enable a featured plan' ), |
|
389 | - 'id' => $this->slug . '_featured_plan', |
|
390 | - 'type' => 'checkbox', |
|
391 | - 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
392 | - ) |
|
393 | - ); |
|
394 | - } |
|
395 | - |
|
396 | - /** |
|
397 | - * Define the metabox and field configurations. |
|
398 | - */ |
|
399 | - public function sections_metabox_loop() { |
|
400 | - $cmb = new_cmb2_box( |
|
401 | - array( |
|
402 | - 'id' => $this->slug . '_sections_metabox', |
|
403 | - 'title' => __( 'Sections', 'lsx-health-plan' ), |
|
404 | - 'object_types' => array( $this->slug ), // Post type. |
|
405 | - 'context' => 'normal', |
|
406 | - 'priority' => 'low', |
|
407 | - 'show_names' => true, |
|
408 | - ) |
|
409 | - ); |
|
410 | - |
|
411 | - /* |
|
227 | + } |
|
228 | + |
|
229 | + /** |
|
230 | + * Saves the Taxonomy term icon image |
|
231 | + * |
|
232 | + * @since 0.1.0 |
|
233 | + * |
|
234 | + * @param int $term_id |
|
235 | + * @param string $taxonomy |
|
236 | + */ |
|
237 | + public function save_meta( $term_id = 0, $taxonomy = '' ) { |
|
238 | + if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) { |
|
239 | + return; |
|
240 | + } |
|
241 | + |
|
242 | + if ( ! isset( $_POST['thumbnail'] ) ) { |
|
243 | + return; |
|
244 | + } |
|
245 | + |
|
246 | + if ( check_admin_referer( 'lsx_hp_term_thumbnail_nonce', 'lsx_hp_term_thumbnail_nonce' ) ) { |
|
247 | + if ( ! isset( $_POST['thumbnail'] ) ) { |
|
248 | + return; |
|
249 | + } |
|
250 | + |
|
251 | + $thumbnail_meta = sanitize_text_field( $_POST['thumbnail'] ); |
|
252 | + $thumbnail_meta = ! empty( $thumbnail_meta ) ? $thumbnail_meta : ''; |
|
253 | + |
|
254 | + if ( empty( $thumbnail_meta ) ) { |
|
255 | + delete_term_meta( $term_id, 'thumbnail' ); |
|
256 | + } else { |
|
257 | + update_term_meta( $term_id, 'thumbnail', $thumbnail_meta ); |
|
258 | + } |
|
259 | + } |
|
260 | + } |
|
261 | + |
|
262 | + /** |
|
263 | + * Define the metabox and field configurations. |
|
264 | + */ |
|
265 | + public function details_metaboxes() { |
|
266 | + $cmb = new_cmb2_box( array( |
|
267 | + 'id' => $this->slug . '_details_metabox', |
|
268 | + 'title' => __( 'Details', 'lsx-health-plan' ), |
|
269 | + 'object_types' => array( $this->slug ), // Post type |
|
270 | + 'context' => 'normal', |
|
271 | + 'priority' => 'high', |
|
272 | + 'show_names' => true, |
|
273 | + ) ); |
|
274 | + |
|
275 | + $cmb->add_field( array( |
|
276 | + 'name' => __( 'Plan Short Description', 'lsx-health-plan' ), |
|
277 | + 'id' => $this->slug . '_short_description', |
|
278 | + 'type' => 'textarea_small', |
|
279 | + 'desc' => __( 'Add a small description for this plan (optional)', 'lsx-health-plan' ), |
|
280 | + ) ); |
|
281 | + |
|
282 | + $warmup_type = 'page'; |
|
283 | + if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) { |
|
284 | + $warmup_type = array( 'page', 'workout' ); |
|
285 | + } |
|
286 | + $cmb->add_field( array( |
|
287 | + 'name' => __( 'Warmup', 'lsx-health-plan' ), |
|
288 | + 'desc' => __( 'Connect the warm up page that applies to this day plan using the field provided.', 'lsx-health-plan' ), |
|
289 | + 'id' => $this->slug . '_warmup', |
|
290 | + 'type' => 'post_search_ajax', |
|
291 | + // Optional : |
|
292 | + 'limit' => 3, // Limit selection to X items only (default 1) |
|
293 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
294 | + 'query_args' => array( |
|
295 | + 'post_type' => $warmup_type, |
|
296 | + 'post_status' => array( 'publish' ), |
|
297 | + 'posts_per_page' => -1, |
|
298 | + ), |
|
299 | + ) ); |
|
300 | + } |
|
301 | + |
|
302 | + /** |
|
303 | + * Adds the post type to the different arrays. |
|
304 | + * |
|
305 | + * @param array $post_types |
|
306 | + * @return array |
|
307 | + */ |
|
308 | + public function enable_post_type( $post_types = array() ) { |
|
309 | + $post_types[] = $this->slug; |
|
310 | + return $post_types; |
|
311 | + } |
|
312 | + |
|
313 | + /** |
|
314 | + * Registers the workout connections on the plan post type. |
|
315 | + * |
|
316 | + * @return void |
|
317 | + */ |
|
318 | + public function plan_connections() { |
|
319 | + $cmb = new_cmb2_box( |
|
320 | + array( |
|
321 | + 'id' => $this->slug . '_connections_metabox', |
|
322 | + 'title' => __( 'Plans', 'lsx-health-plan' ), |
|
323 | + 'object_types' => array( 'workout', 'meal', 'tip', 'recipe' ), |
|
324 | + 'context' => 'normal', |
|
325 | + 'priority' => 'high', |
|
326 | + 'show_names' => true, |
|
327 | + ) |
|
328 | + ); |
|
329 | + $cmb->add_field( |
|
330 | + array( |
|
331 | + 'name' => __( 'Plan', 'lsx-health-plan' ), |
|
332 | + 'id' => 'connected_plans', |
|
333 | + 'desc' => __( 'Connect this to the day plan it applies to, using the field provided.', 'lsx-health-plan' ), |
|
334 | + 'type' => 'post_search_ajax', |
|
335 | + 'limit' => 15, |
|
336 | + 'sortable' => true, |
|
337 | + 'query_args' => array( |
|
338 | + 'post_type' => array( 'plan' ), |
|
339 | + 'post_status' => array( 'publish' ), |
|
340 | + 'posts_per_page' => -1, |
|
341 | + ), |
|
342 | + ) |
|
343 | + ); |
|
344 | + } |
|
345 | + |
|
346 | + /** |
|
347 | + * Remove the "Archives:" from the post type. |
|
348 | + * |
|
349 | + * @param string $title the term title. |
|
350 | + * @return string |
|
351 | + */ |
|
352 | + public function get_the_archive_title( $title ) { |
|
353 | + if ( is_post_type_archive( 'plan' ) ) { |
|
354 | + $title = __( 'Our health plans', 'lsx-health-plan' ); |
|
355 | + } |
|
356 | + return $title; |
|
357 | + } |
|
358 | + |
|
359 | + /** |
|
360 | + * Set the post type archive to show the parent plans only. |
|
361 | + * |
|
362 | + * @param object $wp_query |
|
363 | + * @return array |
|
364 | + */ |
|
365 | + public function set_parent_only( $wp_query ) { |
|
366 | + if ( ! is_admin() && $wp_query->is_main_query() && ( $wp_query->is_post_type_archive( 'plan' ) || $wp_query->is_tax( 'plan-type' ) ) ) { |
|
367 | + $wp_query->set( 'post_parent', '0' ); |
|
368 | + } |
|
369 | + } |
|
370 | + |
|
371 | + /** |
|
372 | + * Define the metabox and field configurations. |
|
373 | + */ |
|
374 | + public function featured_metabox() { |
|
375 | + $cmb = new_cmb2_box( |
|
376 | + array( |
|
377 | + 'id' => $this->slug . '_featured_metabox_plan', |
|
378 | + 'title' => __( 'Featured Plan', 'lsx-health-plan' ), |
|
379 | + 'object_types' => array( $this->slug ), // Post type |
|
380 | + 'context' => 'side', |
|
381 | + 'priority' => 'high', |
|
382 | + 'show_names' => true, |
|
383 | + ) |
|
384 | + ); |
|
385 | + $cmb->add_field( |
|
386 | + array( |
|
387 | + 'name' => __( 'Featured Plan', 'lsx-health-plan' ), |
|
388 | + 'desc' => __( 'Enable a featured plan' ), |
|
389 | + 'id' => $this->slug . '_featured_plan', |
|
390 | + 'type' => 'checkbox', |
|
391 | + 'show_on_cb' => 'cmb2_hide_if_no_cats', |
|
392 | + ) |
|
393 | + ); |
|
394 | + } |
|
395 | + |
|
396 | + /** |
|
397 | + * Define the metabox and field configurations. |
|
398 | + */ |
|
399 | + public function sections_metabox_loop() { |
|
400 | + $cmb = new_cmb2_box( |
|
401 | + array( |
|
402 | + 'id' => $this->slug . '_sections_metabox', |
|
403 | + 'title' => __( 'Sections', 'lsx-health-plan' ), |
|
404 | + 'object_types' => array( $this->slug ), // Post type. |
|
405 | + 'context' => 'normal', |
|
406 | + 'priority' => 'low', |
|
407 | + 'show_names' => true, |
|
408 | + ) |
|
409 | + ); |
|
410 | + |
|
411 | + /* |
|
412 | 412 | This is where the repeatable group is defined, each field has the same ID as the legacy field. |
413 | 413 | There is a function which runs and adds to looped fields to individual fields for WP Query compatability. |
414 | 414 | */ |
415 | - $group = $cmb->add_field( |
|
416 | - array( |
|
417 | - 'id' => $this->slug . '_sections', |
|
418 | - 'type' => 'group', |
|
419 | - 'options' => array( |
|
420 | - 'group_title' => __( 'Section', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number |
|
421 | - 'add_button' => __( 'Add section', 'lsx-health-plan' ), |
|
422 | - 'remove_button' => __( 'Remove section', 'lsx-health-plan' ), |
|
423 | - 'sortable' => true, |
|
424 | - 'closed' => true, // true to have the groups closed by default |
|
425 | - ), |
|
426 | - 'classes' => 'lsx-admin-row', |
|
415 | + $group = $cmb->add_field( |
|
416 | + array( |
|
417 | + 'id' => $this->slug . '_sections', |
|
418 | + 'type' => 'group', |
|
419 | + 'options' => array( |
|
420 | + 'group_title' => __( 'Section', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number |
|
421 | + 'add_button' => __( 'Add section', 'lsx-health-plan' ), |
|
422 | + 'remove_button' => __( 'Remove section', 'lsx-health-plan' ), |
|
423 | + 'sortable' => true, |
|
424 | + 'closed' => true, // true to have the groups closed by default |
|
425 | + ), |
|
426 | + 'classes' => 'lsx-admin-row', |
|
427 | 427 | |
428 | - ) |
|
429 | - ); |
|
430 | - |
|
431 | - $cmb->add_group_field( |
|
432 | - $group, |
|
433 | - array( |
|
434 | - 'name' => __( 'Title', 'lsx-health-plan' ), |
|
435 | - 'id' => 'title', |
|
436 | - 'type' => 'text', |
|
437 | - 'desc' => __( 'e.g Day 1 / Week 1', 'lsx-health-plan' ), |
|
438 | - 'classes' => 'lsx-field-col lsx-field-col-50', |
|
439 | - ) |
|
440 | - ); |
|
441 | - |
|
442 | - $cmb->add_group_field( |
|
443 | - $group, |
|
444 | - array( |
|
445 | - 'name' => __( 'Group', 'lsx-health-plan' ), |
|
446 | - 'id' => 'group', |
|
447 | - 'type' => 'text', |
|
448 | - 'desc' => __( 'e.g Week 1 / January', 'lsx-health-plan' ), |
|
449 | - 'classes' => 'lsx-field-col lsx-field-col-50', |
|
450 | - ) |
|
451 | - ); |
|
452 | - |
|
453 | - $cmb->add_group_field( |
|
454 | - $group, |
|
455 | - array( |
|
456 | - 'name' => __( 'Overview', 'lsx-health-plan' ), |
|
457 | - 'id' => 'description', |
|
458 | - 'type' => 'wysiwyg', |
|
459 | - ) |
|
460 | - ); |
|
461 | - |
|
462 | - if ( post_type_exists( 'workout' ) ) { |
|
463 | - $cmb->add_group_field( |
|
464 | - $group, |
|
465 | - array( |
|
466 | - 'name' => __( 'Workouts', 'lsx-health-plan' ), |
|
467 | - 'id' => 'connected_workouts', |
|
468 | - 'desc' => __( 'Connect the workout(s) that apply to this section.', 'lsx-health-plan' ), |
|
469 | - 'type' => 'post_search_ajax', |
|
470 | - 'limit' => 15, |
|
471 | - 'sortable' => true, |
|
472 | - 'query_args' => array( |
|
473 | - 'post_type' => array( 'workout' ), |
|
474 | - 'post_status' => array( 'publish' ), |
|
475 | - 'posts_per_page' => -1, |
|
476 | - ), |
|
477 | - 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
478 | - ) |
|
479 | - ); |
|
480 | - } |
|
481 | - |
|
482 | - if ( post_type_exists( 'meal' ) ) { |
|
483 | - $cmb->add_group_field( |
|
484 | - $group, |
|
485 | - array( |
|
486 | - 'name' => __( 'Meals', 'lsx-health-plan' ), |
|
487 | - 'desc' => __( 'Connect the meal(s) that apply to this section.', 'lsx-health-plan' ), |
|
488 | - 'id' => 'connected_meals', |
|
489 | - 'type' => 'post_search_ajax', |
|
490 | - // Optional : |
|
491 | - 'limit' => 15, // Limit selection to X items only (default 1) |
|
492 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
493 | - 'query_args' => array( |
|
494 | - 'post_type' => array( 'meal' ), |
|
495 | - 'post_status' => array( 'publish' ), |
|
496 | - 'posts_per_page' => -1, |
|
497 | - ), |
|
498 | - 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
499 | - ) |
|
500 | - ); |
|
501 | - } |
|
502 | - if ( post_type_exists( 'tip' ) ) { |
|
503 | - $cmb->add_group_field( |
|
504 | - $group, |
|
505 | - array( |
|
506 | - 'name' => __( 'Tips', 'lsx-health-plan' ), |
|
507 | - 'id' => 'connected_tips', |
|
508 | - 'desc' => __( 'Connect the tip(s) that apply to this section.', 'lsx-health-plan' ), |
|
509 | - 'type' => 'post_search_ajax', |
|
510 | - // Optional : |
|
511 | - 'limit' => 15, // Limit selection to X items only (default 1) |
|
512 | - 'sortable' => true, // Allow selected items to be sortable (default false) |
|
513 | - 'query_args' => array( |
|
514 | - 'post_type' => array( 'tip' ), |
|
515 | - 'post_status' => array( 'publish' ), |
|
516 | - 'posts_per_page' => -1, |
|
517 | - ), |
|
518 | - 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
519 | - ) |
|
520 | - ); |
|
521 | - } |
|
522 | - } |
|
523 | - |
|
524 | - /** |
|
525 | - * Holds the array for the single plan breadcrumbs. |
|
526 | - * |
|
527 | - * @var array $crumbs |
|
528 | - * @return array |
|
529 | - */ |
|
530 | - public function plan_breadcrumb_filter( $crumbs ) { |
|
531 | - if ( is_singular( 'plan' ) ) { |
|
532 | - $plan = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ); |
|
533 | - $plans = \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plan' ); |
|
534 | - $plan_name = get_the_title(); |
|
535 | - $url = get_post_type_archive_link( $plan ); |
|
536 | - $term_obj_list = get_the_terms( get_the_ID(), 'plan-type' ); |
|
537 | - $plan_type = $term_obj_list[0]->name; |
|
538 | - $plan_type_url = get_term_link( $term_obj_list[0]->term_id ); |
|
428 | + ) |
|
429 | + ); |
|
430 | + |
|
431 | + $cmb->add_group_field( |
|
432 | + $group, |
|
433 | + array( |
|
434 | + 'name' => __( 'Title', 'lsx-health-plan' ), |
|
435 | + 'id' => 'title', |
|
436 | + 'type' => 'text', |
|
437 | + 'desc' => __( 'e.g Day 1 / Week 1', 'lsx-health-plan' ), |
|
438 | + 'classes' => 'lsx-field-col lsx-field-col-50', |
|
439 | + ) |
|
440 | + ); |
|
441 | + |
|
442 | + $cmb->add_group_field( |
|
443 | + $group, |
|
444 | + array( |
|
445 | + 'name' => __( 'Group', 'lsx-health-plan' ), |
|
446 | + 'id' => 'group', |
|
447 | + 'type' => 'text', |
|
448 | + 'desc' => __( 'e.g Week 1 / January', 'lsx-health-plan' ), |
|
449 | + 'classes' => 'lsx-field-col lsx-field-col-50', |
|
450 | + ) |
|
451 | + ); |
|
452 | + |
|
453 | + $cmb->add_group_field( |
|
454 | + $group, |
|
455 | + array( |
|
456 | + 'name' => __( 'Overview', 'lsx-health-plan' ), |
|
457 | + 'id' => 'description', |
|
458 | + 'type' => 'wysiwyg', |
|
459 | + ) |
|
460 | + ); |
|
461 | + |
|
462 | + if ( post_type_exists( 'workout' ) ) { |
|
463 | + $cmb->add_group_field( |
|
464 | + $group, |
|
465 | + array( |
|
466 | + 'name' => __( 'Workouts', 'lsx-health-plan' ), |
|
467 | + 'id' => 'connected_workouts', |
|
468 | + 'desc' => __( 'Connect the workout(s) that apply to this section.', 'lsx-health-plan' ), |
|
469 | + 'type' => 'post_search_ajax', |
|
470 | + 'limit' => 15, |
|
471 | + 'sortable' => true, |
|
472 | + 'query_args' => array( |
|
473 | + 'post_type' => array( 'workout' ), |
|
474 | + 'post_status' => array( 'publish' ), |
|
475 | + 'posts_per_page' => -1, |
|
476 | + ), |
|
477 | + 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
478 | + ) |
|
479 | + ); |
|
480 | + } |
|
481 | + |
|
482 | + if ( post_type_exists( 'meal' ) ) { |
|
483 | + $cmb->add_group_field( |
|
484 | + $group, |
|
485 | + array( |
|
486 | + 'name' => __( 'Meals', 'lsx-health-plan' ), |
|
487 | + 'desc' => __( 'Connect the meal(s) that apply to this section.', 'lsx-health-plan' ), |
|
488 | + 'id' => 'connected_meals', |
|
489 | + 'type' => 'post_search_ajax', |
|
490 | + // Optional : |
|
491 | + 'limit' => 15, // Limit selection to X items only (default 1) |
|
492 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
493 | + 'query_args' => array( |
|
494 | + 'post_type' => array( 'meal' ), |
|
495 | + 'post_status' => array( 'publish' ), |
|
496 | + 'posts_per_page' => -1, |
|
497 | + ), |
|
498 | + 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
499 | + ) |
|
500 | + ); |
|
501 | + } |
|
502 | + if ( post_type_exists( 'tip' ) ) { |
|
503 | + $cmb->add_group_field( |
|
504 | + $group, |
|
505 | + array( |
|
506 | + 'name' => __( 'Tips', 'lsx-health-plan' ), |
|
507 | + 'id' => 'connected_tips', |
|
508 | + 'desc' => __( 'Connect the tip(s) that apply to this section.', 'lsx-health-plan' ), |
|
509 | + 'type' => 'post_search_ajax', |
|
510 | + // Optional : |
|
511 | + 'limit' => 15, // Limit selection to X items only (default 1) |
|
512 | + 'sortable' => true, // Allow selected items to be sortable (default false) |
|
513 | + 'query_args' => array( |
|
514 | + 'post_type' => array( 'tip' ), |
|
515 | + 'post_status' => array( 'publish' ), |
|
516 | + 'posts_per_page' => -1, |
|
517 | + ), |
|
518 | + 'classes' => 'lsx-field-col lsx-field-add-field lsx-field-col-33', |
|
519 | + ) |
|
520 | + ); |
|
521 | + } |
|
522 | + } |
|
523 | + |
|
524 | + /** |
|
525 | + * Holds the array for the single plan breadcrumbs. |
|
526 | + * |
|
527 | + * @var array $crumbs |
|
528 | + * @return array |
|
529 | + */ |
|
530 | + public function plan_breadcrumb_filter( $crumbs ) { |
|
531 | + if ( is_singular( 'plan' ) ) { |
|
532 | + $plan = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' ); |
|
533 | + $plans = \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plan' ); |
|
534 | + $plan_name = get_the_title(); |
|
535 | + $url = get_post_type_archive_link( $plan ); |
|
536 | + $term_obj_list = get_the_terms( get_the_ID(), 'plan-type' ); |
|
537 | + $plan_type = $term_obj_list[0]->name; |
|
538 | + $plan_type_url = get_term_link( $term_obj_list[0]->term_id ); |
|
539 | 539 | |
540 | - $crumbs[1] = array( |
|
541 | - 0 => $plans, |
|
542 | - 1 => $url, |
|
543 | - ); |
|
544 | - $crumbs[2] = array( |
|
545 | - 0 => $plan_type, |
|
546 | - 1 => $plan_type_url, |
|
547 | - ); |
|
548 | - $crumbs[3] = array( |
|
549 | - 0 => $plan_name, |
|
550 | - ); |
|
551 | - } |
|
552 | - return $crumbs; |
|
553 | - } |
|
540 | + $crumbs[1] = array( |
|
541 | + 0 => $plans, |
|
542 | + 1 => $url, |
|
543 | + ); |
|
544 | + $crumbs[2] = array( |
|
545 | + 0 => $plan_type, |
|
546 | + 1 => $plan_type_url, |
|
547 | + ); |
|
548 | + $crumbs[3] = array( |
|
549 | + 0 => $plan_name, |
|
550 | + ); |
|
551 | + } |
|
552 | + return $crumbs; |
|
553 | + } |
|
554 | 554 | } |
@@ -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 | } |