Passed
Push — add/multiplan ( fba8be...cd32f6 )
by Virginia
04:34
created
classes/post-types/class-exercise.php 1 patch
Indentation   +419 added lines, -419 removed lines patch added patch discarded remove patch
@@ -8,424 +8,424 @@
 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'       => false,
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'    => 'text',
292
-				'default' => '1',
293
-			)
294
-		);
295
-
296
-		// Repeatable group.
297
-		$gallery_group = $cmb->add_field(
298
-			array(
299
-				'id'      => $this->slug . '_gallery',
300
-				'type'    => 'group',
301
-				'options' => array(
302
-					'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
303
-					'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
304
-					'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
305
-					'sortable'      => true,
306
-				),
307
-				'classes' => 'lsx-admin-row',
308
-			)
309
-		);
310
-
311
-		// Title.
312
-		$cmb->add_group_field(
313
-			$gallery_group,
314
-			array(
315
-				'name'       => __( 'Image', 'lsx-health-plan' ),
316
-				'id'         => $this->slug . '_gallery_image',
317
-				'type'       => 'file',
318
-				'text'       => array(
319
-					'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
320
-				),
321
-				'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
322
-				'query_args' => array(
323
-					'type' => array(
324
-						'image/gif',
325
-						'image/jpeg',
326
-						'image/png',
327
-					),
328
-				),
329
-				'preview_size' => 'lsx-thumbnail-wide',
330
-			)
331
-		);
332
-
333
-		// Title.
334
-		$cmb->add_group_field(
335
-			$gallery_group,
336
-			array(
337
-				'name'         => __( 'oEmbed', 'lsx-health-plan' ),
338
-				'id'           => $this->slug . '_gallery_embed',
339
-				'type'         => 'text',
340
-				'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' ),
341
-			)
342
-		);
343
-
344
-		$cmb->add_group_field(
345
-			$gallery_group,
346
-			array(
347
-				'name'         => __( 'External Media', 'lsx-health-plan' ),
348
-				'id'           => $this->slug . '_gallery_external',
349
-				'type'         => 'textarea_code',
350
-				'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' ),
351
-			)
352
-		);
353
-	}
354
-
355
-	/**
356
-	 * Registers the general settings for the exercise.
357
-	 *
358
-	 * @return void
359
-	 */
360
-	public function exercise_details() {
361
-		$cmb = new_cmb2_box(
362
-			array(
363
-				'id'           => $this->slug . '_general_details_metabox',
364
-				'title'        => __( 'Details', 'lsx-health-plan' ),
365
-				'object_types' => array( $this->slug ),
366
-				'context'      => 'normal',
367
-				'priority'     => 'high',
368
-				'show_names'   => true,
369
-			)
370
-		);
371
-
372
-		$cmb->add_field(
373
-			array(
374
-				'name'    => __( 'Side', 'lsx-health-plan' ),
375
-				'id'      => $this->slug . '_side',
376
-				'type'    => 'select',
377
-				'options' => array(
378
-					''      => __( 'Select', 'lsx-health-plan' ),
379
-					'left'  => __( 'Left', 'lsx-health-plan' ),
380
-					'right' => __( 'Right', 'lsx-health-plan' ),
381
-				),
382
-				'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
383
-			)
384
-		);
385
-	}
386
-
387
-	/**
388
-	 * Holds the array for the single exercise breadcrumbs.
389
-	 *
390
-	 * @var array $crumbs
391
-	 * @return array
392
-	 */
393
-	public function exercise_breadcrumb_filter( $crumbs ) {
394
-		$exercise  = \lsx_health_plan\functions\get_option( 'endpoint_exercise', 'exercise' );
395
-		$exercises = \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercise' );
396
-		$url       = get_post_type_archive_link( $exercise );
397
-
398
-		if ( is_singular( 'exercise' ) ) {
399
-			$exercise_name     = get_the_title();	
400
-			$term_obj_list     = get_the_terms( get_the_ID(), 'exercise-type' );
401
-			$exercise_type     = $term_obj_list[0]->name;
402
-			$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'       => false,
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'    => 'text',
292
+                    'default' => '1',
293
+               )
294
+          );
295
+
296
+          // Repeatable group.
297
+          $gallery_group = $cmb->add_field(
298
+               array(
299
+                    'id'      => $this->slug . '_gallery',
300
+                    'type'    => 'group',
301
+                    'options' => array(
302
+                         'group_title'   => __( 'Gallery', 'lsx-health-plan' ) . ' {#}', // {#} gets replaced by row number
303
+                         'add_button'    => __( 'Add Item', 'lsx-health-plan' ),
304
+                         'remove_button' => __( 'Remove Item', 'lsx-health-plan' ),
305
+                         'sortable'      => true,
306
+                    ),
307
+                    'classes' => 'lsx-admin-row',
308
+               )
309
+          );
310
+
311
+          // Title.
312
+          $cmb->add_group_field(
313
+               $gallery_group,
314
+               array(
315
+                    'name'       => __( 'Image', 'lsx-health-plan' ),
316
+                    'id'         => $this->slug . '_gallery_image',
317
+                    'type'       => 'file',
318
+                    'text'       => array(
319
+                         'add_upload_file_text' => __( 'Add File', 'lsx-health-plan' ),
320
+                    ),
321
+                    'desc'       => __( 'Upload an image a minimum of 800px x 600px in size.', 'lsx-health-plan' ),
322
+                    'query_args' => array(
323
+                         'type' => array(
324
+                              'image/gif',
325
+                              'image/jpeg',
326
+                              'image/png',
327
+                         ),
328
+                    ),
329
+                    'preview_size' => 'lsx-thumbnail-wide',
330
+               )
331
+          );
332
+
333
+          // Title.
334
+          $cmb->add_group_field(
335
+               $gallery_group,
336
+               array(
337
+                    'name'         => __( 'oEmbed', 'lsx-health-plan' ),
338
+                    'id'           => $this->slug . '_gallery_embed',
339
+                    'type'         => 'text',
340
+                    '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' ),
341
+               )
342
+          );
343
+
344
+          $cmb->add_group_field(
345
+               $gallery_group,
346
+               array(
347
+                    'name'         => __( 'External Media', 'lsx-health-plan' ),
348
+                    'id'           => $this->slug . '_gallery_external',
349
+                    'type'         => 'textarea_code',
350
+                    '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' ),
351
+               )
352
+          );
353
+     }
354
+
355
+     /**
356
+      * Registers the general settings for the exercise.
357
+      *
358
+      * @return void
359
+      */
360
+     public function exercise_details() {
361
+          $cmb = new_cmb2_box(
362
+               array(
363
+                    'id'           => $this->slug . '_general_details_metabox',
364
+                    'title'        => __( 'Details', 'lsx-health-plan' ),
365
+                    'object_types' => array( $this->slug ),
366
+                    'context'      => 'normal',
367
+                    'priority'     => 'high',
368
+                    'show_names'   => true,
369
+               )
370
+          );
371
+
372
+          $cmb->add_field(
373
+               array(
374
+                    'name'    => __( 'Side', 'lsx-health-plan' ),
375
+                    'id'      => $this->slug . '_side',
376
+                    'type'    => 'select',
377
+                    'options' => array(
378
+                         ''      => __( 'Select', 'lsx-health-plan' ),
379
+                         'left'  => __( 'Left', 'lsx-health-plan' ),
380
+                         'right' => __( 'Right', 'lsx-health-plan' ),
381
+                    ),
382
+                    'desc'    => __( 'Select which side this exercise uses. ', 'lsx-health-plan' ),
383
+               )
384
+          );
385
+     }
386
+
387
+     /**
388
+      * Holds the array for the single exercise breadcrumbs.
389
+      *
390
+      * @var array $crumbs
391
+      * @return array
392
+      */
393
+     public function exercise_breadcrumb_filter( $crumbs ) {
394
+          $exercise  = \lsx_health_plan\functions\get_option( 'endpoint_exercise', 'exercise' );
395
+          $exercises = \lsx_health_plan\functions\get_option( 'endpoint_exercise_archive', 'exercise' );
396
+          $url       = get_post_type_archive_link( $exercise );
397
+
398
+          if ( is_singular( 'exercise' ) ) {
399
+               $exercise_name     = get_the_title();	
400
+               $term_obj_list     = get_the_terms( get_the_ID(), 'exercise-type' );
401
+               $exercise_type     = $term_obj_list[0]->name;
402
+               $exercise_type_url = get_term_link( $term_obj_list[0]->term_id );
403 403
 		
404
-			$crumbs[1] = array(
405
-				0 => $exercises,
406
-				1 => $url,
407
-			);
408
-			$crumbs[2] = array(
409
-				0 => $exercise_type,
410
-				1 => $exercise_type_url,
411
-			);
412
-			$crumbs[3] = array(
413
-				0 => $exercise_name,
414
-			);
415
-		}
416
-		if ( is_tax( 'exercise-type' ) || is_tax( 'muscle-group' ) || is_tax( 'equipment' ) ) {
417
-			$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
418
-
419
-			$single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
420
-
421
-			$crumbs[1] = array(
422
-				0 => $exercises,
423
-				1 => $url,
424
-			);
425
-			$crumbs[2] = array(
426
-				0 => $single_term_title,
427
-			);
428
-		}
429
-		return $crumbs;
430
-	}
404
+               $crumbs[1] = array(
405
+                    0 => $exercises,
406
+                    1 => $url,
407
+               );
408
+               $crumbs[2] = array(
409
+                    0 => $exercise_type,
410
+                    1 => $exercise_type_url,
411
+               );
412
+               $crumbs[3] = array(
413
+                    0 => $exercise_name,
414
+               );
415
+          }
416
+          if ( is_tax( 'exercise-type' ) || is_tax( 'muscle-group' ) || is_tax( 'equipment' ) ) {
417
+               $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
418
+
419
+               $single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
420
+
421
+               $crumbs[1] = array(
422
+                    0 => $exercises,
423
+                    1 => $url,
424
+               );
425
+               $crumbs[2] = array(
426
+                    0 => $single_term_title,
427
+               );
428
+          }
429
+          return $crumbs;
430
+     }
431 431
 }
