Passed
Push — add/multiplan ( ad7e4c...0519d0 )
by Warwick
04:28 queued 12s
created
classes/post-types/class-exercise.php 1 patch
Indentation   +423 added lines, -423 removed lines patch added patch discarded remove patch
@@ -8,428 +8,428 @@
 block discarded – undo
8 8
  */
9 9
 class Exercise {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Exercise()
17
-	 */
18
-	protected static $instance = null;
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 = 'exercise';
28
-
29
-	/**
30
-	 * Constructor
31
-	 */
32
-	public function __construct() {
33
-
34
-		if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
35
-			// Post Type and Taxonomies.
36
-			add_action( 'init', array( $this, 'register_post_type' ) );
37
-			add_action( 'init', array( $this, 'exercise_type_taxonomy_setup' ) );
38
-			add_action( 'init', array( $this, 'equipment_taxonomy_setup' ) );
39
-			add_action( 'init', array( $this, 'muscle_group_taxonomy_setup' ) );
40
-			add_action( 'admin_menu', array( $this, 'register_menus' ) );
41
-
42
-			// Custom Fields.
43
-			add_action( 'cmb2_admin_init', array( $this, 'exercise_details' ), 8 );
44
-			add_action( 'cmb2_admin_init', array( $this, 'gallery_metabox' ), 9 );
45
-			add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
46
-
47
-			// Template Redirects.
48
-			add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
49
-			add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
50
-
51
-			//Breadcrumbs
52
-			add_filter( 'woocommerce_get_breadcrumb', array( $this, 'exercise_breadcrumb_filter' ), 30, 1 );
53
-
54
-		}
55
-
56
-	}
57
-
58
-
59
-	/**
60
-	 * Return an instance of this class.
61
-	 *
62
-	 * @since 1.0.0
63
-	 *
64
-	 * @return    object \lsx_health_plan\classes\Exercise()    A single instance of this class.
65
-	 */
66
-	public static function get_instance() {
67
-		// If the single instance hasn't been set, set it now.
68
-		if ( null === self::$instance ) {
69
-			self::$instance = new self();
70
-		}
71
-		return self::$instance;
72
-	}
73
-	/**
74
-	 * Register the post type.
75
-	 */
76
-	public function register_post_type() {
77
-		$labels = array(
78
-			'name'               => esc_html__( 'Exercises', 'lsx-health-plan' ),
79
-			'singular_name'      => esc_html__( 'Exercise', 'lsx-health-plan' ),
80
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
81
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
82
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
83
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
84
-			'all_items'          => esc_html__( 'All Exercises', 'lsx-health-plan' ),
85
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
86
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
87
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
88
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
89
-			'parent_item_colon'  => '',
90
-			'menu_name'          => esc_html__( 'Exercises', 'lsx-health-plan' ),
91
-		);
92
-		$args   = array(
93
-			'labels'             => $labels,
94
-			'public'             => true,
95
-			'publicly_queryable' => true,
96
-			'show_ui'            => true,
97
-			'show_in_menu'       => 'edit.php?post_type=workout-pseudo',
98
-			'show_in_rest'       => true,
99
-			'menu_icon'          => 'dashicons-universal-access',
100
-			'query_var'          => true,
101
-			'rewrite'            => array(
102
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
103
-			),
104
-			'capability_type'    => 'page',
105
-			'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercises' ),
106
-			'hierarchical'       => false,
107
-			'menu_position'      => null,
108
-			'supports'           => array(
109
-				'title',
110
-				'thumbnail',
111
-				'editor',
112
-				'excerpt',
113
-				'custom-fields',
114
-			),
115
-		);
116
-		register_post_type( 'exercise', $args );
117
-	}
118
-
119
-	/**
120
-	 * Register the Exercise taxonomy.
121
-	 *
122
-	 * @return void
123
-	 */
124
-	public function exercise_type_taxonomy_setup() {
125
-		$labels = array(
126
-			'name'              => esc_html_x( 'Exercise Type', 'taxonomy general name', 'lsx-health-plan' ),
127
-			'singular_name'     => esc_html_x( 'Exercise Type', 'taxonomy singular name', 'lsx-health-plan' ),
128
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
129
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
130
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
131
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
132
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
133
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
134
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
135
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
136
-			'menu_name'         => esc_html__( 'Exercise Types', 'lsx-health-plan' ),
137
-		);
138
-
139
-		$args = array(
140
-			'hierarchical'      => true,
141
-			'labels'            => $labels,
142
-			'show_ui'           => true,
143
-			'show_admin_column' => true,
144
-			'query_var'         => true,
145
-			'rewrite'           => array(
146
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_type', 'exercise-type' ),
147
-			),
148
-			'show_in_rest'      => true,
149
-		);
150
-
151
-		register_taxonomy( 'exercise-type', array( 'exercise' ), $args );
152
-	}
153
-
154
-	/**
155
-	 * Register the Exercise taxonomy.
156
-	 *
157
-	 * @return void
158
-	 */
159
-	public function equipment_taxonomy_setup() {
160
-		$labels = array(
161
-			'name'              => esc_html_x( 'Equipment', 'taxonomy general name', 'lsx-health-plan' ),
162
-			'singular_name'     => esc_html_x( 'Equipment', 'taxonomy singular name', 'lsx-health-plan' ),
163
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
164
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
165
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
166
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
167
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
168
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
169
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
170
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
171
-			'menu_name'         => esc_html__( 'Equipment', 'lsx-health-plan' ),
172
-		);
173
-
174
-		$args = array(
175
-			'hierarchical'      => true,
176
-			'labels'            => $labels,
177
-			'show_ui'           => true,
178
-			'show_admin_column' => true,
179
-			'query_var'         => true,
180
-			'rewrite'           => array(
181
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_equipment', 'equipment' ),
182
-			),
183
-			'show_in_rest'      => true,
184
-		);
185
-
186
-		register_taxonomy( 'equipment', array( 'exercise' ), $args );
187
-	}
188
-
189
-	/**
190
-	 * Register the Muscle Group taxonomy.
191
-	 *
192
-	 * @return void
193
-	 */
194
-	public function muscle_group_taxonomy_setup() {
195
-		$labels = array(
196
-			'name'              => esc_html_x( 'Muscle Groups', 'taxonomy general name', 'lsx-health-plan' ),
197
-			'singular_name'     => esc_html_x( 'Muscle Group', 'taxonomy singular name', 'lsx-health-plan' ),
198
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
199
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
200
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
201
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
202
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
203
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
204
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
205
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
206
-			'menu_name'         => esc_html__( 'Muscle Groups', 'lsx-health-plan' ),
207
-		);
208
-
209
-		$args = array(
210
-			'hierarchical'      => true,
211
-			'labels'            => $labels,
212
-			'show_ui'           => true,
213
-			'show_admin_column' => true,
214
-			'query_var'         => true,
215
-			'rewrite'           => array(
216
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_muscle_group', 'muscle-group' ),
217
-			),
218
-			'show_in_rest'      => true,
219
-		);
220
-
221
-		register_taxonomy( 'muscle-group', array( 'exercise' ), $args );
222
-	}
223
-
224
-	/**
225
-	 * Registers the Recipes under the Meals Post type menu.
226
-	 *
227
-	 * @return void
228
-	 */
229
-	public function register_menus() {
230
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercises', 'lsx-health-plan' ), esc_html__( 'Exercises', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=exercise' );
231
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercise Types', 'lsx-health-plan' ), esc_html__( 'Exercise Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=exercise-type&post_type=exercise' );
232
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Equipment', 'lsx-health-plan' ), esc_html__( 'Equipment', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=equipment&post_type=exercise' );
233
-		add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Muscle Groups', 'lsx-health-plan' ), esc_html__( 'Muscle Groups', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=muscle-group&post_type=exercise' );
234
-	}
235
-
236
-	/**
237
-	 * Adds the post type to the different arrays.
238
-	 *
239
-	 * @param array $post_types
240
-	 * @return array
241
-	 */
242
-	public function enable_post_type( $post_types = array() ) {
243
-		$post_types[] = $this->slug;
244
-		return $post_types;
245
-	}
246
-
247
-	/**
248
-	 * Enables the Bi Directional relationships
249
-	 *
250
-	 * @param array $connections
251
-	 * @return void
252
-	 */
253
-	public function enable_connections( $connections = array() ) {
254
-		$connections['exercise']['connected_workouts'] = 'connected_exercises';
255
-		$connections['workout']['connected_exercises'] = 'connected_workouts';
256
-		return $connections;
257
-	}
258
-
259
-	/**
260
-	 * Define the metabox and field configurations.
261
-	 */
262
-	public function gallery_metabox() {
263
-		$cmb = new_cmb2_box(
264
-			array(
265
-				'id'           => $this->slug . '_gallery_details_metabox',
266
-				'title'        => __( 'Exercise Gallery', 'lsx-health-plan' ),
267
-				'object_types' => array( $this->slug ),
268
-				'context'      => 'normal',
269
-				'priority'     => 'low',
270
-				'show_names'   => true,
271
-			)
272
-		);
273
-
274
-		$cmb->add_field(
275
-			array(
276
-				'name'    => __( 'Layout', 'lsx-health-plan' ),
277
-				'id'      => $this->slug . '_gallery_layout',
278
-				'type'    => 'radio',
279
-				'options' => array(
280
-					'slider' => __( 'Slider', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
281
-					'grid'   => __( 'Grid', 'lsx-health-plan' ),
282
-				),
283
-				'default' => 'grid',
284
-			)
285
-		);
286
-
287
-		$cmb->add_field(
288
-			array(
289
-				'name'    => __( 'Grid Columns', 'lsx-health-plan' ),
290
-				'id'      => $this->slug . '_gallery_columns',
291
-				'type'    => 'select',
292
-				'options' => array(
293
-					'3' => __( '2 Columns', 'lsx-health-plan' ),
294
-					'4' => __( '3 Columns', 'lsx-health-plan' ),
295
-				),
296
-				'default' => '1',
297
-			)
298
-		);
299
-
300
-		// Repeatable group.
301
-		$gallery_group = $cmb->add_field(
302
-			array(
303
-				'id'      => $this->slug . '_gallery',
304
-				'type'    => 'group',
305
-				'options' => array(
306
-					'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
307
-					'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
308
-					'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
309
-					'sortable'      => true,
310
-				),
311
-				'classes' => 'lsx-admin-row',
312
-			)
313
-		);
314
-
315
-		// Title.
316
-		$cmb->add_group_field(
317
-			$gallery_group,
318
-			array(
319
-				'name'       => __( 'Image', 'lsx-health-plan' ),
320
-				'id'         => $this->slug . '_gallery_image',
321
-				'type'       => 'file',
322
-				'text'       => array(
323
-					'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
324
-				),
325
-				'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
326
-				'query_args' => array(
327
-					'type' => array(
328
-						'image/gif',
329
-						'image/jpeg',
330
-						'image/png',
331
-					),
332
-				),
333
-				'preview_size' => 'lsx-thumbnail-wide',
334
-			)
335
-		);
336
-
337
-		// Title.
338
-		$cmb->add_group_field(
339
-			$gallery_group,
340
-			array(
341
-				'name'         => __( 'oEmbed', 'lsx-health-plan' ),
342
-				'id'           => $this->slug . '_gallery_embed',
343
-				'type'         => 'text',
344
-				'desc'         => __( 'Drop in the embed url for your video from YouTube, Vimeo or DailyMotion, e.g: "https://www.youtube.com/watch?v=9xwazD5SyVg". A full list of supports formats can be found at <a href="https://make.wordpress.org/support/user-manual/content/media/adding-media-to-your-pages-and-posts/embedding-media-from-other-sites/">WordPress</a>', 'lsx-health-plan' ),
345
-			)
346
-		);
347
-
348
-		$cmb->add_group_field(
349
-			$gallery_group,
350
-			array(
351
-				'name'         => __( 'External Media', 'lsx-health-plan' ),
352
-				'id'           => $this->slug . '_gallery_external',
353
-				'type'         => 'textarea_code',
354
-				'desc'         => __( 'Drop in the iFrame embed code from Giphy in this field, i.e: &lt;iframe src="https://giphy.com/embed/3o7527Rn1HxXWqgxuo" width="480" height="270" frameborder="0" class="giphy-embed" allowfullscreen&gt;&lt;/iframe&gt;', 'lsx-health-plan' ),
355
-			)
356
-		);
357
-	}
358
-
359
-	/**
360
-	 * Registers the general settings for the exercise.
361
-	 *
362
-	 * @return void
363
-	 */
364
-	public function exercise_details() {
365
-		$cmb = new_cmb2_box(
366
-			array(
367
-				'id'           => $this->slug . '_general_details_metabox',
368
-				'title'        => __( 'Details', 'lsx-health-plan' ),
369
-				'object_types' => array( $this->slug ),
370
-				'context'      => 'normal',
371
-				'priority'     => 'high',
372
-				'show_names'   => true,
373
-			)
374
-		);
375
-
376
-		$cmb->add_field(
377
-			array(
378
-				'name'    => __( 'Side', 'lsx-health-plan' ),
379
-				'id'      => $this->slug . '_side',
380
-				'type'    => 'select',
381
-				'options' => array(
382
-					''      => __( 'Select', 'lsx-health-plan' ),
383
-					'left'  => __( 'Left', 'lsx-health-plan' ),
384
-					'right' => __( 'Right', 'lsx-health-plan' ),
385
-				),
386
-				'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
387
-			)
388
-		);
389
-	}
390
-
391
-	/**
392
-	 * Holds the array for the single exercise breadcrumbs.
393
-	 *
394
-	 * @var array $crumbs
395
-	 * @return array
396
-	 */
397
-	public function exercise_breadcrumb_filter( $crumbs ) {
398
-		$exercise  = \lsx_health_plan\functions\get_option( 'endpoint_exercise', 'exercise' );
399
-		$exercises = \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercise' );
400
-		$url       = get_post_type_archive_link( $exercise );
401
-
402
-		if ( is_singular( 'exercise' ) ) {
403
-			$exercise_name     = get_the_title();	
404
-			$term_obj_list     = get_the_terms( get_the_ID(), 'exercise-type' );
405
-			$exercise_type     = $term_obj_list[0]->name;
406
-			$exercise_type_url = get_term_link( $term_obj_list[0]->term_id );
11
+     /**
12
+      * Holds class instance
13
+      *
14
+      * @since 1.0.0
15
+      *
16
+      * @var      object \lsx_health_plan\classes\Exercise()
17
+      */
18
+     protected static $instance = null;
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 = 'exercise';
28
+
29
+     /**
30
+      * Constructor
31
+      */
32
+     public function __construct() {
33
+
34
+          if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
35
+               // Post Type and Taxonomies.
36
+               add_action( 'init', array( $this, 'register_post_type' ) );
37
+               add_action( 'init', array( $this, 'exercise_type_taxonomy_setup' ) );
38
+               add_action( 'init', array( $this, 'equipment_taxonomy_setup' ) );
39
+               add_action( 'init', array( $this, 'muscle_group_taxonomy_setup' ) );
40
+               add_action( 'admin_menu', array( $this, 'register_menus' ) );
41
+
42
+               // Custom Fields.
43
+               add_action( 'cmb2_admin_init', array( $this, 'exercise_details' ), 8 );
44
+               add_action( 'cmb2_admin_init', array( $this, 'gallery_metabox' ), 9 );
45
+               add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
46
+
47
+               // Template Redirects.
48
+               add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
49
+               add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
50
+
51
+               //Breadcrumbs
52
+               add_filter( 'woocommerce_get_breadcrumb', array( $this, 'exercise_breadcrumb_filter' ), 30, 1 );
53
+
54
+          }
55
+
56
+     }
57
+
58
+
59
+     /**
60
+      * Return an instance of this class.
61
+      *
62
+      * @since 1.0.0
63
+      *
64
+      * @return    object \lsx_health_plan\classes\Exercise()    A single instance of this class.
65
+      */
66
+     public static function get_instance() {
67
+          // If the single instance hasn't been set, set it now.
68
+          if ( null === self::$instance ) {
69
+               self::$instance = new self();
70
+          }
71
+          return self::$instance;
72
+     }
73
+     /**
74
+      * Register the post type.
75
+      */
76
+     public function register_post_type() {
77
+          $labels = array(
78
+               'name'               => esc_html__( 'Exercises', 'lsx-health-plan' ),
79
+               'singular_name'      => esc_html__( 'Exercise', 'lsx-health-plan' ),
80
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
81
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
82
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
83
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
84
+               'all_items'          => esc_html__( 'All Exercises', 'lsx-health-plan' ),
85
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
86
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
87
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
88
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
89
+               'parent_item_colon'  => '',
90
+               'menu_name'          => esc_html__( 'Exercises', 'lsx-health-plan' ),
91
+          );
92
+          $args   = array(
93
+               'labels'             => $labels,
94
+               'public'             => true,
95
+               'publicly_queryable' => true,
96
+               'show_ui'            => true,
97
+               'show_in_menu'       => 'edit.php?post_type=workout-pseudo',
98
+               'show_in_rest'       => true,
99
+               'menu_icon'          => 'dashicons-universal-access',
100
+               'query_var'          => true,
101
+               'rewrite'            => array(
102
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_single', 'exercise' ),
103
+               ),
104
+               'capability_type'    => 'page',
105
+               'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercises' ),
106
+               'hierarchical'       => false,
107
+               'menu_position'      => null,
108
+               'supports'           => array(
109
+                    'title',
110
+                    'thumbnail',
111
+                    'editor',
112
+                    'excerpt',
113
+                    'custom-fields',
114
+               ),
115
+          );
116
+          register_post_type( 'exercise', $args );
117
+     }
118
+
119
+     /**
120
+      * Register the Exercise taxonomy.
121
+      *
122
+      * @return void
123
+      */
124
+     public function exercise_type_taxonomy_setup() {
125
+          $labels = array(
126
+               'name'              => esc_html_x( 'Exercise Type', 'taxonomy general name', 'lsx-health-plan' ),
127
+               'singular_name'     => esc_html_x( 'Exercise Type', 'taxonomy singular name', 'lsx-health-plan' ),
128
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
129
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
130
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
131
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
132
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
133
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
134
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
135
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
136
+               'menu_name'         => esc_html__( 'Exercise Types', 'lsx-health-plan' ),
137
+          );
138
+
139
+          $args = array(
140
+               'hierarchical'      => true,
141
+               'labels'            => $labels,
142
+               'show_ui'           => true,
143
+               'show_admin_column' => true,
144
+               'query_var'         => true,
145
+               'rewrite'           => array(
146
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_type', 'exercise-type' ),
147
+               ),
148
+               'show_in_rest'      => true,
149
+          );
150
+
151
+          register_taxonomy( 'exercise-type', array( 'exercise' ), $args );
152
+     }
153
+
154
+     /**
155
+      * Register the Exercise taxonomy.
156
+      *
157
+      * @return void
158
+      */
159
+     public function equipment_taxonomy_setup() {
160
+          $labels = array(
161
+               'name'              => esc_html_x( 'Equipment', 'taxonomy general name', 'lsx-health-plan' ),
162
+               'singular_name'     => esc_html_x( 'Equipment', 'taxonomy singular name', 'lsx-health-plan' ),
163
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
164
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
165
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
166
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
167
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
168
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
169
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
170
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
171
+               'menu_name'         => esc_html__( 'Equipment', 'lsx-health-plan' ),
172
+          );
173
+
174
+          $args = array(
175
+               'hierarchical'      => true,
176
+               'labels'            => $labels,
177
+               'show_ui'           => true,
178
+               'show_admin_column' => true,
179
+               'query_var'         => true,
180
+               'rewrite'           => array(
181
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_equipment', 'equipment' ),
182
+               ),
183
+               'show_in_rest'      => true,
184
+          );
185
+
186
+          register_taxonomy( 'equipment', array( 'exercise' ), $args );
187
+     }
188
+
189
+     /**
190
+      * Register the Muscle Group taxonomy.
191
+      *
192
+      * @return void
193
+      */
194
+     public function muscle_group_taxonomy_setup() {
195
+          $labels = array(
196
+               'name'              => esc_html_x( 'Muscle Groups', 'taxonomy general name', 'lsx-health-plan' ),
197
+               'singular_name'     => esc_html_x( 'Muscle Group', 'taxonomy singular name', 'lsx-health-plan' ),
198
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
199
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
200
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
201
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
202
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
203
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
204
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
205
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
206
+               'menu_name'         => esc_html__( 'Muscle Groups', 'lsx-health-plan' ),
207
+          );
208
+
209
+          $args = array(
210
+               'hierarchical'      => true,
211
+               'labels'            => $labels,
212
+               'show_ui'           => true,
213
+               'show_admin_column' => true,
214
+               'query_var'         => true,
215
+               'rewrite'           => array(
216
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_exercise_muscle_group', 'muscle-group' ),
217
+               ),
218
+               'show_in_rest'      => true,
219
+          );
220
+
221
+          register_taxonomy( 'muscle-group', array( 'exercise' ), $args );
222
+     }
223
+
224
+     /**
225
+      * Registers the Recipes under the Meals Post type menu.
226
+      *
227
+      * @return void
228
+      */
229
+     public function register_menus() {
230
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercises', 'lsx-health-plan' ), esc_html__( 'Exercises', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=exercise' );
231
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Exercise Types', 'lsx-health-plan' ), esc_html__( 'Exercise Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=exercise-type&post_type=exercise' );
232
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Equipment', 'lsx-health-plan' ), esc_html__( 'Equipment', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=equipment&post_type=exercise' );
233
+          add_submenu_page( 'edit.php?post_type=workout', esc_html__( 'Muscle Groups', 'lsx-health-plan' ), esc_html__( 'Muscle Groups', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=muscle-group&post_type=exercise' );
234
+     }
235
+
236
+     /**
237
+      * Adds the post type to the different arrays.
238
+      *
239
+      * @param array $post_types
240
+      * @return array
241
+      */
242
+     public function enable_post_type( $post_types = array() ) {
243
+          $post_types[] = $this->slug;
244
+          return $post_types;
245
+     }
246
+
247
+     /**
248
+      * Enables the Bi Directional relationships
249
+      *
250
+      * @param array $connections
251
+      * @return void
252
+      */
253
+     public function enable_connections( $connections = array() ) {
254
+          $connections['exercise']['connected_workouts'] = 'connected_exercises';
255
+          $connections['workout']['connected_exercises'] = 'connected_workouts';
256
+          return $connections;
257
+     }
258
+
259
+     /**
260
+      * Define the metabox and field configurations.
261
+      */
262
+     public function gallery_metabox() {
263
+          $cmb = new_cmb2_box(
264
+               array(
265
+                    'id'           => $this->slug . '_gallery_details_metabox',
266
+                    'title'        => __( 'Exercise Gallery', 'lsx-health-plan' ),
267
+                    'object_types' => array( $this->slug ),
268
+                    'context'      => 'normal',
269
+                    'priority'     => 'low',
270
+                    'show_names'   => true,
271
+               )
272
+          );
273
+
274
+          $cmb->add_field(
275
+               array(
276
+                    'name'    => __( 'Layout', 'lsx-health-plan' ),
277
+                    'id'      => $this->slug . '_gallery_layout',
278
+                    'type'    => 'radio',
279
+                    'options' => array(
280
+                         'slider' => __( 'Slider', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
281
+                         'grid'   => __( 'Grid', 'lsx-health-plan' ),
282
+                    ),
283
+                    'default' => 'grid',
284
+               )
285
+          );
286
+
287
+          $cmb->add_field(
288
+               array(
289
+                    'name'    => __( 'Grid Columns', 'lsx-health-plan' ),
290
+                    'id'      => $this->slug . '_gallery_columns',
291
+                    'type'    => 'select',
292
+                    'options' => array(
293
+                         '3' => __( '2 Columns', 'lsx-health-plan' ),
294
+                         '4' => __( '3 Columns', 'lsx-health-plan' ),
295
+                    ),
296
+                    'default' => '1',
297
+               )
298
+          );
299
+
300
+          // Repeatable group.
301
+          $gallery_group = $cmb->add_field(
302
+               array(
303
+                    'id'      => $this->slug . '_gallery',
304
+                    'type'    => 'group',
305
+                    'options' => array(
306
+                         'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
307
+                         'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
308
+                         'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
309
+                         'sortable'      => true,
310
+                    ),
311
+                    'classes' => 'lsx-admin-row',
312
+               )
313
+          );
314
+
315
+          // Title.
316
+          $cmb->add_group_field(
317
+               $gallery_group,
318
+               array(
319
+                    'name'       => __( 'Image', 'lsx-health-plan' ),
320
+                    'id'         => $this->slug . '_gallery_image',
321
+                    'type'       => 'file',
322
+                    'text'       => array(
323
+                         'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
324
+                    ),
325
+                    'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
326
+                    'query_args' => array(
327
+                         'type' => array(
328
+                              'image/gif',
329
+                              'image/jpeg',
330
+                              'image/png',
331
+                         ),
332
+                    ),
333
+                    'preview_size' => 'lsx-thumbnail-wide',
334
+               )
335
+          );
336
+
337
+          // Title.
338
+          $cmb->add_group_field(
339
+               $gallery_group,
340
+               array(
341
+                    'name'         => __( 'oEmbed', 'lsx-health-plan' ),
342
+                    'id'           => $this->slug . '_gallery_embed',
343
+                    'type'         => 'text',
344
+                    'desc'         => __( 'Drop in the embed url for your video from YouTube, Vimeo or DailyMotion, e.g: "https://www.youtube.com/watch?v=9xwazD5SyVg". A full list of supports formats can be found at <a href="https://make.wordpress.org/support/user-manual/content/media/adding-media-to-your-pages-and-posts/embedding-media-from-other-sites/">WordPress</a>', 'lsx-health-plan' ),
345
+               )
346
+          );
347
+
348
+          $cmb->add_group_field(
349
+               $gallery_group,
350
+               array(
351
+                    'name'         => __( 'External Media', 'lsx-health-plan' ),
352
+                    'id'           => $this->slug . '_gallery_external',
353
+                    'type'         => 'textarea_code',
354
+                    'desc'         => __( 'Drop in the iFrame embed code from Giphy in this field, i.e: &lt;iframe src="https://giphy.com/embed/3o7527Rn1HxXWqgxuo" width="480" height="270" frameborder="0" class="giphy-embed" allowfullscreen&gt;&lt;/iframe&gt;', 'lsx-health-plan' ),
355
+               )
356
+          );
357
+     }
358
+
359
+     /**
360
+      * Registers the general settings for the exercise.
361
+      *
362
+      * @return void
363
+      */
364
+     public function exercise_details() {
365
+          $cmb = new_cmb2_box(
366
+               array(
367
+                    'id'           => $this->slug . '_general_details_metabox',
368
+                    'title'        => __( 'Details', 'lsx-health-plan' ),
369
+                    'object_types' => array( $this->slug ),
370
+                    'context'      => 'normal',
371
+                    'priority'     => 'high',
372
+                    'show_names'   => true,
373
+               )
374
+          );
375
+
376
+          $cmb->add_field(
377
+               array(
378
+                    'name'    => __( 'Side', 'lsx-health-plan' ),
379
+                    'id'      => $this->slug . '_side',
380
+                    'type'    => 'select',
381
+                    'options' => array(
382
+                         ''      => __( 'Select', 'lsx-health-plan' ),
383
+                         'left'  => __( 'Left', 'lsx-health-plan' ),
384
+                         'right' => __( 'Right', 'lsx-health-plan' ),
385
+                    ),
386
+                    'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
387
+               )
388
+          );
389
+     }
390
+
391
+     /**
392
+      * Holds the array for the single exercise breadcrumbs.
393
+      *
394
+      * @var array $crumbs
395
+      * @return array
396
+      */
397
+     public function exercise_breadcrumb_filter( $crumbs ) {
398
+          $exercise  = \lsx_health_plan\functions\get_option( 'endpoint_exercise', 'exercise' );
399
+          $exercises = \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercise' );
400
+          $url       = get_post_type_archive_link( $exercise );
401
+
402
+          if ( is_singular( 'exercise' ) ) {
403
+               $exercise_name     = get_the_title();	
404
+               $term_obj_list     = get_the_terms( get_the_ID(), 'exercise-type' );
405
+               $exercise_type     = $term_obj_list[0]->name;
406
+               $exercise_type_url = get_term_link( $term_obj_list[0]->term_id );
407 407
 		
408
-			$crumbs[1] = array(
409
-				0 => $exercises,
410
-				1 => $url,
411
-			);
412
-			$crumbs[2] = array(
413
-				0 => $exercise_type,
414
-				1 => $exercise_type_url,
415
-			);
416
-			$crumbs[3] = array(
417
-				0 => $exercise_name,
418
-			);
419
-		}
420
-		if ( is_tax( 'exercise-type' ) || is_tax( 'muscle-group' ) || is_tax( 'equipment' ) ) {
421
-			$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
422
-
423
-			$single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
424
-
425
-			$crumbs[1] = array(
426
-				0 => $exercises,
427
-				1 => $url,
428
-			);
429
-			$crumbs[2] = array(
430
-				0 => $single_term_title,
431
-			);
432
-		}
433
-		return $crumbs;
434
-	}
408
+               $crumbs[1] = array(
409
+                    0 => $exercises,
410
+                    1 => $url,
411
+               );
412
+               $crumbs[2] = array(
413
+                    0 => $exercise_type,
414
+                    1 => $exercise_type_url,
415
+               );
416
+               $crumbs[3] = array(
417
+                    0 => $exercise_name,
418
+               );
419
+          }
420
+          if ( is_tax( 'exercise-type' ) || is_tax( 'muscle-group' ) || is_tax( 'equipment' ) ) {
421
+               $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
422
+
423
+               $single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
424
+
425
+               $crumbs[1] = array(
426
+                    0 => $exercises,
427
+                    1 => $url,
428
+               );
429
+               $crumbs[2] = array(
430
+                    0 => $single_term_title,
431
+               );
432
+          }
433
+          return $crumbs;
434
+     }
435 435
 }
