HEX
Server: Apache
System: Linux webd001.cluster127.gra.hosting.ovh.net 6.18.42-ovh-vps-grsec-zfs+ #1 SMP PREEMPT_DYNAMIC Wed Aug 5 15:59:48 CEST 2026 x86_64
User: mciraet (192513)
PHP: 8.2.31
Disabled: _dyuweyrj4,_dyuweyrj4r,dl
Upload Files
File: /home/mciraet/www/wp-content/themes/movedo/includes/admin/grve-category-meta.php
<?php
/*
*	Greatives Category Meta
*
* 	@author		Greatives Team
* 	@URI		http://greatives.eu
*/

	//Categories
	add_action('category_edit_form_fields','movedo_grve_category_edit_form_fields', 10);
	add_action('post_tag_edit_form_fields','movedo_grve_category_edit_form_fields', 10);
	add_action('product_cat_edit_form_fields','movedo_grve_category_edit_form_fields', 10);
	add_action('product_tag_edit_form_fields','movedo_grve_category_edit_form_fields', 10);
	add_action('edit_term','movedo_grve_save_category_fields', 10, 3);

	function movedo_grve_category_edit_form_fields( $term ) {
		$movedo_grve_term_meta = movedo_grve_get_term_meta( $term->term_id, '_movedo_grve_custom_title_options' );
		movedo_grve_print_category_fields( $movedo_grve_term_meta );
	}

	function movedo_grve_print_category_fields( $movedo_grve_custom_title_options = array() ) {
?>
		<tr class="form-field">
			<td colspan="2">
				<div id="grve-category-title" class="postbox">
<?php

			//Custom Title Option
			movedo_grve_print_admin_option(
				array(
					'type' => 'select',
					'name' => 'movedo_grve_term_meta[custom]',
					'id' => 'grve-category-title-custom',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'custom' ),
					'options' => array(
						'' => esc_html__( '-- Inherit --', 'movedo' ),
						'custom' => esc_html__( 'Custom', 'movedo' ),

					),
					'label' => array(
						"title" => esc_html__( 'Title Options', 'movedo' ),
					),
					'group_id' => 'grve-category-title',
					'highlight' => 'highlight',
				)
			);

			$movedo_grve_area_height = movedo_grve_get_selection( 'area-height' );
			movedo_grve_print_admin_option(
				array(
					'type' => 'select',
					'options' => $movedo_grve_area_height,
					'name' => 'movedo_grve_term_meta[height]',
					'id' => 'grve-category-title-height',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'height', '40' ),
					'label' => array(
						"title" => esc_html__( 'Title Area Height', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'textfield',
					'name' => 'movedo_grve_term_meta[min_height]',
					'id' => 'grve-category-title-min-height',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'min_height', '200' ),
					'label' => array(
						"title" => esc_html__( 'Title Area Minimum Height in px', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select',
					'name' => 'movedo_grve_term_meta[container_size]',
					'id' => 'grve-category-title-container-size',
					'options' => array(
						'' => esc_html__( 'Default', 'movedo' ),
						'large' => esc_html__( 'Large', 'movedo' ),
					),
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'container_size' ),
					'label' => array(
						"title" => esc_html__( 'Container Size', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-colorpicker',
					'name' => 'movedo_grve_term_meta[bg_color]',
					'id' => 'grve-category-title-bg-color',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'bg_color', 'dark' ),
					'value2' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'bg_color_custom', '#000000' ),
					'label' => array(
						"title" => esc_html__( 'Background Color', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
					'multiple' => 'multi',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-colorpicker',
					'name' => 'movedo_grve_term_meta[content_bg_color]',
					'id' => 'grve-category-title-content-bg-color',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_bg_color', 'none' ),
					'value2' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_bg_color_custom', '#ffffff' ),
					'label' => array(
						"title" => esc_html__( 'Content Background Color', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
					'multiple' => 'multi',
					'type_usage' => 'title-content-bg',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-colorpicker',
					'name' => 'movedo_grve_term_meta[title_color]',
					'id' => 'grve-category-title-title-color',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'title_color', 'light' ),
					'value2' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'title_color_custom', '#ffffff' ),
					'label' => array(
						"title" => esc_html__( 'Title Color', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
					'multiple' => 'multi',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-colorpicker',
					'name' => 'movedo_grve_term_meta[caption_color]',
					'id' => 'grve-category-title-caption_color',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'caption_color', 'light' ),
					'value2' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'caption_color_custom', '#ffffff' ),
					'label' => array(
						"title" => esc_html__( 'Description Color', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
					'multiple' => 'multi',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select',
					'name' => 'movedo_grve_term_meta[content_size]',
					'id' => 'grve-category-title-content-size',
					'options' => array(
						'large' => esc_html__( 'Large', 'movedo' ),
						'medium' => esc_html__( 'Medium', 'movedo' ),
						'small' => esc_html__( 'Small', 'movedo' ),
					),
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_size', 'large' ),
					'label' => array(
						"title" => esc_html__( 'Content Size', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-align',
					'name' => 'movedo_grve_term_meta[content_alignment]',
					'id' => 'grve-category-title-content-alignment',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_alignment', 'center' ),
					'label' => array(
						"title" => esc_html__( 'Content Alignment', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-bg-position',
					'name' => 'movedo_grve_term_meta[content_position]',
					'id' => 'grve-category-title-content_position',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_position', 'center-center' ),
					'label' => array(
						"title" => esc_html__( 'Content Position', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-text-animation',
					'name' => 'movedo_grve_term_meta[content_animation]',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'content_animation', 'fade-in' ),
					'label' => esc_html__( 'Content Animation', 'movedo' ),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }
					]',
				)
			);


			movedo_grve_print_admin_option(
				array(
					'type' => 'select',
					'name' => 'movedo_grve_term_meta[bg_mode]',
					'id' => 'grve-category-title-bg-mode',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'bg_mode'),
					'options' => array(
						'' => esc_html__( 'Color Only', 'movedo' ),
						'custom' => esc_html__( 'Custom Image', 'movedo' ),

					),
					'label' => array(
						"title" => esc_html__( 'Background', 'movedo' ),
					),
					'group_id' => 'grve-category-title',
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] }

					]',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-image',
					'name' => 'movedo_grve_term_meta[bg_image_id]',
					'id' => 'grve-category-title-bg-image-id',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'bg_image_id'),
					'label' => array(
						"title" => esc_html__( 'Background Image', 'movedo' ),
					),
					'width' => 'fullwidth',
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] },
						{ "id" : "grve-category-title-bg-mode", "values" : ["custom"] }

					]',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-bg-position',
					'name' => 'movedo_grve_term_meta[bg_position]',
					'id' => 'grve-category-title-bg-position',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'bg_position', 'center-center'),
					'label' => array(
						"title" => esc_html__( 'Background Position', 'movedo' ),
					),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] },
						{ "id" : "grve-category-title-bg-mode", "values" : ["custom"] }
					]',
				)
			);

			movedo_grve_print_admin_option(
				array(
					'type' => 'select-pattern-overlay',
					'name' => 'movedo_grve_term_meta[pattern_overlay]',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'pattern_overlay'),
					'label' => esc_html__( 'Pattern Overlay', 'movedo' ),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] },
						{ "id" : "grve-category-title-bg-mode", "values" : ["custom"] }
					]',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-colorpicker',
					'name' => 'movedo_grve_term_meta[color_overlay]',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'color_overlay', 'dark' ),
					'value2' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'color_overlay_custom', '#000000' ),
					'label' => esc_html__( 'Color Overlay', 'movedo' ),
					'multiple' => 'multi',
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] },
						{ "id" : "grve-category-title-bg-mode", "values" : ["custom"] }
					]',
				)
			);
			movedo_grve_print_admin_option(
				array(
					'type' => 'select-opacity',
					'name' => 'movedo_grve_term_meta[opacity_overlay]',
					'value' => movedo_grve_array_value( $movedo_grve_custom_title_options, 'opacity_overlay', '0' ),
					'label' => esc_html__( 'Opacity Overlay', 'movedo' ),
					'dependency' =>
					'[
						{ "id" : "grve-category-title-custom", "values" : ["custom"] },
						{ "id" : "grve-category-title-bg-mode", "values" : ["custom"] }
					]',
				)
			);
?>
			</div>
		</td>
	</tr>
<?php
	}

	//Save Category Meta
	function movedo_grve_save_category_fields( $term_id, $tt_id = '', $taxonomy = '' ) {

		if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE ) {
			return;
		}

		$custom_meta_tax = array ( 'category', 'post_tag', 'product_cat', 'product_tag' );

		if ( isset( $_POST['movedo_grve_term_meta'] ) && in_array( $taxonomy, $custom_meta_tax ) ) {
			$movedo_grve_term_meta = movedo_grve_get_term_meta( $term_id, '_movedo_grve_custom_title_options' );
			$cat_keys = array_keys( $_POST['movedo_grve_term_meta'] );
			foreach ( $cat_keys as $key ) {
				if ( isset( $_POST['movedo_grve_term_meta'][$key] ) ) {
					$movedo_grve_term_meta[$key] = sanitize_text_field( $_POST['movedo_grve_term_meta'][$key] );
				}
			}
			movedo_grve_update_term_meta( $term_id , '_movedo_grve_custom_title_options', $movedo_grve_term_meta );
		}
	}

//Omit closing PHP tag to avoid accidental whitespace output errors.