Please login to merge, or discard this patch.
classes/post-types/class-recipe.php 1 patch
Indentation   +410 added lines, -410 removed lines patch added patch discarded remove patch
@@ -8,245 +8,245 @@  discard block
 block discarded – undo
8 8
  */
9 9
 class Recipe {
10 10
 
11
-	/**
12
-	 * Holds class instance
13
-	 *
14
-	 * @since 1.0.0
15
-	 *
16
-	 * @var      object \lsx_health_plan\classes\Recipe()
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\Recipe()
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 = 'recipe';
20
+     /**
21
+      * Holds post_type slug used as an index
22
+      *
23
+      * @since 1.0.0
24
+      *
25
+      * @var      string
26
+      */
27
+     public $slug = 'recipe';
28 28
 
29
-	/**
30
-	 * Holds post_type labels
31
-	 *
32
-	 * @since 1.0.0
33
-	 *
34
-	 * @var      string
35
-	 */
36
-	public $labels = array();
29
+     /**
30
+      * Holds post_type labels
31
+      *
32
+      * @since 1.0.0
33
+      *
34
+      * @var      string
35
+      */
36
+     public $labels = array();
37 37
 
38
-	/**
39
-	 * Constructor
40
-	 */
41
-	public function __construct() {
42
-		add_action( 'init', array( $this, 'register_post_type' ) );
43
-		add_action( 'init', array( $this, 'taxonomy_setup' ) );
44
-		add_action( 'admin_menu', array( $this, 'register_menus' ) );
38
+     /**
39
+      * Constructor
40
+      */
41
+     public function __construct() {
42
+          add_action( 'init', array( $this, 'register_post_type' ) );
43
+          add_action( 'init', array( $this, 'taxonomy_setup' ) );
44
+          add_action( 'admin_menu', array( $this, 'register_menus' ) );
45 45
 
46
-		// Frontend Actions and Filters.
47
-		add_action( 'wp_head', array( $this, 'remove_archive_original_header' ), 99 );
48
-		add_action( 'lsx_content_wrap_before', array( $this, 'hp_lsx_archive_header' ) );
46
+          // Frontend Actions and Filters.
47
+          add_action( 'wp_head', array( $this, 'remove_archive_original_header' ), 99 );
48
+          add_action( 'lsx_content_wrap_before', array( $this, 'hp_lsx_archive_header' ) );
49 49
 
50
-		add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
51
-		add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
52
-		add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
53
-		add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 );
54
-		add_filter( 'lsx_display_global_header_description', array( $this, 'disable_global_header_description' ), 100 );
55
-		add_filter( 'woocommerce_get_breadcrumb', array( $this, 'recipes_breadcrumb_filter' ), 30, 1 );
50
+          add_filter( 'lsx_health_plan_archive_template', array( $this, 'enable_post_type' ), 10, 1 );
51
+          add_filter( 'lsx_health_plan_single_template', array( $this, 'enable_post_type' ), 10, 1 );
52
+          add_filter( 'lsx_health_plan_connections', array( $this, 'enable_connections' ), 10, 1 );
53
+          add_filter( 'get_the_archive_title', array( $this, 'get_the_archive_title' ), 100 );
54
+          add_filter( 'lsx_display_global_header_description', array( $this, 'disable_global_header_description' ), 100 );
55
+          add_filter( 'woocommerce_get_breadcrumb', array( $this, 'recipes_breadcrumb_filter' ), 30, 1 );
56 56
 
57
-		// Backend Actions and Filters.
58
-		add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ) );
59
-		add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
60
-	}
57
+          // Backend Actions and Filters.
58
+          add_action( 'cmb2_admin_init', array( $this, 'featured_metabox' ) );
59
+          add_action( 'cmb2_admin_init', array( $this, 'details_metaboxes' ) );
60
+     }
61 61
 