Please login to merge, or discard this patch.
classes/post-types/class-plan.php 1 patch
Indentation   +534 added lines, -534 removed lines patch added patch discarded remove patch
@@ -10,207 +10,207 @@  discard block
 block discarded – undo
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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
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,343 +224,343 @@  discard block
 block discarded – undo
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-50',
478
-				)
479
-			);
480
-			$cmb->add_group_field(
481
-				$group,
482
-				array(
483
-					'name'        => __( 'Rest day', 'lsx-health-plan' ),
484
-					'id'          => 'rest_day_enabled',
485
-					'type'        => 'checkbox',
486
-					'value'       => 1,
487
-					'default'     => 0,
488
-					'description' => __( 'Enabling the rest day will add an item called "Rest" with no links.', 'lsx-health-plan' ),
489
-					'classes'    => 'lsx-field-col lsx-field-add-field',
490
-				)
491
-			);
492
-		}
493
-
494
-		if ( post_type_exists( 'meal' ) ) {
495
-			$cmb->add_group_field(
496
-				$group,
497
-				array(
498
-					'name'       => __( 'Meals', 'lsx-health-plan' ),
499
-					'desc'       => __( 'Connect the meal(s) that apply to this section.', 'lsx-health-plan' ),
500
-					'id'         => 'connected_meals',
501
-					'type'       => 'post_search_ajax',
502
-					// Optional :
503
-					'limit'      => 15, // Limit selection to X items only (default 1)
504
-					'sortable'   => true, // Allow selected items to be sortable (default false)
505
-					'query_args' => array(
506
-						'post_type'      => array( 'meal' ),
507
-						'post_status'    => array( 'publish' ),
508
-						'posts_per_page' => -1,
509
-					),
510
-					'classes'    => 'lsx-field-col lsx-field-add-field  lsx-field-col-50',
511
-				)
512
-			);
513
-		}
514
-		if ( post_type_exists( 'tip' ) ) {
515
-			$cmb->add_group_field(
516
-				$group,
517
-				array(
518
-					'name'       => __( 'Tips', 'lsx-health-plan' ),
519
-					'id'         => 'connected_tips',
520
-					'desc'       => __( 'Connect the tip(s) that apply to this section.', 'lsx-health-plan' ),
521
-					'type'       => 'post_search_ajax',
522
-					// Optional :
523
-					'limit'      => 15,  // Limit selection to X items only (default 1)
524
-					'sortable'   => true,  // Allow selected items to be sortable (default false)
525
-					'query_args' => array(
526
-						'post_type'      => array( 'tip' ),
527
-						'post_status'    => array( 'publish' ),
528
-						'posts_per_page' => -1,
529
-					),
530
-					'classes'    => 'lsx-field-col lsx-field-add-field  lsx-field-col-50',
531
-				)
532
-			);
533
-		}
534
-	}
535
-
536
-	/**
537
-	 * Holds the array for the single plan breadcrumbs.
538
-	 *
539
-	 * @var array $crumbs
540
-	 * @return array
541
-	 */
542
-	public function plan_breadcrumb_filter( $crumbs ) {
543
-		if ( is_singular( 'plan' ) ) {
544
-			$plan          = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' );
545
-			$plans         = \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plan' );	
546
-			$plan_name     = get_the_title();
547
-			$url           = get_post_type_archive_link( $plan );
548
-			$term_obj_list = get_the_terms( get_the_ID(), 'plan-type' );
549
-			$plan_type     = $term_obj_list[0]->name;
550
-			$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-50',
478
+                    )
479
+               );
480
+               $cmb->add_group_field(
481
+                    $group,
482
+                    array(
483
+                         'name'        => __( 'Rest day', 'lsx-health-plan' ),
484
+                         'id'          => 'rest_day_enabled',
485
+                         'type'        => 'checkbox',
486
+                         'value'       => 1,
487
+                         'default'     => 0,
488
+                         'description' => __( 'Enabling the rest day will add an item called "Rest" with no links.', 'lsx-health-plan' ),
489
+                         'classes'    => 'lsx-field-col lsx-field-add-field',
490
+                    )
491
+               );
492
+          }
493
+
494
+          if ( post_type_exists( 'meal' ) ) {
495
+               $cmb->add_group_field(
496
+                    $group,
497
+                    array(
498
+                         'name'       => __( 'Meals', 'lsx-health-plan' ),
499
+                         'desc'       => __( 'Connect the meal(s) that apply to this section.', 'lsx-health-plan' ),
500
+                         'id'         => 'connected_meals',
501
+                         'type'       => 'post_search_ajax',
502
+                         // Optional :
503
+                         'limit'      => 15, // Limit selection to X items only (default 1)
504
+                         'sortable'   => true, // Allow selected items to be sortable (default false)
505
+                         'query_args' => array(
506
+                              'post_type'      => array( 'meal' ),
507
+                              'post_status'    => array( 'publish' ),
508
+                              'posts_per_page' => -1,
509
+                         ),
510
+                         'classes'    => 'lsx-field-col lsx-field-add-field  lsx-field-col-50',
511
+                    )
512
+               );
513
+          }
514
+          if ( post_type_exists( 'tip' ) ) {
515
+               $cmb->add_group_field(
516
+                    $group,
517
+                    array(
518
+                         'name'       => __( 'Tips', 'lsx-health-plan' ),
519
+                         'id'         => 'connected_tips',
520
+                         'desc'       => __( 'Connect the tip(s) that apply to this section.', 'lsx-health-plan' ),
521
+                         'type'       => 'post_search_ajax',
522
+                         // Optional :
523
+                         'limit'      => 15,  // Limit selection to X items only (default 1)
524
+                         'sortable'   => true,  // Allow selected items to be sortable (default false)
525
+                         'query_args' => array(
526
+                              'post_type'      => array( 'tip' ),
527
+                              'post_status'    => array( 'publish' ),
528
+                              'posts_per_page' => -1,
529
+                         ),
530
+                         'classes'    => 'lsx-field-col lsx-field-add-field  lsx-field-col-50',
531
+                    )
532
+               );
533
+          }
534
+     }
535
+
536
+     /**
537
+      * Holds the array for the single plan breadcrumbs.
538
+      *
539
+      * @var array $crumbs
540
+      * @return array
541
+      */
542
+     public function plan_breadcrumb_filter( $crumbs ) {
543
+          if ( is_singular( 'plan' ) ) {
544
+               $plan          = \lsx_health_plan\functions\get_option( 'endpoint_plan', 'plan' );
545
+               $plans         = \lsx_health_plan\functions\get_option( 'endpoint_plan_archive', 'plan' );	
546
+               $plan_name     = get_the_title();
547
+               $url           = get_post_type_archive_link( $plan );
548
+               $term_obj_list = get_the_terms( get_the_ID(), 'plan-type' );
549
+               $plan_type     = $term_obj_list[0]->name;
550
+               $plan_type_url = get_term_link( $term_obj_list[0]->term_id );
551 551
 		
552
-			$crumbs[1] = array(
553
-				0 => $plans,
554
-				1 => $url,
555
-			);
556
-			$crumbs[2] = array(
557
-				0 => $plan_type,
558
-				1 => $plan_type_url,
559
-			);
560
-			$crumbs[3] = array(
561
-				0 => $plan_name,
562
-			);
563
-		}
564
-		return $crumbs;
565
-	}
552
+               $crumbs[1] = array(
553
+                    0 => $plans,
554
+                    1 => $url,
555
+               );
556
+               $crumbs[2] = array(
557
+                    0 => $plan_type,
558
+                    1 => $plan_type_url,
559
+               );
560
+               $crumbs[3] = array(
561
+                    0 => $plan_name,
562
+               );
563
+          }
564
+          return $crumbs;
565
+     }
566 566
 }
Please login to merge, or discard this patch.
classes/post-types/class-meal.php 1 patch
Indentation   +366 added lines, -366 removed lines patch added patch discarded remove patch
@@ -8,390 +8,390 @@
 block discarded – undo
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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
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'    => 'page',
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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
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'    => 'page',
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 Meal Type 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 Meal Type 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
 }
Please login to merge, or discard this patch.
classes/post-types/class-workout.php 1 patch
Indentation   +346 added lines, -346 removed lines patch added patch discarded remove patch
@@ -10,375 +10,375 @@
 block discarded – undo
10 10
  */
11 11
 class Workout {
12 12
 
13
-	/**
14
-	 * Holds class instance
15
-	 *
16
-	 * @since 1.0.0
17
-	 *
18
-	 * @var      object \lsx_health_plan\classes\Workout()
19
-	 */
20
-	protected static $instance = null;
13
+     /**
14
+      * Holds class instance
15
+      *
16
+      * @since 1.0.0
17
+      *
18
+      * @var      object \lsx_health_plan\classes\Workout()
19
+      */
20
+     protected static $instance = null;
21 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 = 'workout';
22
+     /**
23
+      * Holds post_type slug used as an index
24
+      *
25
+      * @since 1.0.0
26
+      *
27
+      * @var      string
28
+      */
29
+     public $slug = 'workout';
30 30
 
31
-	/**
32
-	 * Constructor
33
-	 */
34
-	public function __construct() {
35
-		add_action( 'init', array( $this, 'register_post_type' ) );
36
-		add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
37
-		add_action( 'init', array( $this, 'recipe_type_taxonomy_setup' ) );
38
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
39
-		add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 );
40
-		add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
41
-		add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 );
31
+     /**
32
+      * Constructor
33
+      */
34
+     public function __construct() {
35
+          add_action( 'init', array( $this, 'register_post_type' ) );
36
+          add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
37
+          add_action( 'init', array( $this, 'recipe_type_taxonomy_setup' ) );
38
+          add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
39
+          add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ), 5 );
40
+          add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
41
+          add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 );
42 42
 
