HEX
Server: Apache/2.4.62 (Unix) OpenSSL/1.1.1k
System: Linux box12.multicloud.host 4.18.0-553.52.1.el8_10.x86_64 #1 SMP Wed May 14 09:36:12 EDT 2025 x86_64
User: kashmira (1008)
PHP: 8.1.32
Disabled: NONE
Upload Files
File: /home/kashmira/www/wp-content/plugins/wp-work/includes/class-wp-ngd-widget-css-classes.php
<?php
/**
 * Class for Custom Text Field support.
 *
 * @package WordPress
 */

// If check class exists.
if ( ! class_exists( 'WP_NGD_Widget_Class' ) ) {

	/**
	 * Declare class.
	 */
	class WP_NGD_Widget_Class {

		/**
		 * Calling construct.
		 */
		public function __construct() {
			
			// Add input fields(priority 5, 3 parameters)
			add_action('in_widget_form', array( $this, 'wp_ngd_widget_css_classes_in_widget_form' ), 5, 3 );
			
			// Callback function for options update (priority 5, 3 parameters)
			add_action('widget_update_callback', array( $this, 'wp_ngd_widget_css_classes_in_widget_form_update' ), 5, 3 );

			//add class names (default priority, one parameter)
			add_action('dynamic_sidebar_params', array( $this, 'wp_ngd_widget_css_classes_dynamic_sidebar_params' ) );
		}		

		/**
		 * Add input fields.
		 * Step 1: Register the form elements (The widget Control)
		 * @return array
		 */
		public function wp_ngd_widget_css_classes_in_widget_form( $t, $return, $instance ) {
			$instance = wp_parse_args( (array) $instance, array( 'title' => '', 'text' => '', 'float' => 'none') );
   
		    if ( ! isset( $instance['ngd_custom_text'] ) )
		        $instance['ngd_custom_text'] = null;
		    ?>     
		    <label class="ngd-title"><?php echo __( 'Widgets Wrapper Class :', 'wp-ngd-widget-css-classes' ); ?></label>
		    <input type="text" name="<?php echo $t->get_field_name('ngd_custom_text'); ?>" id="<?php echo $t->get_field_id('ngd_custom_text'); ?>" value="<?php echo isset( $instance['ngd_custom_text'] ) ? $instance['ngd_custom_text'] : ''; ?>" placeholder="<?php echo __( 'ClassName', 'wp-ngd-widget-css-classes' ); ?>" />
		    <?php
		    $retrun = null;
		    return array( $t, $return, $instance );
		}

		/**
		 * Step 2: Save the Widget input data:
		 * 
		 * @return array
		 */
		public function wp_ngd_widget_css_classes_in_widget_form_update( $instance, $new_instance, $old_instance){    

			if( isset( $new_instance['ngd_custom_text'] ) ) {
		    	$instance['ngd_custom_text'] = strip_tags( $new_instance['ngd_custom_text'] );
			}
		    return $instance;
		}

		/**
		 * Step 3: Display the value in widget output:
		 * 
		 * @return array
		 */
		public function wp_ngd_widget_css_classes_dynamic_sidebar_params( $params ){
		    global $wp_registered_widgets;
		    $widget_id = $params[0]['widget_id'];
		    $widget_obj = $wp_registered_widgets[$widget_id];
		    $widget_opt = get_option( $widget_obj['callback'][0]->option_name );
		    $widget_num = $widget_obj['params'][0]['number'];
		    
            if( isset( $widget_opt[$widget_num]['ngd_custom_text'] ) ){          
                $ngd_custom_text = $widget_opt[$widget_num]['ngd_custom_text'];
            }else{
			   $ngd_custom_text = '';
            }

            $params[0]['before_widget'] = preg_replace('/class="/', 'class="'.$ngd_custom_text.' ',  $params[0]['before_widget'], 1);
		    return $params;
		}
		
	}
}