62
-	/**
63
-	 * Return an instance of this class.
64
-	 *
65
-	 * @since 1.0.0
66
-	 *
67
-	 * @return    object \lsx_health_plan\classes\Recipe()    A single instance of this class.
68
-	 */
69
-	public static function get_instance() {
62
+     /**
63
+      * Return an instance of this class.
64
+      *
65
+      * @since 1.0.0
66
+      *
67
+      * @return    object \lsx_health_plan\classes\Recipe()    A single instance of this class.
68
+      */
69
+     public static function get_instance() {
70 70
 
71
-		// If the single instance hasn't been set, set it now.
72
-		if ( null === self::$instance ) {
73
-			self::$instance = new self();
74
-		}
71
+          // If the single instance hasn't been set, set it now.
72
+          if ( null === self::$instance ) {
73
+               self::$instance = new self();
74
+          }
75 75
 
76
-		return self::$instance;
76
+          return self::$instance;
77 77
 
78
-	}
78
+     }
79 79
 
80
-	/**
81
-	 * Register the post type.
82
-	 */
83
-	public function register_post_type() {
84
-		$this->labels = array(
85
-			'name'               => esc_html__( 'Recipes', 'lsx-health-plan' ),
86
-			'singular_name'      => esc_html__( 'Recipe', 'lsx-health-plan' ),
87
-			'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
88
-			'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
89
-			'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
90
-			'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
91
-			'all_items'          => esc_html__( 'All Recipes', 'lsx-health-plan' ),
92
-			'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
93
-			'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
94
-			'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
95
-			'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
96
-			'parent_item_colon'  => '',
97
-			'menu_name'          => esc_html__( 'Recipes', 'lsx-health-plan' ),
98
-		);
99
-		$args         = array(
100
-			'labels'             => $this->labels,
101
-			'public'             => true,
102
-			'publicly_queryable' => true,
103
-			'show_ui'            => true,
104
-			'show_in_menu'       => false,
105
-			'show_in_rest'       => true,
106
-			'menu_icon'          => 'dashicons-editor-ul',
107
-			'query_var'          => true,
108
-			'rewrite'            => array(
109
-				'slug' => 'recipe',
110
-			),
111
-			'capability_type'    => 'post',
112
-			'has_archive'        => 'recipes',
113
-			'hierarchical'       => false,
114
-			'menu_position'      => null,
115
-			'supports'           => array(
116
-				'title',
117
-				'editor',
118
-				'thumbnail',
119
-				'custom-fields',
120
-			),
121
-		);
122
-		register_post_type( 'recipe', $args );
123
-	}
80
+     /**
81
+      * Register the post type.
82
+      */
83
+     public function register_post_type() {
84
+          $this->labels = array(
85
+               'name'               => esc_html__( 'Recipes', 'lsx-health-plan' ),
86
+               'singular_name'      => esc_html__( 'Recipe', 'lsx-health-plan' ),
87
+               'add_new'            => esc_html_x( 'Add New', 'post type general name', 'lsx-health-plan' ),
88
+               'add_new_item'       => esc_html__( 'Add New', 'lsx-health-plan' ),
89
+               'edit_item'          => esc_html__( 'Edit', 'lsx-health-plan' ),
90
+               'new_item'           => esc_html__( 'New', 'lsx-health-plan' ),
91
+               'all_items'          => esc_html__( 'All Recipes', 'lsx-health-plan' ),
92
+               'view_item'          => esc_html__( 'View', 'lsx-health-plan' ),
93
+               'search_items'       => esc_html__( 'Search', 'lsx-health-plan' ),
94
+               'not_found'          => esc_html__( 'None found', 'lsx-health-plan' ),
95
+               'not_found_in_trash' => esc_html__( 'None found in Trash', 'lsx-health-plan' ),
96
+               'parent_item_colon'  => '',
97
+               'menu_name'          => esc_html__( 'Recipes', 'lsx-health-plan' ),
98
+          );
99
+          $args         = array(
100
+               'labels'             => $this->labels,
101
+               'public'             => true,
102
+               'publicly_queryable' => true,
103
+               'show_ui'            => true,
104
+               'show_in_menu'       => false,
105
+               'show_in_rest'       => true,
106
+               'menu_icon'          => 'dashicons-editor-ul',
107
+               'query_var'          => true,
108
+               'rewrite'            => array(
109
+                    'slug' => 'recipe',
110
+               ),
111
+               'capability_type'    => 'post',
112
+               'has_archive'        => 'recipes',
113
+               'hierarchical'       => false,
114
+               'menu_position'      => null,
115
+               'supports'           => array(
116
+                    'title',
117
+                    'editor',
118
+                    'thumbnail',
119
+                    'custom-fields',
120
+               ),
121
+          );
122
+          register_post_type( 'recipe', $args );
123
+     }
124 124
 