43
-		// Template Redirects.
44
-		add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
45
-	}
43
+          // Template Redirects.
44
+          add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
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\Workout()    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__( 'Workouts', 'lsx-health-plan' ),
67
-			'singular_name'      => esc_html__( 'Workout', '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 Workouts', '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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
78
-			'menu_name'          => esc_html__( 'Workouts', '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-universal-access',
88
-			'query_var'          => true,
89
-			'rewrite'            => array(
90
-				'slug' => \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
91
-			),
92
-			'capability_type'    => 'page',
93
-			'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_workout_archive', 'workouts' ),
94
-			'hierarchical'       => true,
95
-			'menu_position'      => null,
96
-			'supports'           => array(
97
-				'title',
98
-				'thumbnail',
99
-				'editor',
100
-				'excerpt',
101
-				'page-attributes',
102
-				'custom-fields',
103
-			),
104
-		);
105
-		register_post_type( 'workout', $args );
106
-	}
47
+     /**
48
+      * Return an instance of this class.
49
+      *
50
+      * @since 1.0.0
51
+      *
52
+      * @return    object \lsx_health_plan\classes\Workout()    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__( 'Workouts', 'lsx-health-plan' ),
67
+               'singular_name'      => esc_html__( 'Workout', '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 Workouts', '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'  => esc_html__( 'Parent:', 'lsx-health-plan' ),
78
+               'menu_name'          => esc_html__( 'Workouts', '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-universal-access',
88
+               'query_var'          => true,
89
+               'rewrite'            => array(
90
+                    'slug' => \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' ),
91
+               ),
92
+               'capability_type'    => 'page',
93
+               'has_archive'        => \lsx_health_plan\functions\get_option( 'endpoint_workout_archive', 'workouts' ),
94
+               'hierarchical'       => true,
95
+               'menu_position'      => null,
96
+               'supports'           => array(
97
+                    'title',
98
+                    'thumbnail',
99
+                    'editor',
100
+                    'excerpt',
101
+                    'page-attributes',
102
+                    'custom-fields',
103
+               ),
104
+          );
105
+          register_post_type( 'workout', $args );
106
+     }
107 107
 
108
-	/**
109
-	 * Register the Type taxonomy.
110
-	 */
111
-	public function recipe_type_taxonomy_setup() {
112
-		$labels = array(
113
-			'name'              => esc_html_x( 'Workout Type', 'taxonomy general name', 'lsx-health-plan' ),
114
-			'singular_name'     => esc_html_x( 'Workout Type', 'taxonomy singular name', 'lsx-health-plan' ),
115
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
116
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
117
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
118
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
119
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
120
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
121
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
122
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
123
-			'menu_name'         => esc_html__( 'Workout Types', 'lsx-health-plan' ),
124
-		);
108
+     /**
109
+      * Register the Type taxonomy.
110
+      */
111
+     public function recipe_type_taxonomy_setup() {
112
+          $labels = array(
113
+               'name'              => esc_html_x( 'Workout Type', 'taxonomy general name', 'lsx-health-plan' ),
114
+               'singular_name'     => esc_html_x( 'Workout Type', 'taxonomy singular name', 'lsx-health-plan' ),
115
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
116
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
117
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
118
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
119
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
120
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
121
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
122
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
123
+               'menu_name'         => esc_html__( 'Workout Types', 'lsx-health-plan' ),
124
+          );
125 125
 
126
-		$args = array(
127
-			'hierarchical'      => true,
128
-			'labels'            => $labels,
129
-			'show_ui'           => true,
130
-			'show_admin_column' => true,
131
-			'query_var'         => true,
132
-			'rewrite'           => array(
133
-				'slug' => 'workout-type',
134
-			),
135
-		);
126
+          $args = array(
127
+               'hierarchical'      => true,
128
+               'labels'            => $labels,
129
+               'show_ui'           => true,
130
+               'show_admin_column' => true,
131
+               'query_var'         => true,
132
+               'rewrite'           => array(
133
+                    'slug' => 'workout-type',
134
+               ),
135
+          );
136 136
 
137
-		register_taxonomy( 'workout-type', array( 'workout' ), $args );
138
-	}
137
+          register_taxonomy( 'workout-type', array( 'workout' ), $args );
138
+     }
139 139
 
140
-	/**
141
-	 * Adds the post type to the different arrays.
142
-	 *
143
-	 * @param array $post_types
144
-	 * @return array
145
-	 */
146
-	public function enable_post_type( $post_types = array() ) {
147
-		$post_types[] = $this->slug;
148
-		return $post_types;
149
-	}
140
+     /**
141
+      * Adds the post type to the different arrays.
142
+      *
143
+      * @param array $post_types
144
+      * @return array
145
+      */
146
+     public function enable_post_type( $post_types = array() ) {
147
+          $post_types[] = $this->slug;
148
+          return $post_types;
149
+     }
150 150
 
151
-	/**
152
-	 * Enables the Bi Directional relationships
153
-	 *
154
-	 * @param array $connections
155
-	 * @return void
156
-	 */
157
-	public function enable_connections( $connections = array() ) {
158
-		$connections['workout']['connected_plans'] = 'connected_workouts';
159
-		$connections['plan']['connected_workouts'] = 'connected_plans';
151
+     /**
152
+      * Enables the Bi Directional relationships
153
+      *
154
+      * @param array $connections
155
+      * @return void
156
+      */
157
+     public function enable_connections( $connections = array() ) {
158
+          $connections['workout']['connected_plans'] = 'connected_workouts';
159
+          $connections['plan']['connected_workouts'] = 'connected_plans';
160 160
 
161
-		$connections['workout']['connected_videos'] = 'connected_workouts';
162
-		$connections['video']['connected_workouts'] = 'connected_videos';
161
+          $connections['workout']['connected_videos'] = 'connected_workouts';
162
+          $connections['video']['connected_workouts'] = 'connected_videos';
163 163
 
164
-		$connections['workout']['connected_posts'] = 'connected_workouts';
165
-		$connections['post']['connected_workouts'] = 'connected_posts';
166
-		return $connections;
167
-	}
164
+          $connections['workout']['connected_posts'] = 'connected_workouts';
165
+          $connections['post']['connected_workouts'] = 'connected_posts';
166
+          return $connections;
167
+     }
168 168
 
169
-	/**
170
-	 * Remove the "Archives:" from the post type workouts.
171
-	 *
172
-	 * @param string $title the term title.
173
-	 * @return string
174
-	 */
175
-	public function get_the_archive_title( $title ) {
176
-		if ( is_post_type_archive( 'workout' ) ) {
177
-			$title = __( 'Workouts', 'lsx-health-plan' );
178
-		}
179
-		return $title;
180
-	}
169
+     /**
170
+      * Remove the "Archives:" from the post type workouts.
171
+      *
172
+      * @param string $title the term title.
173
+      * @return string
174
+      */
175
+     public function get_the_archive_title( $title ) {
176
+          if ( is_post_type_archive( 'workout' ) ) {
177
+               $title = __( 'Workouts', 'lsx-health-plan' );
178
+          }
179
+          return $title;
180
+     }
181 181
 
182
-	/**
183
-	 * Define the metabox and field configurations.
184
-	 */
185
-	public function featured_metabox() {
186
-		$cmb = new_cmb2_box(
187
-			array(
188
-				'id'           => $this->slug . '_featured_metabox_workout',
189
-				'title'        => __( 'Featured Workout', 'lsx-health-plan' ),
190
-				'object_types' => array( $this->slug ), // Post type
191
-				'context'      => 'side',
192
-				'priority'     => 'high',
193
-				'show_names'   => true,
194
-			)
195
-		);
196
-		$cmb->add_field(
197
-			array(
198
-				'name'       => __( 'Featured Workout', 'lsx-health-plan' ),
199
-				'desc'       => __( 'Enable a featured workout' ),
200
-				'id'         => $this->slug . '_featured_workout',
201
-				'type'       => 'checkbox',
202
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
203
-			)
204
-		);
205
-	}
182
+     /**
183
+      * Define the metabox and field configurations.
184
+      */
185
+     public function featured_metabox() {
186
+          $cmb = new_cmb2_box(
187
+               array(
188
+                    'id'           => $this->slug . '_featured_metabox_workout',
189
+                    'title'        => __( 'Featured Workout', 'lsx-health-plan' ),
190
+                    'object_types' => array( $this->slug ), // Post type
191
+                    'context'      => 'side',
192
+                    'priority'     => 'high',
193
+                    'show_names'   => true,
194
+               )
195
+          );
196
+          $cmb->add_field(
197
+               array(
198
+                    'name'       => __( 'Featured Workout', 'lsx-health-plan' ),
199
+                    'desc'       => __( 'Enable a featured workout' ),
200
+                    'id'         => $this->slug . '_featured_workout',
201
+                    'type'       => 'checkbox',
202
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
203
+               )
204
+          );
205
+     }
206 206
 
207
-	/**
208
-	 * Define the metabox and field configurations.
209
-	 */
210
-	public function details_metaboxes() {
207
+     /**
208
+      * Define the metabox and field configurations.
209
+      */
210
+     public function details_metaboxes() {
211 211
 
212
-		$cmb = new_cmb2_box( array(
213
-			'id'           => $this->slug . '_details_metabox',
214
-			'title'        => __( 'Workout Details', 'lsx-health-plan' ),
215
-			'object_types' => array( $this->slug ), // Post type
216
-			'context'      => 'normal',
217
-			'priority'     => 'high',
218
-			'show_names'   => true,
219
-		) );
212
+          $cmb = new_cmb2_box( array(
213
+               'id'           => $this->slug . '_details_metabox',
214
+               'title'        => __( 'Workout Details', 'lsx-health-plan' ),
215
+               'object_types' => array( $this->slug ), // Post type
216
+               'context'      => 'normal',
217
+               'priority'     => 'high',
218
+               'show_names'   => true,
219
+          ) );
220 220
 
221
-		$cmb->add_field( array(
222
-			'name' => __( 'Workout Short Description', 'lsx-health-plan' ),
223
-			'id'   => $this->slug . '_short_description',
224
-			'type' => 'textarea_small',
225
-			'desc' => __( 'Add a small description for this workout (optional)', 'lsx-health-plan' ),
226
-		) );
221
+          $cmb->add_field( array(
222
+               'name' => __( 'Workout Short Description', 'lsx-health-plan' ),
223
+               'id'   => $this->slug . '_short_description',
224
+               'type' => 'textarea_small',
225
+               'desc' => __( 'Add a small description for this workout (optional)', 'lsx-health-plan' ),
226
+          ) );
227 227
 
228
-		$workout_sections = apply_filters( 'lsx_health_plan_workout_sections_amount', 6 );
229
-		if ( false !== $workout_sections && null !== $workout_sections ) {
230
-			$i = 1;
231
-			while ( $i <= $workout_sections ) {
228
+          $workout_sections = apply_filters( 'lsx_health_plan_workout_sections_amount', 6 );
229
+          if ( false !== $workout_sections && null !== $workout_sections ) {
230
+               $i = 1;
231
+               while ( $i <= $workout_sections ) {
232 232
 
233
-				$cmb_group = new_cmb2_box( array(
234
-					'id'           => $this->slug . '_section_' . $i . '_metabox',
235
-					'title'        => esc_html__( 'Exercise Group ', 'lsx-health-plan' ) . $i,
236
-					'object_types' => array( $this->slug ),
237
-				) );
233
+                    $cmb_group = new_cmb2_box( array(
234
+                         'id'           => $this->slug . '_section_' . $i . '_metabox',
235
+                         'title'        => esc_html__( 'Exercise Group ', 'lsx-health-plan' ) . $i,
236
+                         'object_types' => array( $this->slug ),
237
+                    ) );
238 238
 
239
-				$cmb_group->add_field( array(
240
-					'name'       => __( 'Title', 'lsx-health-plan' ),
241
-					'id'         => $this->slug . '_section_' . $i . '_title',
242
-					'type'       => 'text',
243
-					'show_on_cb' => 'cmb2_hide_if_no_cats',
244
-				) );
239
+                    $cmb_group->add_field( array(
240
+                         'name'       => __( 'Title', 'lsx-health-plan' ),
241
+                         'id'         => $this->slug . '_section_' . $i . '_title',
242
+                         'type'       => 'text',
243
+                         'show_on_cb' => 'cmb2_hide_if_no_cats',
244
+                    ) );
245 245
 
246
-				$cmb_group->add_field(
247
-					array(
248
-						'name'       => __( 'Description', 'lsx-health-plan' ),
249
-						'id'         => $this->slug . '_section_' . $i . '_description',
250
-						'type'       => 'wysiwyg',
251
-						'show_on_cb' => 'cmb2_hide_if_no_cats',
252
-						'options'    => array(
253
-							'textarea_rows' => 5,
254
-						),
255
-					)
256
-				);
246
+                    $cmb_group->add_field(
247
+                         array(
248
+                              'name'       => __( 'Description', 'lsx-health-plan' ),
249
+                              'id'         => $this->slug . '_section_' . $i . '_description',
250
+                              'type'       => 'wysiwyg',
251
+                              'show_on_cb' => 'cmb2_hide_if_no_cats',
252
+                              'options'    => array(
253
+                                   'textarea_rows' => 5,
254
+                              ),
255
+                         )
256
+                    );
257 257
 
258
-				/**
259
-				 * Repeatable Field Groups
260
-				 */
261
-				// $group_field_id is the field id string, so in this case: $prefix . 'demo'
262
-				$group_field_id = $cmb_group->add_field(
263
-					array(
264
-						'id'      => $this->slug . '_section_' . $i,
265
-						'type'    => 'group',
266
-						'options' => array(
267
-							'group_title'   => esc_html__( 'Exercise {#}', 'lsx-health-plan' ), // {#} gets replaced by row number
268
-							'add_button'    => esc_html__( 'Add New', 'lsx-health-plan' ),
269
-							'remove_button' => esc_html__( 'Delete', 'lsx-health-plan' ),
270
-							'sortable'      => true,
271
-							'closed'        => true, // true to have the groups closed by default
272
-						),
273
-					)
274
-				);
258
+                    /**
259
+                     * Repeatable Field Groups
260
+                     */
261
+                    // $group_field_id is the field id string, so in this case: $prefix . 'demo'
262
+                    $group_field_id = $cmb_group->add_field(
263
+                         array(
264
+                              'id'      => $this->slug . '_section_' . $i,
265
+                              'type'    => 'group',
266
+                              'options' => array(
267
+                                   'group_title'   => esc_html__( 'Exercise {#}', 'lsx-health-plan' ), // {#} gets replaced by row number
268
+                                   'add_button'    => esc_html__( 'Add New', 'lsx-health-plan' ),
269
+                                   'remove_button' => esc_html__( 'Delete', 'lsx-health-plan' ),
270
+                                   'sortable'      => true,
271
+                                   'closed'        => true, // true to have the groups closed by default
272
+                              ),
273
+                         )
274
+                    );
275 275
 
276
-				if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
277
-					$cmb_group->add_group_field(
278
-						$group_field_id,
279
-						array(
280
-							'name'       => __( 'Exercise related to this workout', 'lsx-health-plan' ),
281
-							'id'         => 'connected_exercises',
282
-							'type'       => 'post_search_ajax',
283
-							// Optional :
284
-							'limit'      => 1, // Limit selection to X items only (default 1)
285
-							'sortable'   => true,  // Allow selected items to be sortable (default false)
286
-							'query_args' => array(
287
-								'post_type'      => array( 'exercise' ),
288
-								'post_status'    => array( 'publish' ),
289
-								'posts_per_page' => -1,
290
-							),
291
-						)
292
-					);
293
-				} else {
294
-					$cmb_group->add_group_field(
295
-						$group_field_id,
296
-						array(
297
-							'name'       => __( 'Video related to this workout', 'lsx-health-plan' ),
298
-							'id'         => 'connected_videos',
299
-							'type'       => 'post_search_ajax',
300
-							// Optional :
301
-							'limit'      => 1, // Limit selection to X items only (default 1)
302
-							'sortable'   => true,  // Allow selected items to be sortable (default false)
303
-							'query_args' => array(
304
-								'post_type'      => array( 'video' ),
305
-								'post_status'    => array( 'publish' ),
306
-								'posts_per_page' => -1,
307
-							),
308
-						)
309
-					);
310
-					$cmb_group->add_group_field(
311
-						$group_field_id,
312
-						array(
313
-							'name' => esc_html__( 'Workout Name', 'lsx-health-plan' ),
314
-							'id'   => 'name',
315
-							'type' => 'text',
316
-							// 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
317
-						)
318
-					);
276
+                    if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
277
+                         $cmb_group->add_group_field(
278
+                              $group_field_id,
279
+                              array(
280
+                                   'name'       => __( 'Exercise related to this workout', 'lsx-health-plan' ),
281
+                                   'id'         => 'connected_exercises',
282
+                                   'type'       => 'post_search_ajax',
283
+                                   // Optional :
284
+                                   'limit'      => 1, // Limit selection to X items only (default 1)
285
+                                   'sortable'   => true,  // Allow selected items to be sortable (default false)
286
+                                   'query_args' => array(
287
+                                        'post_type'      => array( 'exercise' ),
288
+                                        'post_status'    => array( 'publish' ),
289
+                                        'posts_per_page' => -1,
290
+                                   ),
291
+                              )
292
+                         );
293
+                    } else {
294
+                         $cmb_group->add_group_field(
295
+                              $group_field_id,
296
+                              array(
297
+                                   'name'       => __( 'Video related to this workout', 'lsx-health-plan' ),
298
+                                   'id'         => 'connected_videos',
299
+                                   'type'       => 'post_search_ajax',
300
+                                   // Optional :
301
+                                   'limit'      => 1, // Limit selection to X items only (default 1)
302
+                                   'sortable'   => true,  // Allow selected items to be sortable (default false)
303
+                                   'query_args' => array(
304
+                                        'post_type'      => array( 'video' ),
305
+                                        'post_status'    => array( 'publish' ),
306
+                                        'posts_per_page' => -1,
307
+                                   ),
308
+                              )
309
+                         );
310
+                         $cmb_group->add_group_field(
311
+                              $group_field_id,
312
+                              array(
313
+                                   'name' => esc_html__( 'Workout Name', 'lsx-health-plan' ),
314
+                                   'id'   => 'name',
315
+                                   'type' => 'text',
316
+                                   // 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
317
+                              )
318
+                         );
319 319
 
320
-					$cmb_group->add_group_field(
321
-						$group_field_id,
322
-						array(
323
-							'name'    => __( 'Description', 'lsx-health-plan' ),
324
-							'id'      => 'description',
325
-							'type'    => 'wysiwyg',
326
-							'options' => array(
327
-								'textarea_rows' => 2,
328
-							),
329
-						)
330
-					);
331
-				}
320
+                         $cmb_group->add_group_field(
321
+                              $group_field_id,
322
+                              array(
323
+                                   'name'    => __( 'Description', 'lsx-health-plan' ),
324
+                                   'id'      => 'description',
325
+                                   'type'    => 'wysiwyg',
326
+                                   'options' => array(
327
+                                        'textarea_rows' => 2,
328
+                                   ),
329
+                              )
330
+                         );
331
+                    }
332 332
 
333
-				$cmb_group->add_group_field(
334
-					$group_field_id,
335
-					array(
336
-						'name' => esc_html__( 'Exercise title (Optional)', 'lsx-health-plan' ),
337
-						'id'   => 'alt_title',
338
-						'type' => 'text',
339
-					)
340
-				);
341
-				$cmb_group->add_group_field(
342
-					$group_field_id,
343
-					array(
344
-						'name' => esc_html__( 'Exercise Description (Optional)', 'lsx-health-plan' ),
345
-						'id'   => 'alt_description',
346
-						'type' => 'textarea_small',
347
-					)
348
-				);
349
-				$cmb_group->add_group_field(
350
-					$group_field_id,
351
-					array(
352
-						'name' => esc_html__( 'Reps / Time / Distance', 'lsx-health-plan' ),
353
-						'id'   => 'reps',
354
-						'type' => 'text',
355
-						// 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
356
-					)
357
-				);
358
-				$cmb_group->add_group_field(
359
-					$group_field_id,
360
-					array(
361
-						'name'         => __( 'Exercise Image (Optional)', 'lsx-health-plan' ),
362
-						'id'           => 'exercise_alt_thumbnail',
363
-						'type'         => 'file',
364
-						'text'         => array(
365
-							'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
366
-						),
367
-						'desc'         => __( 'Upload an image 300px x 300px in size.', 'lsx-health-plan' ),
368
-						'query_args'   => array(
369
-							'type' => array(
370
-								'image/gif',
371
-								'image/jpeg',
372
-								'image/png',
373
-							),
374
-						),
375
-						'preview_size' => 'thumbnail',
376
-						'classes'      => 'lsx-field-col lsx-field-add-field  lsx-field-col-25',
377
-					)
378
-				);
333
+                    $cmb_group->add_group_field(
334
+                         $group_field_id,
335
+                         array(
336
+                              'name' => esc_html__( 'Exercise title (Optional)', 'lsx-health-plan' ),
337
+                              'id'   => 'alt_title',
338
+                              'type' => 'text',
339
+                         )
340
+                    );
341
+                    $cmb_group->add_group_field(
342
+                         $group_field_id,
343
+                         array(
344
+                              'name' => esc_html__( 'Exercise Description (Optional)', 'lsx-health-plan' ),
345
+                              'id'   => 'alt_description',
346
+                              'type' => 'textarea_small',
347
+                         )
348
+                    );
349
+                    $cmb_group->add_group_field(
350
+                         $group_field_id,
351
+                         array(
352
+                              'name' => esc_html__( 'Reps / Time / Distance', 'lsx-health-plan' ),
353
+                              'id'   => 'reps',
354
+                              'type' => 'text',
355
+                              // 'repeatable' => true, // Repeatable fields are supported w/in repeatable groups (for most types)
356
+                         )
357
+                    );
358
+                    $cmb_group->add_group_field(
359
+                         $group_field_id,
360
+                         array(
361
+                              'name'         => __( 'Exercise Image (Optional)', 'lsx-health-plan' ),
362
+                              'id'           => 'exercise_alt_thumbnail',
363
+                              'type'         => 'file',
364
+                              'text'         => array(
365
+                                   'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
366
+                              ),
367
+                              'desc'         => __( 'Upload an image 300px x 300px in size.', 'lsx-health-plan' ),
368
+                              'query_args'   => array(
369
+                                   'type' => array(
370
+                                        'image/gif',
371
+                                        'image/jpeg',
372
+                                        'image/png',
373
+                                   ),
374
+                              ),
375
+                              'preview_size' => 'thumbnail',
376
+                              'classes'      => 'lsx-field-col lsx-field-add-field  lsx-field-col-25',
377
+                         )
378
+                    );
379 379
 
380
-				$i++;
381
-			};
382
-		}
383
-	}
380
+                    $i++;
381
+               };
382
+          }
383
+     }
384 384
 }
Please login to merge, or discard this patch.
includes/template-tags.php 1 patch
Indentation   +630 added lines, -630 removed lines patch added patch discarded remove patch
@@ -11,25 +11,25 @@  discard block
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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
 block discarded – undo
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,89 +228,89 @@  discard block
 block discarded – undo
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 = 0;
253
-						if ( is_numeric( $height) ) {
254
-							$height_m = $height / 100;
255
-						}
252
+                              $height_m = 0;
253
+                              if ( is_numeric( $height) ) {
254
+                                   $height_m = $height / 100;
255
+                              }
256 256
 
257
-						if ( 1 < $weight && 1 < $height_m ) {
258
-							$bmi = $weight / ( $height_m * $height_m );
259
-							$bmi = number_format( $bmi, 1 );
260
-						} else {
261
-							$bmi = __( 'Add more data', 'lsx-health-plan' );
262
-						}
257
+                              if ( 1 < $weight && 1 < $height_m ) {
258
+                                   $bmi = $weight / ( $height_m * $height_m );
259
+                                   $bmi = number_format( $bmi, 1 );
260
+                              } else {
261
+                                   $bmi = __( 'Add more data', 'lsx-health-plan' );
262
+                              }
263 263
 
264
-						?>
264
+                              ?>
265 265
 
266 266
 						<div>
267 267
 							<?php if ( 'on' !== $is_weight_disabled ) { ?>
268 268
 								<span><strong><?php esc_html_e( 'Weight:', 'lsx-health-plan' ); ?></strong>
269 269
 								<?php
270
-								if ( '' !== $weight ) {
271
-									echo wp_kses_post( $weight . ' kg' );
272
-								} else {
273
-									echo '/';
274
-								}
275
-								?>
270
+                                        if ( '' !== $weight ) {
271
+                                             echo wp_kses_post( $weight . ' kg' );
272
+                                        } else {
273
+                                             echo '/';
274
+                                        }
275
+                                        ?>
276 276
 								</span>
277 277
 							<?php }
278
-							if ( 'on' !== $is_waist_disabled ) {
279
-								?>
278
+                                   if ( 'on' !== $is_waist_disabled ) {
279
+                                        ?>
280 280
 								<span><strong><?php esc_html_e( 'Waist:', 'lsx-health-plan' ); ?></strong>
281 281
 								<?php
282
-								if ( '' !== $waist ) {
283
-									echo wp_kses_post( $waist . ' cm' );
284
-								} else {
285
-									echo '/';
286
-								}
287
-								?>
282
+                                        if ( '' !== $waist ) {
283
+                                             echo wp_kses_post( $waist . ' cm' );
284
+                                        } else {
285
+                                             echo '/';
286
+                                        }
287
+                                        ?>
288 288
 								</span>
289 289
 							<?php }
290
-							if ( 'on' !== $is_bmi_disabled ) {
291
-								?>
290
+                                   if ( 'on' !== $is_bmi_disabled ) {
291
+                                        ?>
292 292
 								<span><strong><?php esc_html_e( 'BMI:', 'lsx-health-plan' ); ?></strong>
293 293
 								<?php
294
-								if ( '' !== $bmi ) {
295
-									echo wp_kses_post( $bmi );
296
-								} else {
297
-									echo '/';
298
-								}
299
-								?>
294
+                                        if ( '' !== $bmi ) {
295
+                                             echo wp_kses_post( $bmi );
296
+                                        } else {
297
+                                             echo '/';
298
+                                        }
299
+                                        ?>
300 300
 								</span>
301 301
 							<?php } ?>
302 302
 						</div>
303 303
 					<?php
304
-					}
305
-					?>
304
+                         }
305
+                         ?>
306 306
 					<div class="edit-profile">
307 307
 						<?php
308
-						if ( function_exists( 'wc_get_page_id' ) ) {
309
-							$url_id = wc_get_page_id( 'myaccount' );
310
-						} else {
311
-							$url_id = '';
312
-						}
313
-						?>
308
+                              if ( function_exists( 'wc_get_page_id' ) ) {
309
+                                   $url_id = wc_get_page_id( 'myaccount' );
310
+                              } else {
311
+                                   $url_id = '';
312
+                              }
313
+                              ?>
314 314
 						<a href="<?php echo esc_url( get_permalink( $url_id ) ); ?>edit-account/"><?php esc_html_e( 'Edit', 'lsx-health-plan' ); ?></a>
315 315
 					</div>
316 316
 				</div>
@@ -326,63 +326,63 @@  discard block
 block discarded – undo
326 326
  * @return void
327 327
  */
328 328
 function lsx_health_plan_all_plans_block() {
329
-	global $post, $product;
330
-
331
-	$args = array(
332
-		'orderby'        => 'menu_order',
333
-		'order'          => 'ASC',
334
-		'post_type'      => 'plan',
335
-		'nopagin'        => true,
336
-		'post_parent'    => 0,
337
-	);
338
-
339
-	$product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products();
340
-	if ( ! empty( $product_ids ) ) {
341
-		$args['meta_query'] = array(
342
-			'relation' => 'OR',
343
-			array(
344
-				'key'     => '_plan_product_id',
345
-				'value'   => $product_ids,
346
-				'compare' => 'IN',
347
-			),
348
-			array(
349
-				'key'     => '_plan_product_id',
350
-				'compare' => 'NOT EXISTS',
351
-			),
352
-		);
353
-	}
354
-
355
-	$the_query = new WP_Query( $args );
356
-	?>
329
+     global $post, $product;
330
+
331
+     $args = array(
332
+          'orderby'        => 'menu_order',
333
+          'order'          => 'ASC',
334
+          'post_type'      => 'plan',
335
+          'nopagin'        => true,
336
+          'post_parent'    => 0,
337
+     );
338
+
339
+     $product_ids = \lsx_health_plan\functions\woocommerce\get_membership_products();
340
+     if ( ! empty( $product_ids ) ) {
341
+          $args['meta_query'] = array(
342
+               'relation' => 'OR',
343
+               array(
344
+                    'key'     => '_plan_product_id',
345
+                    'value'   => $product_ids,
346
+                    'compare' => 'IN',
347
+               ),
348
+               array(
349
+                    'key'     => '_plan_product_id',
350
+                    'compare' => 'NOT EXISTS',
351
+               ),
352
+          );
353
+     }
354
+
355
+     $the_query = new WP_Query( $args );
356
+     ?>
357 357
 	<div class="all-plans-block plan-grid block-all-plans-block">
358 358
 		<div class="row">
359 359
 			<?php
360
-			if ( $the_query->have_posts() ) :
361
-				while ( $the_query->have_posts() ) :
362
-					$the_query->the_post();
363
-					lsx_entry_before();
364
-					$completed_class = '';
365
-					$linked_product  = false;
366
-					$restricted      = false;
367
-					$product         = null;
368
-					if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
369
-						$products       = \lsx_health_plan\functions\woocommerce\get_plan_products();
370
-						$linked_product = wc_get_product( $products[0] );
371
-						$product        = $linked_product;
372
-					}
373
-					if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
374
-						$restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
375
-					}
376
-
377
-					if ( lsx_health_plan_is_plan_complete() ) {
378
-						$completed_class = 'completed';
379
-					}
380
-					$round_progress     = '';
381
-					$completed_progress = '100';
382
-					if ( false === $restricted ) {
383
-						$round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
384
-					}
385
-					?>
360
+               if ( $the_query->have_posts() ) :
361
+                    while ( $the_query->have_posts() ) :
362
+                         $the_query->the_post();
363
+                         lsx_entry_before();
364
+                         $completed_class = '';
365
+                         $linked_product  = false;
366
+                         $restricted      = false;
367
+                         $product         = null;
368
+                         if ( \lsx_health_plan\functions\woocommerce\plan_has_products() ) {
369
+                              $products       = \lsx_health_plan\functions\woocommerce\get_plan_products();
370
+                              $linked_product = wc_get_product( $products[0] );
371
+                              $product        = $linked_product;
372
+                         }
373
+                         if ( function_exists( 'wc_memberships_is_post_content_restricted' ) ) {
374
+                              $restricted = wc_memberships_is_post_content_restricted( get_the_ID() ) && ! current_user_can( 'wc_memberships_view_restricted_post_content', get_the_ID() );
375
+                         }
376
+
377
+                         if ( lsx_health_plan_is_plan_complete() ) {
378
+                              $completed_class = 'completed';
379
+                         }
380
+                         $round_progress     = '';
381
+                         $completed_progress = '100';
382
+                         if ( false === $restricted ) {
383
+                              $round_progress = round( \lsx_health_plan\functions\get_progress( get_the_ID() ), 0 );
384
+                         }
385
+                         ?>
386 386
 					<div class="col-xs-12 col-sm-6 col-md-4">
387 387
 						<article class="lsx-slot lsx-hp-shadow <?php echo esc_html( 'progress-') . $round_progress; ?>">
388 388
 							<div class="plan-feature-img">
@@ -391,45 +391,45 @@  discard block
 block discarded – undo
391 391
 								<?php } ?>
392 392
 								<a href="<?php echo esc_url( get_permalink() ); ?>">
393 393
 								<?php
394
-								$featured_image = get_the_post_thumbnail();
395
-								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
396
-									the_post_thumbnail( 'lsx-thumbnail', array(
397
-										'class' => 'aligncenter',
398
-									) );
399
-								} else {
400
-									?>
394
+                                        $featured_image = get_the_post_thumbnail();
395
+                                        if ( ! empty( $featured_image ) && '' !== $featured_image ) {
396
+                                             the_post_thumbnail( 'lsx-thumbnail', array(
397
+                                                  'class' => 'aligncenter',
398
+                                             ) );
399
+                                        } else {
400
+                                             ?>
401 401
 									<img loading="lazy"  class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
402 402
 									<?php
403
-								}
404
-								?>
403
+                                        }
404
+                                        ?>
405 405
 								</a>
406 406
 							</div>
407 407
 							<div class="content-box plan-content-box">
408 408
 								<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>
409 409
 								<?php
410
-									echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
411
-								?>
410
+                                             echo wp_kses_post( \lsx_health_plan\functions\hp_get_plan_type_meta( $post ) );
411
+                                        ?>
412 412
 								<?php
413
-								if ( false !== $linked_product && false !== $restricted ) {
414
-									echo wp_kses_post( $linked_product->get_price_html() );
415
-								}
416
-								?>
413
+                                        if ( false !== $linked_product && false !== $restricted ) {
414
+                                             echo wp_kses_post( $linked_product->get_price_html() );
415
+                                        }
416
+                                        ?>
417 417
 								<div class="excerpt">
418 418
 									<?php
419
-									if ( ! has_excerpt() ) {
420
-										$content = wp_trim_words( get_the_content(), 20 );
421
-										$content = '<p>' . $content . '</pre>';
422
-									} else {
423
-										$content = apply_filters( 'the_excerpt', get_the_excerpt() );
424
-									}
425
-									echo wp_kses_post( $content );
426
-									?>
419
+                                             if ( ! has_excerpt() ) {
420
+                                                  $content = wp_trim_words( get_the_content(), 20 );
421
+                                                  $content = '<p>' . $content . '</pre>';
422
+                                             } else {
423
+                                                  $content = apply_filters( 'the_excerpt', get_the_excerpt() );
424
+                                             }
425
+                                             echo wp_kses_post( $content );
426
+                                             ?>
427 427
 								</div>
428 428
 								<?php
429
-								if ( false === $restricted ) {
430
-									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>' );
431
-								}
432
-								?>
429
+                                        if ( false === $restricted ) {
430
+                                             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>' );
431
+                                        }
432
+                                        ?>
433 433
 							</div>
434 434
 						</article>
435 435
 					</div>
@@ -448,36 +448,36 @@  discard block
 block discarded – undo
448 448
  * @return void
449 449
  */
450 450
 function lsx_health_plan_day_plan_block( $args = array() ) {
451
-	$defaults = array(
452
-		'plan' => '',
453
-	);
454
-	$args     = wp_parse_args( $args, $defaults );
455
-
456
-	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
457
-		$sections = \lsx_health_plan\functions\plan\get_sections();
458
-		?>
451
+     $defaults = array(
452
+          'plan' => '',
453
+     );
454
+     $args     = wp_parse_args( $args, $defaults );
455
+
456
+     if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
457
+          $sections = \lsx_health_plan\functions\plan\get_sections();
458
+          ?>
459 459
 		<div class="daily-plan-block day-grid">
460 460
 			<?php
461
-			foreach ( $sections as $section_key => $section_values ) {
462
-				$defaults    = array(
463
-					'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
464
-				);
465
-				$section_args = wp_parse_args( $section_values, $defaults );
466
-
467
-				$completed_class = '';
468
-				if ( lsx_health_plan_is_day_complete() ) {
469
-					$completed_class = 'completed';
470
-				}
471
-				?>
461
+               foreach ( $sections as $section_key => $section_values ) {
462
+                    $defaults    = array(
463
+                         'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
464
+                    );
465
+                    $section_args = wp_parse_args( $section_values, $defaults );
466
+
467
+                    $completed_class = '';
468
+                    if ( lsx_health_plan_is_day_complete() ) {
469
+                         $completed_class = 'completed';
470
+                    }
471
+                    ?>
472 472
 				<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 ); ?>">
473 473
 					<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
474 474
 				</a>
475 475
 				<?php
476
-			}
477
-			?>
476
+               }
477
+               ?>
478 478
 		</div>
479 479
 		<?php
480
-	}
480
+     }
481 481
 }
482 482
 
483 483
 /**
@@ -487,44 +487,44 @@  discard block
 block discarded – undo
487 487
  * @return void
488 488
  */
489 489
 function lsx_health_plan_week_plan_block( $args = array() ) {
490
-	$defaults = array(
491
-		'show_downloads' => false,
492
-		'plan'           => '',
493
-	);
494
-	$args     = wp_parse_args( $args, $defaults );
495
-
496
-	if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
497
-		$groups = \lsx_health_plan\functions\plan\get_sections( true );
498
-
499
-		if ( ! empty( $groups ) ) {
500
-			$counter    = 1;
501
-			$group_open = false;
502
-
503
-			foreach ( $groups as $group_key => $sections ) {
504
-				$collapse_class = '';
505
-				$group_title    = \lsx_health_plan\functions\plan\get_group_title( $sections );
506
-
507
-				// Determine if the current week is complete.
508
-				$day_ids = wp_list_pluck( $sections, 'title' );
509
-				if ( false === $group_open ) {
510
-					if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
511
-						$collapse_class = 'in';
512
-						$group_open   = true;
513
-					} elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
514
-						$collapse_class = 'in';
515
-						$group_open   = true;
516
-					}
517
-				}
518
-
519
-				// Determine if there are any weekly downloads.
520
-				$week_downloads_view = '';
521
-				if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) {
522
-					$weekly_downloads = \lsx_health_plan\functions\get_weekly_downloads( $group_key );
523
-					if ( ! empty( $weekly_downloads ) ) {
524
-						$week_downloads_view = 'week-downloads-view-on';
525
-					}
526
-				}
527
-				?>
490
+     $defaults = array(
491
+          'show_downloads' => false,
492
+          'plan'           => '',
493
+     );
494
+     $args     = wp_parse_args( $args, $defaults );
495
+
496
+     if ( isset( $args['plan'] ) && '' !== $args['plan'] && \lsx_health_plan\functions\plan\has_sections( $args['plan'] ) ) {
497
+          $groups = \lsx_health_plan\functions\plan\get_sections( true );
498
+
499
+          if ( ! empty( $groups ) ) {
500
+               $counter    = 1;
501
+               $group_open = false;
502
+
503
+               foreach ( $groups as $group_key => $sections ) {
504
+                    $collapse_class = '';
505
+                    $group_title    = \lsx_health_plan\functions\plan\get_group_title( $sections );
506
+
507
+                    // Determine if the current week is complete.
508
+                    $day_ids = wp_list_pluck( $sections, 'title' );
509
+                    if ( false === $group_open ) {
510
+                         if ( 1 === $counter && ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
511
+                              $collapse_class = 'in';
512
+                              $group_open   = true;
513
+                         } elseif ( ! \lsx_health_plan\functions\is_week_complete( false, $day_ids, $group_title ) ) {
514
+                              $collapse_class = 'in';
515
+                              $group_open   = true;
516
+                         }
517
+                    }
518
+
519
+                    // Determine if there are any weekly downloads.
520
+                    $week_downloads_view = '';
521
+                    if ( isset( $args['show_downloads'] ) && false !== $args['show_downloads'] ) {
522
+                         $weekly_downloads = \lsx_health_plan\functions\get_weekly_downloads( $group_key );
523
+                         if ( ! empty( $weekly_downloads ) ) {
524
+                              $week_downloads_view = 'week-downloads-view-on';
525
+                         }
526
+                    }
527
+                    ?>
528 528
 				<div class="daily-plan-block week-grid">
529 529
 					<a href="#group-<?php echo esc_attr( $group_key ); ?>" data-toggle="collapse" class="week-title"><?php echo esc_attr( $group_title ); ?></a>
530 530
 					<div id="group-<?php echo esc_attr( $group_key ); ?>" class="week-row collapse <?php echo esc_attr( $collapse_class ); ?>">
@@ -538,46 +538,46 @@  discard block
 block discarded – undo
538 538
 								<div class="week-meals-recipes-box-inner">
539 539
 								<?php
540 540
 
541
-								foreach ( $sections as $section_key => $section_values ) {
541
+                                        foreach ( $sections as $section_key => $section_values ) {
542 542
 
543
-									$defaults    = array(
544
-										'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
545
-									);
546
-									$section_args = wp_parse_args( $section_values, $defaults );
543
+                                             $defaults    = array(
544
+                                                  'title' => __( 'Day', 'lsx-health-plan' ) . ' ' . ( $section_key + 1 ),
545
+                                             );
546
+                                             $section_args = wp_parse_args( $section_values, $defaults );
547 547
 
548
-									$completed_class = '';
549
-									if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) {
550
-										$completed_class = 'completed';
551
-									}
552
-									if ( $section_args['rest_day_enabled'] && ! $section_args['connected_meals'] ) {
553
-										?>
548
+                                             $completed_class = '';
549
+                                             if ( lsx_health_plan_is_day_complete( $args['plan'], $section_args['title'] ) ) {
550
+                                                  $completed_class = 'completed';
551
+                                             }
552
+                                             if ( $section_args['rest_day_enabled'] && ! $section_args['connected_meals'] ) {
553
+                                                  ?>
554 554
 										<span class="day id-<?php echo esc_attr( $section_key + 1 ); ?> <?php echo esc_attr( $completed_class ); ?>">
555 555
 											<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
556 556
 										</span>
557 557
 										<?php
558
-									} else {
559
-										?>
558
+                                             } else {
559
+                                                  ?>
560 560
 										<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 ); ?>">
561 561
 											<div class="plan-content"><?php echo esc_attr( $section_args['title'] ); ?></div>
562 562
 										</a>
563 563
 										<?php
564
-									}
565
-								}
566
-								?>
564
+                                             }
565
+                                        }
566
+                                        ?>
567 567
 								</div>
568 568
 							</div>
569 569
 							<?php
570
-							if ( ! empty( $week_downloads_view ) ) {
571
-								lsx_health_plan_weekly_downloads( $weekly_downloads );
572
-							}
573
-							?>
570
+                                   if ( ! empty( $week_downloads_view ) ) {
571
+                                        lsx_health_plan_weekly_downloads( $weekly_downloads );
572
+                                   }
573
+                                   ?>
574 574
 						</div>
575 575
 					</div>
576 576
 				</div>
577 577
 				<?php
578
-			}
579
-		}
580
-	}
578
+               }
579
+          }
580
+     }
581 581
 }