125
-	/**
126
-	 * Registers the Recipes under the Meals Post type menu.
127
-	 *
128
-	 * @return void
129
-	 */
130
-	public function register_menus() {
131
-		add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Recipes', 'lsx-health-plan' ), esc_html__( 'Recipes', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=recipe' );
132
-		add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Recipe Types', 'lsx-health-plan' ), esc_html__( 'Recipe Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=recipe-type&post_type=recipe' );
133
-		add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Cuisines', 'lsx-health-plan' ), esc_html__( 'Cuisines', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=recipe-cuisine&post_type=recipe' );
134
-	}
125
+     /**
126
+      * Registers the Recipes under the Meals Post type menu.
127
+      *
128
+      * @return void
129
+      */
130
+     public function register_menus() {
131
+          add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Recipes', 'lsx-health-plan' ), esc_html__( 'Recipes', 'lsx-health-plan' ), 'edit_posts', 'edit.php?post_type=recipe' );
132
+          add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Recipe Types', 'lsx-health-plan' ), esc_html__( 'Recipe Types', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=recipe-type&post_type=recipe' );
133
+          add_submenu_page( 'edit.php?post_type=meal', esc_html__( 'Cuisines', 'lsx-health-plan' ), esc_html__( 'Cuisines', 'lsx-health-plan' ), 'edit_posts', 'edit-tags.php?taxonomy=recipe-cuisine&post_type=recipe' );
134
+     }
135 135
 
136
-	/**
137
-	 * Register the Week taxonomy.
138
-	 */
139
-	public function taxonomy_setup() {
140
-		$labels = array(
141
-			'name'              => esc_html_x( 'Cuisine', 'taxonomy general name', 'lsx-health-plan' ),
142
-			'singular_name'     => esc_html_x( 'Cuisines', 'taxonomy singular name', 'lsx-health-plan' ),
143
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
144
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
145
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
146
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
147
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
148
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
149
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
150
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
151
-			'menu_name'         => esc_html__( 'Cuisines', 'lsx-health-plan' ),
152
-		);
153
-		$args   = array(
154
-			'hierarchical'      => true,
155
-			'labels'            => $labels,
156
-			'show_ui'           => true,
157
-			'show_admin_column' => true,
158
-			'show_in_menu'      => 'edit.php?post_type=meal',
159
-			'query_var'         => true,
160
-			'rewrite'           => array(
161
-				'slug' => 'recipe-cuisine',
162
-			),
163
-		);
164
-		register_taxonomy( 'recipe-cuisine', array( $this->slug ), $args );
136
+     /**
137
+      * Register the Week taxonomy.
138
+      */
139
+     public function taxonomy_setup() {
140
+          $labels = array(
141
+               'name'              => esc_html_x( 'Cuisine', 'taxonomy general name', 'lsx-health-plan' ),
142
+               'singular_name'     => esc_html_x( 'Cuisines', 'taxonomy singular name', 'lsx-health-plan' ),
143
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
144
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
145
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
146
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
147
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
148
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
149
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
150
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
151
+               'menu_name'         => esc_html__( 'Cuisines', 'lsx-health-plan' ),
152
+          );
153
+          $args   = array(
154
+               'hierarchical'      => true,
155
+               'labels'            => $labels,
156
+               'show_ui'           => true,
157
+               'show_admin_column' => true,
158
+               'show_in_menu'      => 'edit.php?post_type=meal',
159
+               'query_var'         => true,
160
+               'rewrite'           => array(
161
+                    'slug' => 'recipe-cuisine',
162
+               ),
163
+          );
164
+          register_taxonomy( 'recipe-cuisine', array( $this->slug ), $args );
165 165
 
166
-		$labels = array(
167
-			'name'              => esc_html_x( 'Recipe Type', 'taxonomy general name', 'lsx-health-plan' ),
168
-			'singular_name'     => esc_html_x( 'Recipe Types', 'taxonomy singular name', 'lsx-health-plan' ),
169
-			'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
170
-			'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
171
-			'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
172
-			'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
173
-			'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
174
-			'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
175
-			'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
176
-			'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
177
-			'menu_name'         => esc_html__( 'Types', 'lsx-health-plan' ),
178
-		);
179
-		$args   = array(
180
-			'hierarchical'      => true,
181
-			'labels'            => $labels,
182
-			'show_ui'           => true,
183
-			'show_in_menu'      => 'edit.php?post_type=meal',
184
-			'show_admin_column' => true,
185
-			'query_var'         => true,
186
-			'rewrite'           => array(
187
-				'slug' => 'recipe-type',
188
-			),
189
-		);
190
-		register_taxonomy( 'recipe-type', array( $this->slug ), $args );
191
-	}
166
+          $labels = array(
167
+               'name'              => esc_html_x( 'Recipe Type', 'taxonomy general name', 'lsx-health-plan' ),
168
+               'singular_name'     => esc_html_x( 'Recipe Types', 'taxonomy singular name', 'lsx-health-plan' ),
169
+               'search_items'      => esc_html__( 'Search', 'lsx-health-plan' ),
170
+               'all_items'         => esc_html__( 'All', 'lsx-health-plan' ),
171
+               'parent_item'       => esc_html__( 'Parent', 'lsx-health-plan' ),
172
+               'parent_item_colon' => esc_html__( 'Parent:', 'lsx-health-plan' ),
173
+               'edit_item'         => esc_html__( 'Edit', 'lsx-health-plan' ),
174
+               'update_item'       => esc_html__( 'Update', 'lsx-health-plan' ),
175
+               'add_new_item'      => esc_html__( 'Add New', 'lsx-health-plan' ),
176
+               'new_item_name'     => esc_html__( 'New Name', 'lsx-health-plan' ),
177
+               'menu_name'         => esc_html__( 'Types', 'lsx-health-plan' ),
178
+          );
179
+          $args   = array(
180
+               'hierarchical'      => true,
181
+               'labels'            => $labels,
182
+               'show_ui'           => true,
183
+               'show_in_menu'      => 'edit.php?post_type=meal',
184
+               'show_admin_column' => true,
185
+               'query_var'         => true,
186
+               'rewrite'           => array(
187
+                    'slug' => 'recipe-type',
188
+               ),
189
+          );
190
+          register_taxonomy( 'recipe-type', array( $this->slug ), $args );
191
+     }
192 192
 