582 582
 
583 583
 /**
@@ -587,22 +587,22 @@  discard block
 block discarded – undo
587 587
  * @return void
588 588
  */
589 589
 function lsx_health_plan_weekly_downloads( $weekly_downloads = array() ) {
590
-	if ( ! empty( $weekly_downloads ) ) {
591
-		?>
590
+     if ( ! empty( $weekly_downloads ) ) {
591
+          ?>
592 592
 		<div class="week-download-box">
593 593
 			<h3 class="title"><?php lsx_get_svg_icon( 'download.svg' ); ?><?php echo esc_html_e( 'Downloads', 'lsx-health-plan' ); ?></h3>
594 594
 			<ul class="week-download-box-list">
595 595
 				<?php
596
-				foreach ( $weekly_downloads as $weekly_download ) {
597
-					?>
596
+                    foreach ( $weekly_downloads as $weekly_download ) {
597
+                         ?>
598 598
 					<li><?php echo wp_kses_post( do_shortcode( '[download id="' . $weekly_download . '"]' ) ); ?></li>
599 599
 					<?php
600
-				}
601
-				?>
600
+                    }
601
+                    ?>
602 602
 			</ul>
603 603
 		</div>
604 604
 		<?php
605
-	}
605
+     }
606 606
 }
607 607
 
608 608
 /**
@@ -611,9 +611,9 @@  discard block
 block discarded – undo
611 611
  * @return void
612 612
  */
613 613
 function lsx_health_plan_items( $args = array() ) {
614
-	global $shortcode_args;
615
-	$shortcode_args = $args;
616
-	include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php';
614
+     global $shortcode_args;
615
+     $shortcode_args = $args;
616
+     include LSX_HEALTH_PLAN_PATH . '/templates/partials/shortcode-loop.php';
617 617
 }
618 618
 
619 619
 /**
@@ -622,10 +622,10 @@  discard block
 block discarded – undo
622 622
  * @return void
623 623
  */
624 624
 function lsx_health_plan_featured_video_block() {
625
-	if ( ! post_type_exists( 'video' ) ) {
626
-		return;
627
-	}
628
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php';
625
+     if ( ! post_type_exists( 'video' ) ) {
626
+          return;
627
+     }
628
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-videos.php';
629 629
 }
630 630
 
631 631
 /**
@@ -634,10 +634,10 @@  discard block
 block discarded – undo
634 634
  * @return void
635 635
  */
636 636
 function lsx_health_plan_featured_recipes_block() {
637
-	if ( ! post_type_exists( 'recipe' ) ) {
638
-		return;
639
-	}
640
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php';
637
+     if ( ! post_type_exists( 'recipe' ) ) {
638
+          return;
639
+     }
640
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-recipes.php';
641 641
 }
642 642
 
643 643
 /**
@@ -646,7 +646,7 @@  discard block
 block discarded – undo
646 646
  * @return void
647 647
  */
648 648
 function lsx_health_plan_featured_tips_block() {
649
-	include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php';
649
+     include LSX_HEALTH_PLAN_PATH . '/templates/featured-tips.php';
650 650
 }
651 651
 
652 652
 /**
@@ -656,11 +656,11 @@  discard block
 block discarded – undo
656 656
  * @return void
657 657
  */
658 658
 function lsx_health_plan_day_button() {
659
-	if ( lsx_health_plan_is_day_complete() ) {
660
-		lsx_health_plan_unlock_button();
661
-	} else {
662
-		lsx_health_plan_complete_button();
663
-	}
659
+     if ( lsx_health_plan_is_day_complete() ) {
660
+          lsx_health_plan_unlock_button();
661
+     } else {
662
+          lsx_health_plan_complete_button();
663
+     }
664 664
 }
665 665
 
666 666
 /**
@@ -669,7 +669,7 @@  discard block
 block discarded – undo
669 669
  * @return void
670 670
  */
671 671
 function lsx_health_plan_complete_button() {
672
-	?>
672
+     ?>
673 673
 	<div class="single-plan-inner-buttons">
674 674
 		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
675 675
 			<?php wp_nonce_field( 'complete', 'lsx-health-plan-actions' ); ?>
@@ -687,7 +687,7 @@  discard block
 block discarded – undo
687 687
  * @return void
688 688
  */
689 689
 function lsx_health_plan_unlock_button() {
690
-	?>
690
+     ?>
691 691
 	<div class="single-plan-inner-buttons">
692 692
 		<form action="<?php the_permalink(); ?>" method="post" class="form-complete-day complete-plan-btn">
693 693
 			<?php wp_nonce_field( 'unlock', 'lsx-health-plan-actions' ); ?>
@@ -706,10 +706,10 @@  discard block
 block discarded – undo
706 706
  * @return void
707 707
  */
708 708
 function lsx_health_plan_single_nav() {
709
-	$tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' );
710
-	if ( '' !== $tab_template_path ) {
711
-		require $tab_template_path;
712
-	}
709
+     $tab_template_path = apply_filters( 'lsx_health_plan_single_nav_path', LSX_HEALTH_PLAN_PATH . '/templates/single-plan-tabs.php' );
710
+     if ( '' !== $tab_template_path ) {
711
+          require $tab_template_path;
712
+     }
713 713
 }
714 714
 
715 715
 /**
@@ -719,32 +719,32 @@  discard block
 block discarded – undo
719 719
  * @return void
720 720
  */
721 721
 function lsx_health_plan_single_tabs() {
722
-	$endpoint = get_query_var( 'endpoint' );
723
-	switch ( $endpoint ) {
724
-		case 'meal':
725
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php';
726
-			break;
727
-
728
-		case 'recipes':
729
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php';
730
-			break;
731
-
732
-		case 'workout':
733
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php';
734
-			break;
735
-
736
-		case 'warm-up':
737
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php';
738
-			break;
739
-
740
-		default:
741
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php';
742
-			break;
743
-	}
744
-	$tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path );
745
-	if ( '' !== $tab_template_path ) {
746
-		include $tab_template_path;
747
-	}
722
+     $endpoint = get_query_var( 'endpoint' );
723
+     switch ( $endpoint ) {
724
+          case 'meal':
725
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-meal.php';
726
+               break;
727
+
728
+          case 'recipes':
729
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-recipes.php';
730
+               break;
731
+
732
+          case 'workout':
733
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-workout.php';
734
+               break;
735
+
736
+          case 'warm-up':
737
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-warm-up.php';
738
+               break;
739
+
740
+          default:
741
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . '/templates/tab-content-plan.php';
742
+               break;
743
+     }
744
+     $tab_template_path = apply_filters( 'lsx_health_plan_single_tab_path', $tab_template_path );
745
+     if ( '' !== $tab_template_path ) {
746
+          include $tab_template_path;
747
+     }
748 748
 }
749 749
 
750 750
 /**
@@ -753,7 +753,7 @@  discard block
 block discarded – undo
753 753
  * @return void
754 754
  */
755 755
 function lsx_health_plan_recipe_data() {
756
-	include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php';
756
+     include LSX_HEALTH_PLAN_PATH . '/templates/table-recipe-data.php';
757 757
 }
758 758
 
759 759
 /**
@@ -762,11 +762,11 @@  discard block
 block discarded – undo
762 762
  * @return recipe_type
763 763
  */
764 764
 function lsx_health_plan_recipe_type() {
765
-	$term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' );
766
-	$recipe_type   = $term_obj_list[0]->name;
767
-	if ( ! empty( $recipe_type ) ) {
768
-		return $recipe_type;
769
-	}
765
+     $term_obj_list = get_the_terms( get_the_ID(), 'recipe-type' );
766
+     $recipe_type   = $term_obj_list[0]->name;
767
+     if ( ! empty( $recipe_type ) ) {
768
+          return $recipe_type;
769
+     }
770 770
 }
771 771
 
772 772
 /**
@@ -777,35 +777,35 @@  discard block
 block discarded – undo
777 777
  * @return void
778 778
  */
779 779
 function lsx_health_plan_workout_video_play_button( $m, $group, $echo = true ) {
780
-	$workout_video = '';
781
-	$giphy         = '';
782
-	$youtube       = '';
783
-	if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) {
784
-		$workout_video = esc_html( $group['connected_videos'] );
785
-		$giphy         = get_post_meta( $workout_video, 'video_giphy_source', true );
786
-		$youtube       = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) );
787
-		$content       = get_post_field( 'post_content', $workout_video );
788
-		$play_button   = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
789
-
790
-		$modal_body = '';
791
-		if ( ! empty( $giphy ) ) {
792
-			$giphy      = \lsx_health_plan\functions\get_video_url( $giphy );
793
-			$modal_body = $giphy; // WPCS: XSS OK.
794
-		} elseif ( ! empty( $youtube ) ) {
795
-			$modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK.
796
-				'width' => 480,
797
-			) );
798
-		}
799
-		$modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>';
800
-		$modal_body .= $content;
801
-		\lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body );
802
-
803
-		if ( true === $echo ) {
804
-			echo wp_kses_post( $play_button );
805
-		} else {
806
-			return $play_button;
807
-		}
808
-	}
780
+     $workout_video = '';
781
+     $giphy         = '';
782
+     $youtube       = '';
783
+     if ( isset( $group['connected_videos'] ) && '' !== $group['connected_videos'] ) {
784
+          $workout_video = esc_html( $group['connected_videos'] );
785
+          $giphy         = get_post_meta( $workout_video, 'video_giphy_source', true );
786
+          $youtube       = esc_url( get_post_meta( $workout_video, 'video_youtube_source', 1 ) );
787
+          $content       = get_post_field( 'post_content', $workout_video );
788
+          $play_button   = '<button data-toggle="modal" data-target="#workout-video-modal-' . $m . '"><span class="fa fa-play-circle"></span></button>';
789
+
790
+          $modal_body = '';
791
+          if ( ! empty( $giphy ) ) {
792
+               $giphy      = \lsx_health_plan\functions\get_video_url( $giphy );
793
+               $modal_body = $giphy; // WPCS: XSS OK.
794
+          } elseif ( ! empty( $youtube ) ) {
795
+               $modal_body = wp_oembed_get( $youtube, array( // WPCS: XSS OK.
796
+                    'width' => 480,
797
+               ) );
798
+          }
799
+          $modal_body .= '<h5 class="modal-title title-lined">' . $group['name'] . '</h5>';
800
+          $modal_body .= $content;
801
+          \lsx_health_plan\functions\register_modal( 'workout-video-modal-' . $m, '', $modal_body );
802
+
803
+          if ( true === $echo ) {
804
+               echo wp_kses_post( $play_button );
805
+          } else {
806
+               return $play_button;
807
+          }
808
+     }
809 809
 }
810 810
 
811 811
 /**
@@ -814,21 +814,21 @@  discard block
 block discarded – undo
814 814
  * @return void
815 815
  */
816 816
 function lsx_health_plan_recipe_archive_description() {
817
-	$description = '';
818
-	if ( is_post_type_archive( 'recipe' ) ) {
819
-		$description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' );
820
-	} elseif ( is_post_type_archive( 'exercise' ) ) {
821
-		$description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' );
822
-	} elseif ( is_tax() ) {
823
-		$description = get_the_archive_description();
824
-	}
825
-	if ( '' !== $description ) {
826
-		?>
817
+     $description = '';
818
+     if ( is_post_type_archive( 'recipe' ) ) {
819
+          $description = \lsx_health_plan\functions\get_option( 'recipe_archive_description', '' );
820
+     } elseif ( is_post_type_archive( 'exercise' ) ) {
821
+          $description = \lsx_health_plan\functions\get_option( 'exercise_archive_description', '' );
822
+     } elseif ( is_tax() ) {
823
+          $description = get_the_archive_description();
824
+     }
825
+     if ( '' !== $description ) {
826
+          ?>
827 827
 		<div class="lsx-hp-archive-description row">
828 828
 			<div class="col-xs-12 description-wrapper"><?php echo wp_kses_post( wpautop( $description ) ); ?></div>
829 829
 		</div>
830 830
 		<?php
831
-	}
831
+     }
832 832
 }
833 833
 
834 834
 /**
@@ -837,23 +837,23 @@  discard block
 block discarded – undo
837 837
  * @return void
838 838
  */
839 839
 function lsx_health_plan_workout_main_content() {
840
-	// Getting translated endpoint.
841
-	$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' );
842
-
843
-	$connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true );
844
-	$small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true );
845
-
846
-	$content = '';
847
-	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
848
-		$content .= '<div class="set-box set content-box entry-content">';
849
-		$content .= '<div class="the-content">';
850
-		$content .= lsx_hp_member_connected( $connected_members, $workout );
851
-		$content .= '<span>' . $small_description . '</span>';
852
-		$content .= '</div>';
853
-		$content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
854
-		$content .= '</div>';
855
-	}
856
-	return $content;
840
+     // Getting translated endpoint.
841
+     $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', 'workout' );
842
+
843
+     $connected_members = get_post_meta( get_the_ID(), ( $workout . '_connected_team_member' ), true );
844
+     $small_description = get_post_meta( get_the_ID(), ( $workout . '_short_description' ), true );
845
+
846
+     $content = '';
847
+     if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
848
+          $content .= '<div class="set-box set content-box entry-content">';
849
+          $content .= '<div class="the-content">';
850
+          $content .= lsx_hp_member_connected( $connected_members, $workout );
851
+          $content .= '<span>' . $small_description . '</span>';
852
+          $content .= '</div>';
853
+          $content .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
854
+          $content .= '</div>';
855
+     }
856
+     return $content;
857 857
 }
858 858
 
859 859
 /**
@@ -862,23 +862,23 @@  discard block
 block discarded – undo
862 862
  * @return void
863 863
  */
864 864
 function lsx_health_plan_meal_main_content() {
865
-	// Getting translated endpoint.
866
-	$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' );
867
-
868
-	$connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true );
869
-	$small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true );
870
-
871
-	$content_meal = '';
872
-	if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
873
-		$content_meal .= '<div class="set-box set content-box entry-content">';
874
-		$content_meal .= '<div class="the-content">';
875
-		$content_meal .= lsx_hp_member_connected( $connected_members, $meal );
876
-		$content_meal .= '<span>' . $small_description . '</span>';
877
-		$content_meal .= '</div>';
878
-		$content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
879
-		$content_meal .= '</div>';
880
-	}
881
-	return $content_meal;
865
+     // Getting translated endpoint.
866
+     $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', 'meal' );
867
+
868
+     $connected_members = get_post_meta( get_the_ID(), ( $meal . '_connected_team_member' ), true );
869
+     $small_description = get_post_meta( get_the_ID(), ( $meal . '_short_description' ), true );
870
+
871
+     $content_meal = '';
872
+     if ( $small_description || $connected_members || lsx_health_plan_has_tips() ) {
873
+          $content_meal .= '<div class="set-box set content-box entry-content">';
874
+          $content_meal .= '<div class="the-content">';
875
+          $content_meal .= lsx_hp_member_connected( $connected_members, $meal );
876
+          $content_meal .= '<span>' . $small_description . '</span>';
877
+          $content_meal .= '</div>';
878
+          $content_meal .= do_shortcode( '[lsx_health_plan_featured_tips_block]' );
879
+          $content_meal .= '</div>';
880
+     }
881
+     return $content_meal;
882 882
 }
883 883
 
884 884
 
@@ -889,36 +889,36 @@  discard block
 block discarded – undo
889 889
  * @return void
890 890
  */
891 891
 function lsx_health_plan_workout_tab_content( $index = 1 ) {
892
-	global $group_name,$shortcode_args;
893
-	$group_name = 'workout_section_' . $index;
894
-	if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
895
-		$layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
896
-
897
-		// Check for shortcode overrides.
898
-		if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) {
899
-			$layout = $shortcode_args['layout'];
900
-		}
901
-	} else {
902
-		$layout = 'table';
903
-	}
904
-
905
-	switch ( $layout ) {
906
-		case 'list':
907
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php';
908
-			break;
909
-
910
-		case 'grid':
911
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php';
912
-			break;
913
-
914
-		case 'table':
915
-			$tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php';
916
-			break;
917
-	}
918
-	$tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path );
919
-	if ( '' !== $tab_template_path ) {
920
-		include $tab_template_path;
921
-	}
892
+     global $group_name,$shortcode_args;
893
+     $group_name = 'workout_section_' . $index;
894
+     if ( false !== \lsx_health_plan\functions\get_option( 'exercise_enabled', false ) ) {
895
+          $layout = strtolower( \lsx_health_plan\functions\get_option( 'workout_tab_layout', 'table' ) );
896
+
897
+          // Check for shortcode overrides.
898
+          if ( null !== $shortcode_args && isset( $shortcode_args['layout'] ) ) {
899
+               $layout = $shortcode_args['layout'];
900
+          }
901
+     } else {
902
+          $layout = 'table';
903
+     }
904
+
905
+     switch ( $layout ) {
906
+          case 'list':
907
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-list.php';
908
+               break;
909
+
910
+          case 'grid':
911
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-grid.php';
912
+               break;
913
+
914
+          case 'table':
915
+               $tab_template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-table.php';
916
+               break;
917
+     }
918
+     $tab_template_path = apply_filters( 'lsx_health_plan_workout_tab_content_path', $tab_template_path );
919
+     if ( '' !== $tab_template_path ) {
920
+          include $tab_template_path;
921
+     }
922 922
 }