193
-	/**
194
-	 * Adds the post type to the different arrays.
195
-	 *
196
-	 * @param array $post_types
197
-	 * @return array
198
-	 */
199
-	public function enable_post_type( $post_types = array() ) {
200
-		$post_types[] = $this->slug;
201
-		return $post_types;
202
-	}
193
+     /**
194
+      * Adds the post type to the different arrays.
195
+      *
196
+      * @param array $post_types
197
+      * @return array
198
+      */
199
+     public function enable_post_type( $post_types = array() ) {
200
+          $post_types[] = $this->slug;
201
+          return $post_types;
202
+     }
203 203
 
204
-	/**
205
-	 * Enables the Bi Directional relationships
206
-	 *
207
-	 * @param array $connections
208
-	 * @return void
209
-	 */
210
-	public function enable_connections( $connections = array() ) {
211
-		$connections['recipe']['connected_plans'] = 'connected_recipes';
212
-		$connections['plan']['connected_recipes'] = 'connected_plans';
213
-		return $connections;
214
-	}
204
+     /**
205
+      * Enables the Bi Directional relationships
206
+      *
207
+      * @param array $connections
208
+      * @return void
209
+      */
210
+     public function enable_connections( $connections = array() ) {
211
+          $connections['recipe']['connected_plans'] = 'connected_recipes';
212
+          $connections['plan']['connected_recipes'] = 'connected_plans';
213
+          return $connections;
214
+     }
215 215
 
216
-	/**
217
-	 * Remove the "Archives:" from the post type recipes.
218
-	 *
219
-	 * @param string $title the term title.
220
-	 * @return string
221
-	 */
222
-	public function get_the_archive_title( $title ) {
223
-		if ( is_post_type_archive( 'recipe' ) ) {
224
-			$title = __( 'Recipes', 'lsx-health-plan' );
225
-		}
226
-		if ( is_post_type_archive( 'exercise' ) ) {
227
-			$title = __( 'Exercises', 'lsx-health-plan' );
228
-		}
229
-		if ( is_tax( 'recipe-type' ) ) {
230
-			$queried_object = get_queried_object();
231
-			if ( isset( $queried_object->name ) ) {
232
-				$title = $queried_object->name . ' ' . __( 'Recipes', 'lsx-health-plan' );
233
-			}
234
-		}
235
-		return $title;
236
-	}
216
+     /**
217
+      * Remove the "Archives:" from the post type recipes.
218
+      *
219
+      * @param string $title the term title.
220
+      * @return string
221
+      */
222
+     public function get_the_archive_title( $title ) {
223
+          if ( is_post_type_archive( 'recipe' ) ) {
224
+               $title = __( 'Recipes', 'lsx-health-plan' );
225
+          }
226
+          if ( is_post_type_archive( 'exercise' ) ) {
227
+               $title = __( 'Exercises', 'lsx-health-plan' );
228
+          }
229
+          if ( is_tax( 'recipe-type' ) ) {
230
+               $queried_object = get_queried_object();
231
+               if ( isset( $queried_object->name ) ) {
232
+                    $title = $queried_object->name . ' ' . __( 'Recipes', 'lsx-health-plan' );
233
+               }
234
+          }
235
+          return $title;
236
+     }
237 237
 
238
-	public function remove_archive_original_header() {
239
-		if ( is_post_type_archive( 'recipe' ) || is_post_type_archive( 'exercise' ) ) {
240
-			remove_action( 'lsx_content_wrap_before', 'lsx_global_header' );
241
-		}
242
-		if ( ! is_post_type_archive() ) {
243
-			add_action( 'lsx_content_wrap_before', 'lsx_health_plan_recipe_archive_description', 11 );
244
-		}
245
-	}
238
+     public function remove_archive_original_header() {
239
+          if ( is_post_type_archive( 'recipe' ) || is_post_type_archive( 'exercise' ) ) {
240
+               remove_action( 'lsx_content_wrap_before', 'lsx_global_header' );
241
+          }
242
+          if ( ! is_post_type_archive() ) {
243
+               add_action( 'lsx_content_wrap_before', 'lsx_health_plan_recipe_archive_description', 11 );
244
+          }
245
+     }
246 246
 
247
-	public function hp_lsx_archive_header() {
248
-		if ( is_post_type_archive( 'recipe' ) || is_post_type_archive( 'exercise' ) ) {
249
-		?>
247
+     public function hp_lsx_archive_header() {
248
+          if ( is_post_type_archive( 'recipe' ) || is_post_type_archive( 'exercise' ) ) {
249
+          ?>
250 250
 			<div class="archive-header-wrapper banner-archive">
251 251
 				<?php lsx_global_header_inner_bottom(); ?>
252 252
 				<header class="archive-header">
@@ -259,205 +259,205 @@  discard block
 block discarded – undo
259 259
 					</h1>
260 260
 
261 261
 					<?php
262
-					lsx_health_plan_recipe_archive_description();
263
-					?>
262
+                         lsx_health_plan_recipe_archive_description();
263
+                         ?>
264 264
 				</header>
265 265
 			</div>
266 266
 		<?php
267
-		}
268
-	}
267
+          }
268
+     }
269 269
 
270
-	/**
271
-	 * Disables the global header description
272
-	 *
273
-	 * @param boolean $disable
274
-	 * @return boolean
275
-	 */
276
-	public function disable_global_header_description( $disable ) {
277
-		if ( is_tax( 'recipe-type' ) ) {
278
-			$disable = true;
279
-		}
280
-		return $disable;
281
-	}
270
+     /**
271
+      * Disables the global header description
272
+      *
273
+      * @param boolean $disable
274
+      * @return boolean
275
+      */
276
+     public function disable_global_header_description( $disable ) {
277
+          if ( is_tax( 'recipe-type' ) ) {
278
+               $disable = true;
279
+          }
280
+          return $disable;
281
+     }
282 282
 