923 923
 
924 924
 /**
@@ -927,28 +927,28 @@  discard block
 block discarded – undo
927 927
  * @return void
928 928
  */
929 929
 function lsx_health_plan_workout_sets() {
930
-	if ( is_singular( 'workout' ) ) {
931
-		global $connected_workouts;
932
-		$connected_workouts = array( get_the_ID() );
933
-	}
934
-	if ( is_singular( 'plan' ) ) {
935
-
936
-		global $connected_workouts;
937
-
938
-		$section_key  = get_query_var( 'section' );
939
-		if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) {
940
-			$section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
941
-			if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) {
942
-
943
-				$connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] );
944
-			}
945
-		}
946
-	}
947
-	$template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
948
-	$template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
949
-	if ( '' !== $template_path && ! empty( $template_path ) ) {
950
-		include $template_path;
951
-	}
930
+     if ( is_singular( 'workout' ) ) {
931
+          global $connected_workouts;
932
+          $connected_workouts = array( get_the_ID() );
933
+     }
934
+     if ( is_singular( 'plan' ) ) {
935
+
936
+          global $connected_workouts;
937
+
938
+          $section_key  = get_query_var( 'section' );
939
+          if ( '' !== $section && \lsx_health_plan\functions\plan\has_sections() ) {
940
+               $section_info = \lsx_health_plan\functions\plan\get_section_info( $section_key );
941
+               if ( isset( $section_info['connected_workouts'] ) && '' !== $section_info['connected_workouts'] ) {
942
+
943
+                    $connected_workouts = \lsx_health_plan\functions\prep_array( $section_info['connected_workouts'] );
944
+               }
945
+          }
946
+     }
947
+     $template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
948
+     $template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
949
+     if ( '' !== $template_path && ! empty( $template_path ) ) {
950
+          include $template_path;
951
+     }
952 952
 }
953 953
 
954 954
 /**
@@ -959,11 +959,11 @@  discard block
 block discarded – undo
959 959
  */
960 960
 function lsx_health_plan_warmup_sets( $connected_workouts ) {
961 961
 	
962
-	$template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
963
-	$template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
964
-	if ( '' !== $template_path && ! empty( $template_path ) ) {
965
-		include $template_path;
966
-	}
962
+     $template_path = LSX_HEALTH_PLAN_PATH . 'templates/partials/workout-sets.php';
963
+     $template_path = apply_filters( 'lsx_health_plan_workout_set_template_path', $template_path );
964
+     if ( '' !== $template_path && ! empty( $template_path ) ) {
965
+          include $template_path;
966
+     }
967 967
 }
968 968
 
969 969
 /**
@@ -973,48 +973,48 @@  discard block
 block discarded – undo
973 973
  * @return void
974 974
  */
975 975
 function lsx_hp_meal_plan_recipes( $args = array() ) {
976
-	$defaults = array(
977
-		'meal_id'   => false,
978
-		'meal_time' => '',
979
-		'modal'     => true,
980
-	);
981
-	$args     = wp_parse_args( $args, $defaults );
982
-	// Looking for recipes.
983
-	$connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true );
984
-	if ( ! empty( $connected_recipes ) ) {
985
-		$query_args    = array(
986
-			'orderby'   => 'date',
987
-			'order'     => 'DESC',
988
-			'post_type' => 'recipe',
989
-			'post__in'  => $connected_recipes,
990
-		);
991
-		$recipes = new WP_Query( $query_args );
992
-		?>
976
+     $defaults = array(
977
+          'meal_id'   => false,
978
+          'meal_time' => '',
979
+          'modal'     => true,
980
+     );
981
+     $args     = wp_parse_args( $args, $defaults );
982
+     // Looking for recipes.
983
+     $connected_recipes = get_post_meta( $args['meal_id'], $args['meal_time'] . '_recipes', true );
984
+     if ( ! empty( $connected_recipes ) ) {
985
+          $query_args    = array(
986
+               'orderby'   => 'date',
987
+               'order'     => 'DESC',
988
+               'post_type' => 'recipe',
989
+               'post__in'  => $connected_recipes,
990
+          );
991
+          $recipes = new WP_Query( $query_args );
992
+          ?>
993 993
 		<div class="recipes">
994 994
 			<div class="row eating-row">
995 995
 			<?php
996
-			if ( $recipes->have_posts() ) {
997
-				while ( $recipes->have_posts() ) {
998
-					$recipes->the_post();
999
-					if ( false !== $args['modal'] ) {
1000
-						\lsx_health_plan\functions\recipes\register_recipe_modal();
1001
-					}
1002
-					?>
996
+               if ( $recipes->have_posts() ) {
997
+                    while ( $recipes->have_posts() ) {
998
+                         $recipes->the_post();
999
+                         if ( false !== $args['modal'] ) {
1000
+                              \lsx_health_plan\functions\recipes\register_recipe_modal();
1001
+                         }
1002
+                         ?>
1003 1003
 					<div class="recipe-column">
1004 1004
 						<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">
1005 1005
 							<div class="recipe-feature-img">
1006 1006
 								<?php
1007
-								$featured_image = get_the_post_thumbnail();
1008
-								if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1009
-									the_post_thumbnail( 'lsx-thumbnail-square', array(
1010
-										'class' => 'aligncenter',
1011
-									) );
1012
-								} else {
1013
-									?>
1007
+                                        $featured_image = get_the_post_thumbnail();
1008
+                                        if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1009
+                                             the_post_thumbnail( 'lsx-thumbnail-square', array(
1010
+                                                  'class' => 'aligncenter',
1011
+                                             ) );
1012
+                                        } else {
1013
+                                             ?>
1014 1014
 									<img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __DIR__ ) . 'assets/images/placeholder.jpg' ); ?>">
1015 1015
 									<?php
1016
-								}
1017
-								?>
1016
+                                        }
1017
+                                        ?>
1018 1018
 							</div>
1019 1019
 							<div class="recipe-content">
1020 1020
 								<h3 class="recipe-title"><?php the_title(); ?></h3>
@@ -1023,41 +1023,41 @@  discard block
 block discarded – undo
1023 1023
 						</a>
1024 1024
 					</div>
1025 1025
 				<?php
1026
-				}
1027
-			}
1028
-			wp_reset_postdata();
1029
-			?>
1026
+                    }
1027
+               }
1028
+               wp_reset_postdata();
1029
+               ?>
1030 1030
 			</div>
1031 1031
 		</div>
1032 1032
 		<?php
1033 1033
 
1034
-	}
1034
+     }
1035 1035
 }
1036 1036
 
1037 1037
 /**
1038 1038
  * Output the connected.
1039 1039
  */
1040 1040
 function lsx_hp_recipe_plan_meta( $args = array() ) {
1041
-	$defaults = array();
1042
-	$top_level_plans = array();
1043
-	// Get meals this exercise is connected to.
1044
-	$plans = get_post_meta( get_the_ID(), 'connected_plans', true );
1045
-	if ( ! empty( $plans ) ) {
1046
-		$plan       = end( $plans );
1047
-		$has_parent = wp_get_post_parent_id( $plan );
1048
-		if ( 0 === $has_parent ) {
1049
-			$top_level_plans[] = $plan;
1050
-		} elseif ( false !== $top_level_plans ) {
1051
-			$top_level_plans[] = $has_parent;
1052
-		}
1053
-	}
1054
-	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1055
-		$top_level_plans = array_unique( $top_level_plans );
1056
-		$top_level_plan  = end( $top_level_plans );
1057
-		?>
1041
+     $defaults = array();
1042
+     $top_level_plans = array();
1043
+     // Get meals this exercise is connected to.
1044
+     $plans = get_post_meta( get_the_ID(), 'connected_plans', true );
1045
+     if ( ! empty( $plans ) ) {
1046
+          $plan       = end( $plans );
1047
+          $has_parent = wp_get_post_parent_id( $plan );
1048
+          if ( 0 === $has_parent ) {
1049
+               $top_level_plans[] = $plan;
1050
+          } elseif ( false !== $top_level_plans ) {
1051
+               $top_level_plans[] = $has_parent;
1052
+          }
1053
+     }
1054
+     if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1055
+          $top_level_plans = array_unique( $top_level_plans );
1056
+          $top_level_plan  = end( $top_level_plans );
1057
+          ?>
1058 1058
 			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1059 1059
 		<?php
1060
-	}
1060
+     }
1061 1061
 }
1062 1062
 
1063 1063
 /**
@@ -1065,42 +1065,42 @@  discard block
 block discarded – undo
1065 1065
  */
1066 1066
 function lsx_hp_exercise_plan_meta() {
1067 1067
 
1068
-	$top_level_plans = array();
1069
-
1070
-	// Get workouts this exercise is connected to.
1071
-	$workouts = get_post_meta( get_the_ID(), 'connected_workouts', true );
1072
-
1073
-	if ( '' !== $workouts && ! is_array( $workouts ) ) {
1074
-		$workouts = array( $workouts );
1075
-	}
1076
-	if ( ! empty( $workouts ) ) {
1077
-		foreach ( $workouts as $workout ) {
1078
-			// Get the plans this workout is connected to.
1079
-			$plans = get_post_meta( $workout, 'connected_plans', true );
1080
-
1081
-			if ( '' !== $plans && ! is_array( $plans ) ) {
1082
-				$plans = array( $plans );
1083
-			}
1084
-			if ( ! empty( $plans ) ) {
1085
-				foreach ( $plans as $plan ) {
1086
-					$has_parent = wp_get_post_parent_id( $plan );
1087
-					if ( 0 === $has_parent ) {
1088
-						$top_level_plans = $plan;
1089
-					} else {
1090
-						$top_level_plans = $has_parent;
1091
-					}
1092
-				}
1093
-			}
1094
-		}
1095
-	}
1096
-
1097
-	if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1098
-		$top_level_plans = array_unique( $top_level_plans );
1099
-		$top_level_plan  = end( $top_level_plans );
1100
-		?>
1068
+     $top_level_plans = array();
1069
+
1070
+     // Get workouts this exercise is connected to.
1071
+     $workouts = get_post_meta( get_the_ID(), 'connected_workouts', true );
1072
+
1073
+     if ( '' !== $workouts && ! is_array( $workouts ) ) {
1074
+          $workouts = array( $workouts );
1075
+     }
1076
+     if ( ! empty( $workouts ) ) {
1077
+          foreach ( $workouts as $workout ) {
1078
+               // Get the plans this workout is connected to.
1079
+               $plans = get_post_meta( $workout, 'connected_plans', true );
1080
+
1081
+               if ( '' !== $plans && ! is_array( $plans ) ) {
1082
+                    $plans = array( $plans );
1083
+               }
1084
+               if ( ! empty( $plans ) ) {
1085
+                    foreach ( $plans as $plan ) {
1086
+                         $has_parent = wp_get_post_parent_id( $plan );
1087
+                         if ( 0 === $has_parent ) {
1088
+                              $top_level_plans = $plan;
1089
+                         } else {
1090
+                              $top_level_plans = $has_parent;
1091
+                         }
1092
+                    }
1093
+               }
1094
+          }
1095
+     }
1096
+
1097
+     if ( ! empty( $top_level_plans ) && ( '' !== $top_level_plans ) ) {
1098
+          $top_level_plans = array_unique( $top_level_plans );
1099
+          $top_level_plan  = end( $top_level_plans );
1100
+          ?>
1101 1101
 			<span class="recipe-type recipe-parent"><?php echo esc_html( get_the_title( $top_level_plan ) ); ?></span>
1102 1102
 		<?php
1103
-	}
1103
+     }
1104 1104
 }
1105 1105
 
1106 1106
 /**
@@ -1110,7 +1110,7 @@  discard block
 block discarded – undo
1110 1110
  * @return void
1111 1111
  */