283
-	/**
284
-	 * Holds the array for the breadcrumbs.
285
-	 *
286
-	 * @var array $crumbs
287
-	 * @return array
288
-	 */
289
-	public function recipes_breadcrumb_filter( $crumbs ) {
290
-		$recipe  = \lsx_health_plan\functions\get_option( 'endpoint_recipe', 'recipe' );
291
-		$recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe_archive', 'recipes' );
292
-		$url     = get_post_type_archive_link( 'recipe' );
283
+     /**
284
+      * Holds the array for the breadcrumbs.
285
+      *
286
+      * @var array $crumbs
287
+      * @return array
288
+      */
289
+     public function recipes_breadcrumb_filter( $crumbs ) {
290
+          $recipe  = \lsx_health_plan\functions\get_option( 'endpoint_recipe', 'recipe' );
291
+          $recipes = \lsx_health_plan\functions\get_option( 'endpoint_recipe_archive', 'recipes' );
292
+          $url     = get_post_type_archive_link( 'recipe' );
293 293
 
294
-		if ( is_singular( 'recipe' ) ) {
295
-			$recipe_name     = get_the_title();
296
-			$term_obj_list   = get_the_terms( get_the_ID(), 'recipe-type' );
297
-			$recipe_type     = $term_obj_list[0]->name;
298
-			$recipe_type_url = get_term_link( $term_obj_list[0]->term_id );
294
+          if ( is_singular( 'recipe' ) ) {
295
+               $recipe_name     = get_the_title();
296
+               $term_obj_list   = get_the_terms( get_the_ID(), 'recipe-type' );
297
+               $recipe_type     = $term_obj_list[0]->name;
298
+               $recipe_type_url = get_term_link( $term_obj_list[0]->term_id );
299 299
 		
300
-			$crumbs[1] = array(
301
-				0 => $recipes,
302
-				1 => $url,
303
-			);
304
-			$crumbs[2] = array(
305
-				0 => $recipe_type,
306
-				1 => $recipe_type_url,
307
-			);
308
-			$crumbs[3] = array(
309
-				0 => $recipe_name,
310
-			);
311
-		}
312
-		if ( is_tax( 'recipe-type' ) || is_tax( 'recipe-cuisine' ) ) {
313
-			$term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
300
+               $crumbs[1] = array(
301
+                    0 => $recipes,
302
+                    1 => $url,
303
+               );
304
+               $crumbs[2] = array(
305
+                    0 => $recipe_type,
306
+                    1 => $recipe_type_url,
307
+               );
308
+               $crumbs[3] = array(
309
+                    0 => $recipe_name,
310
+               );
311
+          }
312
+          if ( is_tax( 'recipe-type' ) || is_tax( 'recipe-cuisine' ) ) {
313
+               $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); 
314 314
 
315
-			$single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
315
+               $single_term_title = str_replace( '-', ' ', $term->taxonomy ) . ': ' . $term->name;
316 316
 
317
-			$crumbs[1] = array(
318
-				0 => $recipes,
319
-				1 => $url,
320
-			);
321
-			$crumbs[2] = array(
322
-				0 => $single_term_title,
323
-			);
324
-		}
325
-		return $crumbs;
326
-	}
317
+               $crumbs[1] = array(
318
+                    0 => $recipes,
319
+                    1 => $url,
320
+               );
321
+               $crumbs[2] = array(
322
+                    0 => $single_term_title,
323
+               );
324
+          }
325
+          return $crumbs;
326
+     }
327 327
 
328
-	/**
329
-	 * Define the metabox and field configurations.
330
-	 */
331
-	public function featured_metabox() {
332
-		$cmb = new_cmb2_box(
333
-			array(
334
-				'id'           => $this->slug . '_featured_metabox',
335
-				'title'        => __( 'Featured', 'lsx-health-plan' ),
336
-				'object_types' => array( $this->slug ),
337
-				'context'      => 'side',
338
-				'priority'     => 'high',
339
-				'show_names'   => true,
340
-			)
341
-		);
342
-		$cmb->add_field(
343
-			array(
344
-				'name'       => __( 'Featured', 'lsx-health-plan' ),
345
-				'desc'       => __( 'Enable the checkbox to feature this recipe, featured recipes display in any page that has the recipe shortcode: [lsx_health_plan_featured_recipes_block]', 'lsx-health-plan' ),
346
-				'id'         => $this->slug . '_featured',
347
-				'type'       => 'checkbox',
348
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
349
-			)
350
-		);
351
-	}
328
+     /**
329
+      * Define the metabox and field configurations.
330
+      */
331
+     public function featured_metabox() {
332
+          $cmb = new_cmb2_box(
333
+               array(
334
+                    'id'           => $this->slug . '_featured_metabox',
335
+                    'title'        => __( 'Featured', 'lsx-health-plan' ),
336
+                    'object_types' => array( $this->slug ),
337
+                    'context'      => 'side',
338
+                    'priority'     => 'high',
339
+                    'show_names'   => true,
340
+               )
341
+          );
342
+          $cmb->add_field(
343
+               array(
344
+                    'name'       => __( 'Featured', 'lsx-health-plan' ),
345
+                    'desc'       => __( 'Enable the checkbox to feature this recipe, featured recipes display in any page that has the recipe shortcode: [lsx_health_plan_featured_recipes_block]', 'lsx-health-plan' ),
346
+                    'id'         => $this->slug . '_featured',
347
+                    'type'       => 'checkbox',
348
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
349
+               )
350
+          );
351
+     }
352 352
 