1112 1112
 function lsx_hp_single_related( $related_content, $post_type_text ) {
1113
-	?>
1113
+     ?>
1114 1114
 	<section id="lsx-hp-related">
1115 1115
 		<div class="row lsx-related-posts lsx-related-posts-title">
1116 1116
 			<div class="col-xs-12">
@@ -1121,14 +1121,14 @@  discard block
 block discarded – undo
1121 1121
 			<div class="col-xs-12">
1122 1122
 				<div class="lsx-related-posts-wrapper">
1123 1123
 					<?php
1124
-					$i = 0;
1125
-					foreach ( $related_content as $article ) {
1126
-						$post_title      = get_the_title( $article );
1127
-						$post_categories = wp_get_post_categories( $article );
1128
-						$post_link       = get_permalink( $article );
1129
-
1130
-						$cats = array();
1131
-						?>
1124
+                         $i = 0;
1125
+                         foreach ( $related_content as $article ) {
1126
+                              $post_title      = get_the_title( $article );
1127
+                              $post_categories = wp_get_post_categories( $article );
1128
+                              $post_link       = get_permalink( $article );
1129
+
1130
+                              $cats = array();
1131
+                              ?>
1132 1132
 						<article id="post-<?php echo esc_html( $article ); ?>" class="lsx-slot post">
1133 1133
 							<div class="entry-layout lsx-hp-shadow">
1134 1134
 								<div class="entry-layout-content">
@@ -1136,25 +1136,25 @@  discard block
 block discarded – undo
1136 1136
 										<div class="entry-image">
1137 1137
 											<a href="<?php echo esc_url( $post_link ); ?>" class="thumbnail">
1138 1138
 											<?php
1139
-											$featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' );
1140
-											if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1141
-												echo wp_kses_post( $featured_image );
1142
-											} else {
1143
-												?>
1139
+                                                       $featured_image = get_the_post_thumbnail( $article, 'lsx-thumbnail-wide' );
1140
+                                                       if ( ! empty( $featured_image ) && '' !== $featured_image ) {
1141
+                                                            echo wp_kses_post( $featured_image );
1142
+                                                       } else {
1143
+                                                            ?>
1144 1144
 												<img loading="lazy" class="placeholder" src="<?php echo esc_attr( plugin_dir_url( __FILE__ ) . '../assets/images/placeholder.jpg' ); ?>">
1145 1145
 												<?php
1146
-											}
1147
-											?>
1146
+                                                       }
1147
+                                                       ?>
1148 1148
 											</a>
1149 1149
 										</div>
1150 1150
 										<div class="entry-meta">
1151 1151
 										<?php
1152
-										foreach ( $post_categories as $c ) {
1153
-											$cat = get_category( $c );
1154
-											/* Translators: %s: category name */
1155
-											$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>';
1156
-										}
1157
-										if ( ! empty( $cats ) ) { ?>
1152
+                                                  foreach ( $post_categories as $c ) {
1153
+                                                       $cat = get_category( $c );
1154
+                                                       /* Translators: %s: category name */
1155
+                                                       $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>';
1156
+                                                  }
1157
+                                                  if ( ! empty( $cats ) ) { ?>
1158 1158
 											<div class="post-categories"><span></span><?php echo wp_kses_post( implode( ', ', $cats ) ); ?></div>
1159 1159
 										<?php } ?>
1160 1160
 										</div>
@@ -1169,8 +1169,8 @@  discard block
 block discarded – undo
1169 1169
 						</article>
1170 1170
 
1171 1171
 					<?php
1172
-					if (++$i === 3) break;
1173
-					} ?>
1172
+                         if (++$i === 3) break;
1173
+                         } ?>
1174 1174
 				</div>
1175 1175
 			</div>
1176 1176
 		</div>
@@ -1185,32 +1185,32 @@  discard block
 block discarded – undo
1185 1185
  * @return void
1186 1186
  */
1187 1187
 function lsx_hp_member_connected( $connected_members, $post_type ) {
1188
-	if ( ! empty( $connected_members ) ) {
1189
-		$content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">';
1190
-		foreach ( $connected_members as $member ) {
1191
-			$post_link   = get_permalink( $member );
1192
-			$member_name = get_the_title( $member );
1193
-			$member_name = '<span class="lsx-team-name">' . $member_name . '</span>';
1194
-
1195
-			$member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>';
1196
-
1197
-			$roles = '';
1198
-			$terms = get_the_terms( $member, 'team_role' );
1199
-
1200
-			if ( $terms && ! is_wp_error( $terms ) ) {
1201
-				$roles = array();
1202
-
1203
-				foreach ( $terms as $term ) {
1204
-					$roles[] = $term->name;
1205
-				}
1206
-
1207
-				$roles = join( ', ', $roles );
1208
-			}
1209
-			$member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : '';
1210
-
1211
-			$content .= '<p>' . $member_roles . ': ' . $member_link . '</p>';
1212
-		}
1213
-		$content .= '</div>';
1214
-		return $content;
1215
-	}
1188
+     if ( ! empty( $connected_members ) ) {
1189
+          $content = '<div id="hp-connected-members" class="hp-connected-members connected-' . $post_type . '">';
1190
+          foreach ( $connected_members as $member ) {
1191
+               $post_link   = get_permalink( $member );
1192
+               $member_name = get_the_title( $member );
1193
+               $member_name = '<span class="lsx-team-name">' . $member_name . '</span>';
1194
+
1195
+               $member_link = '<a href="' . $post_link . '" >' . $member_name . '</a>';
1196
+
1197
+               $roles = '';
1198
+               $terms = get_the_terms( $member, 'team_role' );
1199
+
1200
+               if ( $terms && ! is_wp_error( $terms ) ) {
1201
+                    $roles = array();
1202
+
1203
+                    foreach ( $terms as $term ) {
1204
+                         $roles[] = $term->name;
1205
+                    }
1206
+
1207
+                    $roles = join( ', ', $roles );
1208
+               }
1209
+               $member_roles = '' !== $roles ? "<small class='lsx-team-roles'>$roles</small>" : '';
1210
+
1211
+               $content .= '<p>' . $member_roles . ': ' . $member_link . '</p>';
1212
+          }
1213
+          $content .= '</div>';
1214
+          return $content;
1215
+     }
1216 1216
 }
Please login to merge, or discard this patch.
templates/single-plan-tabs.php 1 patch
Indentation   +27 added lines, -27 removed lines patch added patch discarded remove patch
@@ -8,14 +8,14 @@  discard block
 block discarded – undo
8 8
 $plan_link       = get_permalink();
9 9
 $current_section = get_query_var( 'section', false );
10 10
 if ( '' !== $current_section ) {
11
-	$plan_link = \lsx_health_plan\functions\plan\get_permalink( get_the_ID(), $current_section );
11
+     $plan_link = \lsx_health_plan\functions\plan\get_permalink( get_the_ID(), $current_section );
12 12
 }
13 13
 
14 14
 if ( false !== $current_section && \lsx_health_plan\functions\plan\has_sections() ) {
15
-	$section_info = \lsx_health_plan\functions\plan\get_section_info( $current_section );
16
-	if ( empty( $section_info ) || ( isset( $section_info['rest_day_enabled'] ) && ! empty( $section_info['rest_day_enabled'] ) && ! lsx_health_plan_has_meal() ) ) {
17
-		return;
18
-	}
15
+     $section_info = \lsx_health_plan\functions\plan\get_section_info( $current_section );
16
+     if ( empty( $section_info ) || ( isset( $section_info['rest_day_enabled'] ) && ! empty( $section_info['rest_day_enabled'] ) && ! lsx_health_plan_has_meal() ) ) {
17
+          return;
18
+     }
19 19
 }
20 20
 
21 21
 ?>
@@ -23,33 +23,33 @@  discard block
 block discarded – undo
23 23
 	<ul class="nav nav-pills">
24 24
 		<li class="<?php lsx_health_plan_nav_class( '' ); ?>"><a class="overview-tab" href="<?php echo esc_attr( $plan_link ); ?>"><?php lsx_get_svg_icon( 'eye.svg' ); ?> <?php esc_html_e( 'Overview', 'lsx-health-plan' ); ?></a></li>
25 25
 		<?php
26
-		if ( lsx_health_plan_has_warmup() ) {
27
-			$warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
28
-			if ( false === $warm_up ) {
29
-				$warm_up = 'warm-up';
30
-			}
31
-			?>
26
+          if ( lsx_health_plan_has_warmup() ) {
27
+               $warm_up = \lsx_health_plan\functions\get_option( 'endpoint_warm_up', false );
28
+               if ( false === $warm_up ) {
29
+                    $warm_up = 'warm-up';
30
+               }
31
+               ?>
32 32
 				<li class="<?php lsx_health_plan_nav_class( 'warm-up' ); ?>"><a class="warm-up-tab" href="<?php echo esc_attr( $plan_link ); ?><?php echo esc_attr( $warm_up ); ?>/"><?php lsx_get_svg_icon( 'warm.svg' ); ?> <?php esc_html_e( 'Warm-up', 'lsx-health-plan' ); ?></a></li>				
33 33
 			<?php
34
-		}
35
-		if ( lsx_health_plan_has_workout() ) {
36
-			$workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
37
-			if ( false === $workout ) {
38
-				$workout = 'workout';
39
-			}
40
-			?>
34
+          }
35
+          if ( lsx_health_plan_has_workout() ) {
36
+               $workout = \lsx_health_plan\functions\get_option( 'endpoint_workout', false );
37
+               if ( false === $workout ) {
38
+                    $workout = 'workout';
39
+               }
40
+               ?>
41 41
 				<li class="<?php lsx_health_plan_nav_class( 'workout' ); ?>"><a class="workout-tab" href="<?php echo esc_attr( $plan_link ); ?><?php echo esc_attr( $workout ); ?>/"><?php lsx_get_svg_icon( 'work.svg' ); ?> <?php esc_html_e( 'Workout', 'lsx-health-plan' ); ?></a></li>
42 42
 			<?php
43
-		}
44
-		if ( lsx_health_plan_has_meal() ) {
45
-			$meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
46
-			if ( false === $meal ) {
47
-				$meal = 'meal';
48
-			}
49
-			?>
43
+          }
44
+          if ( lsx_health_plan_has_meal() ) {
45
+               $meal = \lsx_health_plan\functions\get_option( 'endpoint_meal', false );
46
+               if ( false === $meal ) {
47
+                    $meal = 'meal';
48
+               }
49
+               ?>
50 50
 				<li class="<?php lsx_health_plan_nav_class( 'meal' ); ?>"><a class="meal-plan-tab" href="<?php echo esc_attr( $plan_link ); ?><?php echo esc_attr( $meal ); ?>/"><?php lsx_get_svg_icon( 'meal.svg' ); ?> <?php esc_html_e( 'Meal Plan', 'lsx-health-plan' ); ?></a></li>
51 51
 			<?php
52
-		}
53
-		?>
52
+          }
53
+          ?>
54 54
 	</ul>
55 55
 </div>
Please login to merge, or discard this patch.
classes/admin/class-settings.php 1 patch
Indentation   +225 added lines, -225 removed lines patch added patch discarded remove patch
@@ -12,257 +12,257 @@
 block discarded – undo
12 12
  */
13 13
 class Settings {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Settings()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Settings()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Option key, and option page slug
26
-	 *
27
-	 * @var string
28
-	 */
29
-	protected $screen_id = 'lsx_health_plan_settings';
24
+     /**
25
+      * Option key, and option page slug
26
+      *
27
+      * @var string
28
+      */
29
+     protected $screen_id = 'lsx_health_plan_settings';
30 30
 
31
-	/**
32
-	 * An array of the post types for the Global Downloads field.
33
-	 *
34
-	 * @var array
35
-	 */
36
-	public $download_types = array();
31
+     /**
32
+      * An array of the post types for the Global Downloads field.
33
+      *
34
+      * @var array
35
+      */
36
+     public $download_types = array();
37 37
 
38
-	/**
39
-	 * An array of the post types for the Global Defaults field.
40
-	 *
41
-	 * @var array
42
-	 */
43
-	//public $default_types = array();
38
+     /**
39
+      * An array of the post types for the Global Defaults field.
40
+      *
41
+      * @var array
42
+      */
43
+     //public $default_types = array();
44 44
 
45
-	/**
46
-	 * An array of the endpoints for the Endpoint Translation field.
47
-	 *
48
-	 * @var array
49
-	 */
50
-	public $endpoints = array();
45
+     /**
46
+      * An array of the endpoints for the Endpoint Translation field.
47
+      *
48
+      * @var array
49
+      */
50
+     public $endpoints = array();
51 51
 
52
-	/**
53
-	 * Constructor
54
-	 */
55
-	public function __construct() {
56
-		$this->load_classes();
57
-		add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
-		add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
52
+     /**
53
+      * Constructor
54
+      */
55
+     public function __construct() {
56
+          $this->load_classes();
57
+          add_action( 'cmb2_admin_init', array( $this, 'register_settings_page' ) );
58
+          add_action( 'lsx_hp_settings_page', array( $this, 'generate_tabs' ), 1, 1 );
59 59
 
60
-		add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
-	}
60
+          add_action( 'lsx_hp_settings_page_general_top', array( $this, 'general_settings' ), 1, 1 );
61
+     }
62 62
 
63
-	/**
64
-	 * Return an instance of this class.
65
-	 *
66
-	 * @since 1.0.0
67
-	 *
68
-	 * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
69
-	 */
70
-	public static function get_instance() {
71
-		// If the single instance hasn't been set, set it now.
72
-		if ( null === self::$instance ) {
73
-			self::$instance = new self();
74
-		}
75
-		return self::$instance;
76
-	}
63
+     /**
64
+      * Return an instance of this class.
65
+      *
66
+      * @since 1.0.0
67
+      *
68
+      * @return    object \lsx_health_plan\classes\admin\Settings()    A single instance of this class.
69
+      */
70
+     public static function get_instance() {
71
+          // If the single instance hasn't been set, set it now.
72
+          if ( null === self::$instance ) {
73
+               self::$instance = new self();
74
+          }
75
+          return self::$instance;
76
+     }
77 77
 
78
-	/**
79
-	 * Loads the variable classes and the static classes.
80
-	 */
81
-	private function load_classes() {
78
+     /**
79
+      * Loads the variable classes and the static classes.
80
+      */
81
+     private function load_classes() {
82 82
 
83
-		$this->post_types = array(
84
-			'my-plans',
85
-			'workout',
86
-			'exercise',
87
-			'meal',
88
-			'recipe',
89
-			//'tip',
90
-			'recipe',
91
-		);
83
+          $this->post_types = array(
84
+               'my-plans',
85
+               'workout',
86
+               'exercise',
87
+               'meal',
88
+               'recipe',
89
+               //'tip',
90
+               'recipe',
91
+          );
92 92
 
93
-		foreach ( $this->post_types as $post_type ) {
94
-			$this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
95
-		}
93
+          foreach ( $this->post_types as $post_type ) {
94
+               $this->$post_type = require_once LSX_HEALTH_PLAN_PATH . 'classes/admin/settings/class-' . $post_type . '.php';
95
+          }
96 96
 
97
-	}
97
+     }
98 98
 
99
-	/**
100
-	 * Hook in and register a submenu options page for the Page post-type menu.
101
-	 */
102
-	public function register_settings_page() {
103
-		$cmb = new_cmb2_box(
104
-			array(
105
-				'id'           => $this->screen_id,
106
-				'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
107
-				'object_types' => array( 'options-page' ),
108
-				'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
109
-				'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
110
-				'capability'   => 'manage_options', // Cap required to view options-page.
111
-			)
112
-		);
113
-		do_action( 'lsx_hp_settings_page', $cmb );
114
-	}
99
+     /**
100
+      * Hook in and register a submenu options page for the Page post-type menu.
101
+      */
102
+     public function register_settings_page() {
103
+          $cmb = new_cmb2_box(
104
+               array(
105
+                    'id'           => $this->screen_id,
106
+                    'title'        => esc_html__( 'Settings', 'lsx-health-plan' ),
107
+                    'object_types' => array( 'options-page' ),
108
+                    'option_key'   => 'lsx_health_plan_options', // The option key and admin menu page slug.
109
+                    'parent_slug'  => 'edit.php?post_type=plan', // Make options page a submenu item of the themes menu.
110
+                    'capability'   => 'manage_options', // Cap required to view options-page.
111
+               )
112
+          );
113
+          do_action( 'lsx_hp_settings_page', $cmb );
114
+     }
115 115
 
116
-	/**
117
-	 * Registers the general settings.
118
-	 *
119
-	 * @param object $cmb new_cmb2_box().
120
-	 * @return void
121
-	 */
122
-	public function general_settings( $cmb ) {
123
-		$cmb->add_field(
124
-			array(
125
-				'name'        => __( 'Exercises', 'lsx-health-plan' ),
126
-				'id'          => 'exercise_enabled',
127
-				'type'        => 'checkbox',
128
-				'value'       => 1,
129
-				'default'     => 0,
130
-				'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
131
-			)
132
-		);
116
+     /**
117
+      * Registers the general settings.
118
+      *
119
+      * @param object $cmb new_cmb2_box().
120
+      * @return void
121
+      */
122
+     public function general_settings( $cmb ) {
123
+          $cmb->add_field(
124
+               array(
125
+                    'name'        => __( 'Exercises', 'lsx-health-plan' ),
126
+                    'id'          => 'exercise_enabled',
127
+                    'type'        => 'checkbox',
128
+                    'value'       => 1,
129
+                    'default'     => 0,
130
+                    'description' => __( 'Enabling the exercise post type will automatically replace the Video post type.', 'lsx-health-plan' ),
131
+               )
132
+          );
133 133
 
134
-		$cmb->add_field(
135
-			array(
136
-				'name'        => __( 'Disable Workouts', 'lsx-health-plan' ),
137
-				'id'          => 'workout_disabled',
138
-				'type'        => 'checkbox',
139
-				'value'       => 1,
140
-				'default'     => 0,
141
-				'description' => __( 'Disable workout post type if you are wanting a minimal site.', 'lsx-health-plan' ),
142
-			)
143
-		);
134
+          $cmb->add_field(
135
+               array(
136
+                    'name'        => __( 'Disable Workouts', 'lsx-health-plan' ),
137
+                    'id'          => 'workout_disabled',
138
+                    'type'        => 'checkbox',
139
+                    'value'       => 1,
140
+                    'default'     => 0,
141
+                    'description' => __( 'Disable workout post type if you are wanting a minimal site.', 'lsx-health-plan' ),
142
+               )
143
+          );
144 144
 
145
-		$cmb->add_field(
146
-			array(
147
-				'name'        => __( 'Disable Recipes', 'lsx-health-plan' ),
148
-				'id'          => 'recipe_disabled',
149
-				'type'        => 'checkbox',
150
-				'value'       => 1,
151
-				'default'     => 0,
152
-				'description' => __( 'Disable recipe post type if you are wanting a minimal site.', 'lsx-health-plan' ),
153
-			)
154
-		);
145
+          $cmb->add_field(
146
+               array(
147
+                    'name'        => __( 'Disable Recipes', 'lsx-health-plan' ),
148
+                    'id'          => 'recipe_disabled',
149
+                    'type'        => 'checkbox',
150
+                    'value'       => 1,
151
+                    'default'     => 0,
152
+                    'description' => __( 'Disable recipe post type if you are wanting a minimal site.', 'lsx-health-plan' ),
153
+               )
154
+          );
155 155
 
156
-		$cmb->add_field(
157
-			array(
158
-				'name'        => __( 'Disable Meals', 'lsx-health-plan' ),
159
-				'id'          => 'meal_disabled',
160
-				'type'        => 'checkbox',
161
-				'value'       => 1,
162
-				'default'     => 0,
163
-				'description' => __( 'Disable meal post type if you are wanting a minimal site.', 'lsx-health-plan' ),
164
-			)
165
-		);
156
+          $cmb->add_field(
157
+               array(
158
+                    'name'        => __( 'Disable Meals', 'lsx-health-plan' ),
159
+                    'id'          => 'meal_disabled',
160
+                    'type'        => 'checkbox',
161
+                    'value'       => 1,
162
+                    'default'     => 0,
163
+                    'description' => __( 'Disable meal post type if you are wanting a minimal site.', 'lsx-health-plan' ),
164
+               )
165
+          );
166 166
 		
167 167
 
168
-		$cmb->add_field(
169
-			array(
170
-				'name'      =>  __( 'Login Slug', 'lsx-health-plan' ),
171
-				'id'        => 'login_slug',
172
-				'type'      => 'input',
173
-				'value'     => '',
174
-				'default'   => 'login',
175
-				'after_row' => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
176
-			)
177
-		);
168
+          $cmb->add_field(
169
+               array(
170
+                    'name'      =>  __( 'Login Slug', 'lsx-health-plan' ),
171
+                    'id'        => 'login_slug',
172
+                    'type'      => 'input',
173
+                    'value'     => '',
174
+                    'default'   => 'login',
175
+                    'after_row' => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
176
+               )
177
+          );
178 178
 
179
-	}
179
+     }
180 180
 
181
-	/**
182
-	 * Enable Business Directory Search settings only if LSX Search plugin is enabled.
183
-	 *
184
-	 * @param object $cmb The CMB2() class.
185
-	 * @param string $section either engine,archive or single.
186
-	 * @return void
187
-	 */
188
-	public function generate_tabs( $cmb ) {
189
-		$tabs = $this->get_settings_tabs();
181
+     /**
182
+      * Enable Business Directory Search settings only if LSX Search plugin is enabled.
183
+      *
184
+      * @param object $cmb The CMB2() class.
185
+      * @param string $section either engine,archive or single.
186
+      * @return void
187
+      */
188
+     public function generate_tabs( $cmb ) {
189
+          $tabs = $this->get_settings_tabs();
190 190
 
191
-		foreach ( $tabs as $tab_key => $tab ) {
192
-			$cmb->add_field(
193
-				array(
194
-					'id'          => 'settings_' . $tab_key . '_title',
195
-					'type'        => 'title',
196
-					'name'        => $tab['title'],
197
-					'default'     => $tab['title'],
198
-					'description' => $tab['desc'],
199
-				)
200
-			);
201
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
191
+          foreach ( $tabs as $tab_key => $tab ) {
192
+               $cmb->add_field(
193
+                    array(
194
+                         'id'          => 'settings_' . $tab_key . '_title',
195
+                         'type'        => 'title',
196
+                         'name'        => $tab['title'],
197
+                         'default'     => $tab['title'],
198
+                         'description' => $tab['desc'],
199
+                    )
200
+               );
201
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_top', $cmb );
202 202
 
203
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
203
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_middle', $cmb );
204 204
 
205
-			do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
205
+               do_action( 'lsx_hp_settings_page_' . $tab_key . '_bottom', $cmb );
206 206
 
207
-			$cmb->add_field(
208
-				array(
209
-					'id'   => 'settings_' . $tab_key . '_closing',
210
-					'type' => 'tab_closing',
211
-				)
212
-			);
213
-		}
214
-	}
207
+               $cmb->add_field(
208
+                    array(
209
+                         'id'   => 'settings_' . $tab_key . '_closing',
210
+                         'type' => 'tab_closing',
211
+                    )
212
+               );
213
+          }
214
+     }
215 215
 
216 216
 
217
-	/**
218
-	 * Returns the tabs and their descriptions.
219
-	 *
220
-	 * @return array
221
-	 */
222
-	public function get_settings_tabs() {
223
-		$tabs = array(
224
-			'general' => array(
225
-				'title' => __( 'General', 'lsx-health-plan' ),
226
-				'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
227
-			),
228
-		);
217
+     /**
218
+      * Returns the tabs and their descriptions.
219
+      *
220
+      * @return array
221
+      */
222
+     public function get_settings_tabs() {
223
+          $tabs = array(
224
+               'general' => array(
225
+                    'title' => __( 'General', 'lsx-health-plan' ),
226
+                    'desc'  => __( 'Control the sitewide settings for the LSX HP site.', 'lsx-health-plan' ),
227
+               ),
228
+          );
229 229
 
230
-		foreach ( $this->post_types as $post_type ) {
231
-			switch ( $post_type ) {
232
-				case 'my-plans':
233
-					$page_url    = get_post_type_archive_link( 'plan' );
234
-					$description = sprintf(
235
-						/* translators: %s: The subscription info */
236
-						__( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> pages.', 'lsx-search' ),
237
-						$page_url,
238
-						__( 'plan', 'lsx-health-plan' )
239
-					);
240
-					$tabs[ $post_type ] = array(
241
-						'title' => __( 'My Plans', 'lsx-health-plan' ),
242
-						'desc'  => $description,
243
-					);
244
-					break;
245
-				default:
246
-					//if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
247
-						$temp_post_type = get_post_type_object( $post_type );
248
-						if ( ! is_wp_error( $temp_post_type ) ) {
249
-							$page_url    = get_post_type_archive_link( $temp_post_type->name );
250
-							$description = sprintf(
251
-								/* translators: %s: The subscription info */
252
-								__( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
253
-								$page_url,
254
-								$temp_post_type->label
255
-							);
230
+          foreach ( $this->post_types as $post_type ) {
231
+               switch ( $post_type ) {
232
+                    case 'my-plans':
233
+                         $page_url    = get_post_type_archive_link( 'plan' );
234
+                         $description = sprintf(
235
+                              /* translators: %s: The subscription info */
236
+                              __( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> pages.', 'lsx-search' ),
237
+                              $page_url,
238
+                              __( 'plan', 'lsx-health-plan' )
239
+                         );
240
+                         $tabs[ $post_type ] = array(
241
+                              'title' => __( 'My Plans', 'lsx-health-plan' ),
242
+                              'desc'  => $description,
243
+                         );
244
+                         break;
245
+                    default:
246
+                         //if ( ! in_array( $post_type, \lsx\search\includes\get_restricted_post_types() ) ) {
247
+                              $temp_post_type = get_post_type_object( $post_type );
248
+                              if ( ! is_wp_error( $temp_post_type ) ) {
249
+                                   $page_url    = get_post_type_archive_link( $temp_post_type->name );
250
+                                   $description = sprintf(
251
+                                        /* translators: %s: The subscription info */
252
+                                        __( 'Control the settings for your <a target="_blank" href="%1$s">%2$s</a> archive.', 'lsx-search' ),
253
+                                        $page_url,
254
+                                        $temp_post_type->label
255
+                                   );
256 256
 
257
-							$tabs[ $post_type ] = array(
258
-								'title' => $temp_post_type->label,
259
-								'desc'  => $description,
260
-							);
261
-						}
262
-					//}
263
-					break;
264
-			}
265
-		}
266
-		return $tabs;
267
-	}
257
+                                   $tabs[ $post_type ] = array(
258
+                                        'title' => $temp_post_type->label,
259
+                                        'desc'  => $description,
260
+                                   );
261
+                              }
262
+                         //}
263
+                         break;
264
+               }
265
+          }
266
+          return $tabs;
267
+     }
268 268
 }
Please login to merge, or discard this patch.
classes/admin/settings/class-meal.php 1 patch
Indentation   +134 added lines, -134 removed lines patch added patch discarded remove patch
@@ -12,146 +12,146 @@
 block discarded – undo
12 12
  */
13 13
 class Meal {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\Meal()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\Meal()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_meal_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_meal_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\Meal()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\Meal()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'name'        => __( 'Disable Meals', 'lsx-health-plan' ),
56
-				'id'          => 'meal_disabled',
57
-				'type'        => 'checkbox',
58
-				'value'       => 1,
59
-				'default'     => 0,
60
-				'description' => __( 'Disable meal post type if you are wanting a minimal site.', 'lsx-health-plan' ),
61
-			)
62
-		);
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'name'        => __( 'Disable Meals', 'lsx-health-plan' ),
56
+                    'id'          => 'meal_disabled',
57
+                    'type'        => 'checkbox',
58
+                    'value'       => 1,
59
+                    'default'     => 0,
60
+                    'description' => __( 'Disable meal post type if you are wanting a minimal site.', 'lsx-health-plan' ),
61
+               )
62
+          );
63 63
 
64
-		$cmb->add_field(
65
-			array(
66
-				'id'          => 'meal_archive_description',
67
-				'type'        => 'wysiwyg',
68
-				'name'        => __( 'Archive Description', 'lsx-health-plan' ),
69
-				'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
70
-				'options'     => array(
71
-					'textarea_rows' => get_option('default_post_edit_rows', 6),
72
-				),
73
-			)
74
-		);
64
+          $cmb->add_field(
65
+               array(
66
+                    'id'          => 'meal_archive_description',
67
+                    'type'        => 'wysiwyg',
68
+                    'name'        => __( 'Archive Description', 'lsx-health-plan' ),
69
+                    'description' => __( 'This will show up on the post type archive.', 'lsx-health-plan' ),
70
+                    'options'     => array(
71
+                         'textarea_rows' => get_option('default_post_edit_rows', 6),
72
+                    ),
73
+               )
74
+          );
75 75
 
76
-		$cmb->add_field(
77
-			array(
78
-				'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
79
-				'id'      => 'meal_plan_intro',
80
-				'type'    => 'textarea_small',
81
-				'value'   => '',
82
-				'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
83
-			)
84
-		);
76
+          $cmb->add_field(
77
+               array(
78
+                    'name'    => __( 'Your Meal Plan Intro', 'lsx-health-plan' ),
79
+                    'id'      => 'meal_plan_intro',
80
+                    'type'    => 'textarea_small',
81
+                    'value'   => '',
82
+                    'default' => __( 'Get the right mix of nutrients to keep muscles strong & healthy.', 'lsx-health-plan' ),
83
+               )
84
+          );
85 85
 
86
-		$cmb->add_field(
87
-			array(
88
-				'before_row' => '<h4><b><u>URL Slug Options</u></b></h4><p style="font-style: italic;">If you need to translate the custom slug for this custom post type, do so below.</p>',
89
-				'name'       =>  __( 'Meal Slug', 'lsx-health-plan' ),
90
-				'id'         => 'endpoint_meal',
91
-				'type'       => 'input',
92
-				'value'      => '',
93
-				'default'    => 'meal',
94
-			)
95
-		);
96
-		$cmb->add_field(
97
-			array(
98
-				'name'    =>  __( 'Meals Archive Slug', 'lsx-health-plan' ),
99
-				'id'      => 'endpoint_meal_archive',
100
-				'type'    => 'input',
101
-				'value'   => '',
102
-				'default' => 'meals',
103
-			)
104
-		);
105
-		$cmb->add_field(
106
-			array(
107
-				'name'    =>  __( 'Single Meal Slug', 'lsx-health-plan' ),
108
-				'id'      => 'meal_single_slug',
109
-				'type'    => 'input',
110
-				'value'   => '',
111
-				'default' => 'meal',
112
-			)
113
-		);
86
+          $cmb->add_field(
87
+               array(
88
+                    'before_row' => '<h4><b><u>URL Slug Options</u></b></h4><p style="font-style: italic;">If you need to translate the custom slug for this custom post type, do so below.</p>',
89
+                    'name'       =>  __( 'Meal Slug', 'lsx-health-plan' ),
90
+                    'id'         => 'endpoint_meal',
91
+                    'type'       => 'input',
92
+                    'value'      => '',
93
+                    'default'    => 'meal',
94
+               )
95
+          );
96
+          $cmb->add_field(
97
+               array(
98
+                    'name'    =>  __( 'Meals Archive Slug', 'lsx-health-plan' ),
99
+                    'id'      => 'endpoint_meal_archive',
100
+                    'type'    => 'input',
101
+                    'value'   => '',
102
+                    'default' => 'meals',
103
+               )
104
+          );
105
+          $cmb->add_field(
106
+               array(
107
+                    'name'    =>  __( 'Single Meal Slug', 'lsx-health-plan' ),
108
+                    'id'      => 'meal_single_slug',
109
+                    'type'    => 'input',
110
+                    'value'   => '',
111
+                    'default' => 'meal',
112
+               )
113
+          );
114 114
 
115
-		$cmb->add_field(
116
-			array(
117
-				'before_row'  => '<h4><b><u>Default Options</u></b></h4>',
118
-				'name'        => __( 'Default Meal Plan', 'lsx-health-plan' ),
119
-				'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
120
-				'limit'       => 1,
121
-				'id'          => 'connected_meals',
122
-				'type'        => 'post_search_ajax',
123
-				'query_args'  => array(
124
-					'post_type'      => 'meal',
125
-					'post_status'    => array( 'publish' ),
126
-					'posts_per_page' => -1,
127
-				),
128
-			)
129
-		);
130
-		if ( function_exists( 'download_monitor' ) ) {
131
-			$page_url    = 'https://wordpress.org/plugins/download-monitor/';
132
-			$plugin_name = 'Download Monitor';
133
-			$description = sprintf(
134
-				/* translators: %s: The subscription info */
135
-				__( 'If you are using <a target="_blank" href="%1$s">%2$s</a> you can set a default download file for your meal here.', 'lsx-search' ),
136
-				$page_url,
137
-				$plugin_name
138
-			);
139
-			$cmb->add_field(
140
-				array(
141
-					'name'        => __( 'Default Meal Plan PDF', 'lsx-health-plan' ),
142
-					'description' => $description,
143
-					'id'          => 'download_meal',
144
-					'type'        => 'post_search_ajax',
145
-					'limit'       => 1,
146
-					'query_args'  => array(
147
-						'post_type'      => array( 'dlm_download' ),
148
-						'post_status'    => array( 'publish' ),
149
-						'posts_per_page' => -1,
150
-					),
151
-					'after_row'   => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
152
-				)
153
-			);
154
-		}
155
-	}
115
+          $cmb->add_field(
116
+               array(
117
+                    'before_row'  => '<h4><b><u>Default Options</u></b></h4>',
118
+                    'name'        => __( 'Default Meal Plan', 'lsx-health-plan' ),
119
+                    'description' => __( 'Set a default meal plan.', 'lsx-health-plan' ),
120
+                    'limit'       => 1,
121
+                    'id'          => 'connected_meals',
122
+                    'type'        => 'post_search_ajax',
123
+                    'query_args'  => array(
124
+                         'post_type'      => 'meal',
125
+                         'post_status'    => array( 'publish' ),
126
+                         'posts_per_page' => -1,
127
+                    ),
128
+               )
129
+          );
130
+          if ( function_exists( 'download_monitor' ) ) {
131
+               $page_url    = 'https://wordpress.org/plugins/download-monitor/';
132
+               $plugin_name = 'Download Monitor';
133
+               $description = sprintf(
134
+                    /* translators: %s: The subscription info */
135
+                    __( 'If you are using <a target="_blank" href="%1$s">%2$s</a> you can set a default download file for your meal here.', 'lsx-search' ),
136
+                    $page_url,
137
+                    $plugin_name
138
+               );
139
+               $cmb->add_field(
140
+                    array(
141
+                         'name'        => __( 'Default Meal Plan PDF', 'lsx-health-plan' ),
142
+                         'description' => $description,
143
+                         'id'          => 'download_meal',
144
+                         'type'        => 'post_search_ajax',
145
+                         'limit'       => 1,
146
+                         'query_args'  => array(
147
+                              'post_type'      => array( 'dlm_download' ),
148
+                              'post_status'    => array( 'publish' ),
149
+                              'posts_per_page' => -1,
150
+                         ),
151
+                         'after_row'   => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
152
+                    )
153
+               );
154
+          }
155
+     }
156 156
 }
157 157
 Meal::get_instance();
Please login to merge, or discard this patch.
classes/admin/settings/class-my-plans.php 1 patch
Indentation   +154 added lines, -154 removed lines patch added patch discarded remove patch
@@ -12,167 +12,167 @@
 block discarded – undo
12 12
  */
13 13
 class Plan {
14 14
 
15
-	/**
16
-	 * Holds class instance
17
-	 *
18
-	 * @since 1.0.0
19
-	 *
20
-	 * @var      object \lsx_health_plan\classes\admin\My_Plans()
21
-	 */
22
-	protected static $instance = null;
15
+     /**
16
+      * Holds class instance
17
+      *
18
+      * @since 1.0.0
19
+      *
20
+      * @var      object \lsx_health_plan\classes\admin\My_Plans()
21
+      */
22
+     protected static $instance = null;
23 23
 
24
-	/**
25
-	 * Constructor
26
-	 */
27
-	public function __construct() {
28
-		add_action( 'lsx_hp_settings_page_my-plans_top', array( $this, 'settings' ), 1, 1 );
29
-	}
24
+     /**
25
+      * Constructor
26
+      */
27
+     public function __construct() {
28
+          add_action( 'lsx_hp_settings_page_my-plans_top', array( $this, 'settings' ), 1, 1 );
29
+     }
30 30
 
31
-	/**
32
-	 * Return an instance of this class.
33
-	 *
34
-	 * @since 1.0.0
35
-	 *
36
-	 * @return    object \lsx_health_plan\classes\admin\My_Plans()    A single instance of this class.
37
-	 */
38
-	public static function get_instance() {
39
-		// If the single instance hasn't been set, set it now.
40
-		if ( null === self::$instance ) {
41
-			self::$instance = new self();
42
-		}
43
-		return self::$instance;
44
-	}
31
+     /**
32
+      * Return an instance of this class.
33
+      *
34
+      * @since 1.0.0
35
+      *
36
+      * @return    object \lsx_health_plan\classes\admin\My_Plans()    A single instance of this class.
37
+      */
38
+     public static function get_instance() {
39
+          // If the single instance hasn't been set, set it now.
40
+          if ( null === self::$instance ) {
41
+               self::$instance = new self();
42
+          }
43
+          return self::$instance;
44
+     }
45 45
 
46
-	/**
47
-	 * Registers the general settings.
48
-	 *
49
-	 * @param object $cmb new_cmb2_box().
50
-	 * @return void
51
-	 */
52
-	public function settings( $cmb ) {
53
-		$cmb->add_field(
54
-			array(
55
-				'name'        => __( 'Plan Filters', 'lsx-health-plan' ),
56
-				'id'          => 'plan_filters_disabled',
57
-				'type'        => 'checkbox',
58
-				'value'       => 1,
59
-				'default'     => 0,
60
-				'description' => __( 'Toggle the display of the tab filters on the post type archive.', 'lsx-health-plan' ),
61
-			)
62
-		);
46
+     /**
47
+      * Registers the general settings.
48
+      *
49
+      * @param object $cmb new_cmb2_box().
50
+      * @return void
51
+      */
52
+     public function settings( $cmb ) {
53
+          $cmb->add_field(
54
+               array(
55
+                    'name'        => __( 'Plan Filters', 'lsx-health-plan' ),
56
+                    'id'          => 'plan_filters_disabled',
57
+                    'type'        => 'checkbox',
58
+                    'value'       => 1,
59
+                    'default'     => 0,
60
+                    'description' => __( 'Toggle the display of the tab filters on the post type archive.', 'lsx-health-plan' ),
61
+               )
62
+          );
63 63
 
64
-		$cmb->add_field(
65
-			array(
66
-				'before_row'  => '<h4><b><u>URL Slug Options</u></b></h4><p style="font-style: italic;">If you need to translate the custom slug for this custom post type, do so below.</p>',
67
-				'name'        =>  __( 'My Plan Slug', 'lsx-health-plan' ),
68
-				'description' => __( 'This will be the slug url for redirecting users after login, use the login page slug.', 'lsx-health-plan' ),
69
-				'id'          => 'my_plan_slug',
70
-				'type'        => 'select',
71
-				'default'     => 'my-plan',
72
-				'options'     => $this->get_page_options(),
73
-			)
74
-		);
64
+          $cmb->add_field(
65
+               array(
66
+                    'before_row'  => '<h4><b><u>URL Slug Options</u></b></h4><p style="font-style: italic;">If you need to translate the custom slug for this custom post type, do so below.</p>',
67
+                    'name'        =>  __( 'My Plan Slug', 'lsx-health-plan' ),
68
+                    'description' => __( 'This will be the slug url for redirecting users after login, use the login page slug.', 'lsx-health-plan' ),
69
+                    'id'          => 'my_plan_slug',
70
+                    'type'        => 'select',
71
+                    'default'     => 'my-plan',
72
+                    'options'     => $this->get_page_options(),
73
+               )
74
+          );
75 75
 
76
-		$cmb->add_field(
77
-			array(
78
-				'before_row'  => '<h4><b><u>Default Options</u></b></h4>',
79
-				'name'        => __( 'Recipe', 'lsx-health-plan' ),
80
-				'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
81
-				'limit'       => 1,
82
-				'id'          => 'connected_recipes',
83
-				'type'        => 'post_search_ajax',
84
-			)
85
-		);
76
+          $cmb->add_field(
77
+               array(
78
+                    'before_row'  => '<h4><b><u>Default Options</u></b></h4>',
79
+                    'name'        => __( 'Recipe', 'lsx-health-plan' ),
80
+                    'description' => __( 'Set a default recipe.', 'lsx-health-plan' ),
81
+                    'limit'       => 1,
82
+                    'id'          => 'connected_recipes',
83
+                    'type'        => 'post_search_ajax',
84
+               )
85
+          );
86 86
 
87
-		$cmb->add_field(
88
-			array(
89
-				'name'    =>  __( 'Single Plan Slug', 'lsx-health-plan' ),
90
-				'id'      => 'plan_single_slug',
91
-				'type'    => 'input',
92
-				'value'   => '',
93
-				'default' => 'plan',
94
-			)
95
-		);
96
-		$cmb->add_field(
97
-			array(
98
-				'name'    =>  __( 'Plans Archive Slug', 'lsx-health-plan' ),
99
-				'id'      => 'endpoint_plan_archive',
100
-				'type'    => 'input',
101
-				'value'   => '',
102
-				'default' => 'plans',
103
-			)
104
-		);
87
+          $cmb->add_field(
88
+               array(
89
+                    'name'    =>  __( 'Single Plan Slug', 'lsx-health-plan' ),
90
+                    'id'      => 'plan_single_slug',
91
+                    'type'    => 'input',
92
+                    'value'   => '',
93
+                    'default' => 'plan',
94
+               )
95
+          );
96
+          $cmb->add_field(
97
+               array(
98
+                    'name'    =>  __( 'Plans Archive Slug', 'lsx-health-plan' ),
99
+                    'id'      => 'endpoint_plan_archive',
100
+                    'type'    => 'input',
101
+                    'value'   => '',
102
+                    'default' => 'plans',
103
+               )
104
+          );
105 105
 
106
-		$cmb->add_field(
107
-			array(
108
-				'before_row' => '<h4><b><u>My Stats Options</u></b></h4>',
109
-				'name'       => __( 'Disable All Stats', 'lsx-health-plan' ),
110
-				'desc'       => 'Disable All Stats',
111
-				'id'         => 'disable_all_stats',
112
-				'type'       => 'checkbox',
113
-				'value'      => 1,
114
-				'default'    => 0,
115
-			)
116
-		);
117
-		$cmb->add_field(
118
-			array(
119
-				'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
120
-				'id'      => 'disable_weight_checkbox',
121
-				'type'    => 'checkbox',
122
-				'value'   => 1,
123
-				'default' => 0,
124
-			)
125
-		);
126
-		$cmb->add_field(
127
-			array(
128
-				'name'    => __( 'Disable Height', 'lsx-health-plan' ),
129
-				'id'      => 'disable_height_checkbox',
130
-				'type'    => 'checkbox',
131
-				'value'   => 1,
132
-				'default' => 0,
133
-			)
134
-		);
135
-		$cmb->add_field(
136
-			array(
137
-				'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
138
-				'id'      => 'disable_waist_checkbox',
139
-				'type'    => 'checkbox',
140
-				'value'   => 1,
141
-				'default' => 0,
142
-			)
143
-		);
144
-		$cmb->add_field(
145
-			array(
146
-				'name'      => __( 'Disable BMI', 'lsx-health-plan' ),
147
-				'id'        => 'disable_bmi_checkbox',
148
-				'type'      => 'checkbox',
149
-				'value'     => 1,
150
-				'default'   => 0,
151
-				'after_row' => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
152
-			)
153
-		);
154
-	}
106
+          $cmb->add_field(
107
+               array(
108
+                    'before_row' => '<h4><b><u>My Stats Options</u></b></h4>',
109
+                    'name'       => __( 'Disable All Stats', 'lsx-health-plan' ),
110
+                    'desc'       => 'Disable All Stats',
111
+                    'id'         => 'disable_all_stats',
112
+                    'type'       => 'checkbox',
113
+                    'value'      => 1,
114
+                    'default'    => 0,
115
+               )
116
+          );
117
+          $cmb->add_field(
118
+               array(
119
+                    'name'    => __( 'Disable Weight', 'lsx-health-plan' ),
120
+                    'id'      => 'disable_weight_checkbox',
121
+                    'type'    => 'checkbox',
122
+                    'value'   => 1,
123
+                    'default' => 0,
124
+               )
125
+          );
126
+          $cmb->add_field(
127
+               array(
128
+                    'name'    => __( 'Disable Height', 'lsx-health-plan' ),
129
+                    'id'      => 'disable_height_checkbox',
130
+                    'type'    => 'checkbox',
131
+                    'value'   => 1,
132
+                    'default' => 0,
133
+               )
134
+          );
135
+          $cmb->add_field(
136
+               array(
137
+                    'name'    => __( 'Disable Waist', 'lsx-health-plan' ),
138
+                    'id'      => 'disable_waist_checkbox',
139
+                    'type'    => 'checkbox',
140
+                    'value'   => 1,
141
+                    'default' => 0,
142
+               )
143
+          );
144
+          $cmb->add_field(
145
+               array(
146
+                    'name'      => __( 'Disable BMI', 'lsx-health-plan' ),
147
+                    'id'        => 'disable_bmi_checkbox',
148
+                    'type'      => 'checkbox',
149
+                    'value'     => 1,
150
+                    'default'   => 0,
151
+                    'after_row' => __( '<p style="font-style: italic;">If you have changed any URL slugs, please remember re-save your permalinks in Settings > Permalinks.</p>', 'lsx-health-plan' ),
152
+               )
153
+          );
154
+     }
155 155
 
156
-	public function get_page_options() {
157
-		$query_args = array(
158
-			'post_type'      => 'page',
159
-			'post_status'    => array( 'publish' ),
160
-			'posts_per_page' => -1,
161
-			'orderby'        => 'title',
162
-			'fields'         => array( 'ids' ),
163
-		);
164
-		$options = array(
165
-			'' => __( 'Select a page', 'lsx-health-plan' ),
166
-		);
167
-		$page_query = new \WP_Query( $query_args );
168
-		if ( $page_query->have_posts() ) {
169
-			foreach ( $page_query->posts as $pid ) {
170
-				$title       = get_the_title( $pid );
171
-				$key         = sanitize_title( $title );
172
-				$options[ $key ] = $title;
173
-			}
174
-		}
175
-		return $options;
176
-	}
156
+     public function get_page_options() {
157
+          $query_args = array(
158
+               'post_type'      => 'page',
159
+               'post_status'    => array( 'publish' ),
160
+               'posts_per_page' => -1,
161
+               'orderby'        => 'title',
162
+               'fields'         => array( 'ids' ),
163
+          );
164
+          $options = array(
165
+               '' => __( 'Select a page', 'lsx-health-plan' ),
166
+          );
167
+          $page_query = new \WP_Query( $query_args );
168
+          if ( $page_query->have_posts() ) {
169
+               foreach ( $page_query->posts as $pid ) {
170
+                    $title       = get_the_title( $pid );
171
+                    $key         = sanitize_title( $title );
172
+                    $options[ $key ] = $title;
173
+               }
174
+          }
175
+          return $options;
176
+     }
177 177
 }
178 178
 Plan::get_instance();
Please login to merge, or discard this patch.