353
-	/**
354
-	 * Define the metabox and field configurations.
355
-	 */
356
-	public function details_metaboxes() {
357
-		$cmb = new_cmb2_box(
358
-			array(
359
-				'id'           => $this->slug . '_details_metabox',
360
-				'title'        => __( 'Cooking Info', 'lsx-health-plan' ),
361
-				'object_types' => array( $this->slug ), // Post type
362
-				'context'      => 'normal',
363
-				'priority'     => 'high',
364
-				'show_names'   => true,
365
-			)
366
-		);
367
-		$cmb->add_field(
368
-			array(
369
-				'name'       => __( 'Prep Time', 'lsx-health-plan' ),
370
-				'id'         => $this->slug . '_prep_time',
371
-				'desc'       => __( 'Add the preparation time for the entire meal i.e: 25 mins', 'lsx-health-plan' ),
372
-				'type'       => 'text',
373
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
374
-			)
375
-		);
376
-		$cmb->add_field(
377
-			array(
378
-				'name'       => __( 'Cooking Time', 'lsx-health-plan' ),
379
-				'id'         => $this->slug . '_cooking_time',
380
-				'desc'       => __( 'Add the cooking time i.e: 15 mins', 'lsx-health-plan' ),
381
-				'type'       => 'text',
382
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
383
-			)
384
-		);
385
-		$cmb->add_field(
386
-			array(
387
-				'name'       => __( 'Serves', 'lsx-health-plan' ),
388
-				'id'         => $this->slug . '_serves',
389
-				'desc'       => __( 'Add the recommended serving size i.e: 6', 'lsx-health-plan' ),
390
-				'type'       => 'text',
391
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
392
-				'attributes' => array(
393
-					'type'    => 'number',
394
-					'pattern' => '\d*',
395
-				),
396
-			)
397
-		);
398
-		$cmb->add_field(
399
-			array(
400
-				'name'       => __( 'Portion', 'lsx-health-plan' ),
401
-				'desc'       => __( 'Add the recommended portion size i.e: 200mg', 'lsx-health-plan' ),
402
-				'id'         => $this->slug . '_portion',
403
-				'type'       => 'text',
404
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
405
-			)
406
-		);
407
-		$cmb = new_cmb2_box(
408
-			array(
409
-				'id'           => $this->slug . '_nutritional_metabox',
410
-				'title'        => __( 'Nutritional Info', 'lsx-health-plan' ),
411
-				'object_types' => array( $this->slug ), // Post type
412
-				'context'      => 'normal',
413
-				'priority'     => 'high',
414
-				'show_names'   => true,
415
-			)
416
-		);
417
-		$cmb->add_field(
418
-			array(
419
-				'name'       => __( 'Energy', 'lsx-health-plan' ),
420
-				'id'         => $this->slug . '_energy',
421
-				'desc'       => __( 'Add the energy amount for the entire meal i.e: 700 kj', 'lsx-health-plan' ),
422
-				'type'       => 'text',
423
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
424
-			)
425
-		);
426
-		$cmb->add_field(
427
-			array(
428
-				'name'       => __( 'Protein', 'lsx-health-plan' ),
429
-				'id'         => $this->slug . '_protein',
430
-				'desc'       => __( 'Add the protein amount for the entire meal i.e: 50 g', 'lsx-health-plan' ),
431
-				'type'       => 'text',
432
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
433
-			)
434
-		);
435
-		$cmb->add_field(
436
-			array(
437
-				'name'       => __( 'Carbohydrates', 'lsx-health-plan' ),
438
-				'id'         => $this->slug . '_carbohydrates',
439
-				'desc'       => __( 'Add the carbohydrates amount for the entire meal i.e: 5 g', 'lsx-health-plan' ),
440
-				'type'       => 'text',
441
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
442
-			)
443
-		);
444
-		$cmb->add_field(
445
-			array(
446
-				'name'       => __( 'Fibre', 'lsx-health-plan' ),
447
-				'id'         => $this->slug . '_fibre',
448
-				'desc'       => __( 'Add the fibre amount for the entire meal i.e: 5 g', 'lsx-health-plan' ),
449
-				'type'       => 'text',
450
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
451
-			)
452
-		);
453
-		$cmb->add_field(
454
-			array(
455
-				'name'       => __( 'Fat', 'lsx-health-plan' ),
456
-				'id'         => $this->slug . '_fat',
457
-				'desc'       => __( 'Add the fat amount for the entire meal i.e: 20 g', 'lsx-health-plan' ),
458
-				'type'       => 'text',
459
-				'show_on_cb' => 'cmb2_hide_if_no_cats',
460
-			)
461
-		);
462
-	}
353
+     /**
354
+      * Define the metabox and field configurations.
355
+      */
356
+     public function details_metaboxes() {
357
+          $cmb = new_cmb2_box(
358
+               array(
359
+                    'id'           => $this->slug . '_details_metabox',
360
+                    'title'        => __( 'Cooking Info', 'lsx-health-plan' ),
361
+                    'object_types' => array( $this->slug ), // Post type
362
+                    'context'      => 'normal',
363
+                    'priority'     => 'high',
364
+                    'show_names'   => true,
365
+               )
366
+          );
367
+          $cmb->add_field(
368
+               array(
369
+                    'name'       => __( 'Prep Time', 'lsx-health-plan' ),
370
+                    'id'         => $this->slug . '_prep_time',
371
+                    'desc'       => __( 'Add the preparation time for the entire meal i.e: 25 mins', 'lsx-health-plan' ),
372
+                    'type'       => 'text',
373
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
374
+               )
375
+          );
376
+          $cmb->add_field(
377
+               array(
378
+                    'name'       => __( 'Cooking Time', 'lsx-health-plan' ),
379
+                    'id'         => $this->slug . '_cooking_time',
380
+                    'desc'       => __( 'Add the cooking time i.e: 15 mins', 'lsx-health-plan' ),
381
+                    'type'       => 'text',
382
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
383
+               )
384
+          );
385
+          $cmb->add_field(
386
+               array(
387
+                    'name'       => __( 'Serves', 'lsx-health-plan' ),
388
+                    'id'         => $this->slug . '_serves',
389
+                    'desc'       => __( 'Add the recommended serving size i.e: 6', 'lsx-health-plan' ),
390
+                    'type'       => 'text',
391
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
392
+                    'attributes' => array(
393
+                         'type'    => 'number',
394
+                         'pattern' => '\d*',
395
+                    ),
396
+               )
397
+          );
398
+          $cmb->add_field(
399
+               array(
400
+                    'name'       => __( 'Portion', 'lsx-health-plan' ),
401
+                    'desc'       => __( 'Add the recommended portion size i.e: 200mg', 'lsx-health-plan' ),
402
+                    'id'         => $this->slug . '_portion',
403
+                    'type'       => 'text',
404
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
405
+               )
406
+          );
407
+          $cmb = new_cmb2_box(
408
+               array(
409
+                    'id'           => $this->slug . '_nutritional_metabox',
410
+                    'title'        => __( 'Nutritional Info', 'lsx-health-plan' ),
411
+                    'object_types' => array( $this->slug ), // Post type
412
+                    'context'      => 'normal',
413
+                    'priority'     => 'high',
414
+                    'show_names'   => true,
415
+               )
416
+          );
417
+          $cmb->add_field(
418
+               array(
419
+                    'name'       => __( 'Energy', 'lsx-health-plan' ),
420
+                    'id'         => $this->slug . '_energy',
421
+                    'desc'       => __( 'Add the energy amount for the entire meal i.e: 700 kj', 'lsx-health-plan' ),
422
+                    'type'       => 'text',
423
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
424
+               )
425
+          );
426
+          $cmb->add_field(
427
+               array(
428
+                    'name'       => __( 'Protein', 'lsx-health-plan' ),
429
+                    'id'         => $this->slug . '_protein',
430
+                    'desc'       => __( 'Add the protein amount for the entire meal i.e: 50 g', 'lsx-health-plan' ),
431
+                    'type'       => 'text',
432
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
433
+               )
434
+          );
435
+          $cmb->add_field(
436
+               array(
437
+                    'name'       => __( 'Carbohydrates', 'lsx-health-plan' ),
438
+                    'id'         => $this->slug . '_carbohydrates',
439
+                    'desc'       => __( 'Add the carbohydrates amount for the entire meal i.e: 5 g', 'lsx-health-plan' ),
440
+                    'type'       => 'text',
441
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
442
+               )
443
+          );
444
+          $cmb->add_field(
445
+               array(
446
+                    'name'       => __( 'Fibre', 'lsx-health-plan' ),
447
+                    'id'         => $this->slug . '_fibre',
448
+                    'desc'       => __( 'Add the fibre amount for the entire meal i.e: 5 g', 'lsx-health-plan' ),
449
+                    'type'       => 'text',
450
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
451
+               )
452
+          );
453
+          $cmb->add_field(
454
+               array(
455
+                    'name'       => __( 'Fat', 'lsx-health-plan' ),
456
+                    'id'         => $this->slug . '_fat',
457
+                    'desc'       => __( 'Add the fat amount for the entire meal i.e: 20 g', 'lsx-health-plan' ),
458
+                    'type'       => 'text',
459
+                    'show_on_cb' => 'cmb2_hide_if_no_cats',
460
+               )
461
+          );
462
+     }
463 463
 }
Please login to merge, or discard this patch.
templates/archive-workout.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -10,8 +10,8 @@  discard block
 block discarded – undo
10 10
 <?php lsx_content_wrap_before(); ?>
11 11
 
12 12
 <?php
13
-	$page_id  = get_the_ID();
14
-	$redirect = '/content-restricted/?r=' . $page_id . '&wcm_redirect_to=archive&wcm_redirect_id=' . $page_id;
13
+     $page_id  = get_the_ID();
14
+     $redirect = '/content-restricted/?r=' . $page_id . '&wcm_redirect_to=archive&wcm_redirect_id=' . $page_id;
15 15
 ?>
16 16
 
17 17
 	<div id="primary" class="content-area <?php echo esc_attr( lsx_main_class() ); ?>">
@@ -20,8 +20,8 @@  discard block
 block discarded – undo
20 20
 
21 21
 		<!-- Begining restricted content -->
22 22
 		<?php
23
-		if ( current_user_can( 'administrator', $page_id ) || current_user_can( 'wc_memberships_view_restricted_post_content', $page_id ) ) {
24
-			?>
23
+          if ( current_user_can( 'administrator', $page_id ) || current_user_can( 'wc_memberships_view_restricted_post_content', $page_id ) ) {
24
+               ?>
25 25
 			<main id="main" role="main">
26 26
 
27 27
 				<?php lsx_content_top(); ?>
@@ -30,9 +30,9 @@  discard block
 block discarded – undo
30 30
 					<div class="row">
31 31
 						<?php if ( have_posts() ) : ?>
32 32
 							<?php
33
-							while ( have_posts() ) :
34
-								the_post();
35
-								?>
33
+                                   while ( have_posts() ) :
34
+                                        the_post();
35
+                                        ?>
36 36
 
37 37
 								<?php include LSX_HEALTH_PLAN_PATH . '/templates/content-archive-workout.php'; ?>
38 38
 
@@ -51,11 +51,11 @@  discard block
 block discarded – undo
51 51
 			</main><!-- #main -->
52 52
 
53 53
 			<?php
54
-		} else {
55
-			wp_redirect( $redirect );
56
-			exit;
57
-		}
58
-		?>
54
+          } else {
55
+               wp_redirect( $redirect );
56
+               exit;
57
+          }
58
+          ?>
59 59
 
60 60
 <?php lsx_content_after(); ?>
61 61
 
Please login to merge, or discard this patch.
templates/archive-exercise.php 1 patch
Indentation   +12 added lines, -12 removed lines patch added patch discarded remove patch
@@ -10,8 +10,8 @@  discard block
 block discarded – undo
10 10
 <?php lsx_content_wrap_before(); ?>
11 11
 
12 12
 <?php
13
-	$page_id  = get_the_ID();
14
-	$redirect = '/content-restricted/?r=' . $page_id . '&wcm_redirect_to=archive&wcm_redirect_id=' . $page_id;
13
+     $page_id  = get_the_ID();
14
+     $redirect = '/content-restricted/?r=' . $page_id . '&wcm_redirect_to=archive&wcm_redirect_id=' . $page_id;
15 15
 ?>
16 16
 
17 17
 	<div id="primary" class="content-area <?php echo esc_attr( lsx_main_class() ); ?>">
@@ -20,8 +20,8 @@  discard block
 block discarded – undo
20 20
 
21 21
 		<!-- Begining restricted content -->
22 22
 		<?php
23
-		if ( current_user_can( 'administrator', $page_id ) || current_user_can( 'wc_memberships_view_restricted_post_content', $page_id ) ) {
24
-			?>
23
+          if ( current_user_can( 'administrator', $page_id ) || current_user_can( 'wc_memberships_view_restricted_post_content', $page_id ) ) {
24
+               ?>
25 25
 			<main id="main" role="main">
26 26
 
27 27
 				<?php lsx_content_top(); ?>
@@ -30,9 +30,9 @@  discard block
 block discarded – undo
30 30
 					<div class="row">
31 31
 						<?php if ( have_posts() ) : ?>
32 32
 							<?php
33
-							while ( have_posts() ) :
34
-								the_post();
35
-								?>
33
+                                   while ( have_posts() ) :
34
+                                        the_post();
35
+                                        ?>
36 36
 
37 37
 								<?php include LSX_HEALTH_PLAN_PATH . '/templates/content-archive-exercise.php'; ?>
38 38
 
@@ -51,11 +51,11 @@  discard block
 block discarded – undo
51 51
 			</main><!-- #main -->
52 52
 
53 53
 			<?php
54
-		} else {
55
-			wp_redirect( $redirect );
56
-			exit;
57
-		}
58
-		?>
54
+          } else {
55
+               wp_redirect( $redirect );
56
+               exit;
57
+          }
58
+          ?>
59 59
 
60 60
 <?php lsx_content_after(); ?>
61 61
 
Please login to merge, or discard this patch.