HEX
Server: Apache/2.4.65 (Debian)
System: Linux web6 5.10.0-36-amd64 #1 SMP Debian 5.10.244-1 (2025-09-29) x86_64
User: innocamp (1028)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: //home/madison/public_html/wp-content/plugins/paperio-addons/widgets/paperio-recent-menu-post.php
<?php
/**
 * @package Paperio
 */
?>
<?php

/*******************************************************************************/
/* Start About Me Widget */
/*******************************************************************************/

if( !class_exists( 'paperio_recent_menu_post_widget' ) ) {

	class paperio_recent_menu_post_widget extends WP_Widget {

		function __construct() {
			parent::__construct(
			'paperio_recent_menu_post_widget',
			esc_html__('Paperio - Menu Recent Post', 'paperio-addons'),
			array( 'description' => esc_html__( 'Your site most Recent Posts.', 'paperio-addons' ), ) // Args
			);
		}

		public function widget( $args, $instance ) {

			$title = ( isset( $instance['title'] ) ) ? apply_filters( 'widget_title', $instance['title'] ) : esc_html__( 'Recent Post', 'paperio-addons' );
			$tz_column_type = ( isset( $instance['tz_column_type'] ) ) ? $instance['tz_column_type'] : 'four-column';
			$tz_recent_category = ( isset( $instance['tz_recent_category'] ) ) ? $instance['tz_recent_category'] : '';
			$tz_recent_category_orderby = ( isset( $instance['tz_recent_category_orderby'] ) ) ? $instance['tz_recent_category_orderby'] : 'date';

			$tz_recent_category_sortby = ( isset( $instance['tz_recent_category_sortby'] ) ) ? $instance['tz_recent_category_sortby'] : 'DESC';
			$postperpage = ( isset( $instance['postperpage'] ) ) ? $instance['postperpage'] : '4';
			$thumbnail = ( isset( $instance['thumbnail'] ) ) ? $instance['thumbnail'] : '';
			$tz_show_full_post_title = ( isset( $instance['tz_show_full_post_title'] ) ) ? $instance['tz_show_full_post_title'] : '';

			
			echo $args['before_widget'];

			if ( ! empty( $title ) ) {
				echo $args['before_title'] . $title . $args['after_title'];
			}

			/* Check sticky post */
        	$tz_sticky_posts = get_option( 'sticky_posts' );

			$tz_recent_category = ( $tz_recent_category != 'all' ) ? $tz_recent_category : '';
			
			$recent_post = array(
									'post_type' => 'post',
									'category_name'  => $tz_recent_category,
									'post__not_in' => $tz_sticky_posts,
									'orderby' => $tz_recent_category_orderby,
									'order' => $tz_recent_category_sortby,
									'posts_per_page' => $postperpage,
								);

			$recent_menu_post_query = new WP_Query( $recent_post );

			$tz_post_classes = '';
			switch( $tz_column_type ) {
		        case 'one-column':
		            $tz_post_classes = ' class="col-md-12 col-sm-12 col-xs-12"';
		        break;

		        case 'two-column':
		            $tz_post_classes = ' class="col-md-6 col-sm-6 col-xs-12"';
		        break;
		        
		        case 'three-column':
		            $tz_post_classes = ' class="col-md-4 col-sm-6 col-xs-12"';
		        break;

		        case 'four-column':
		            $tz_post_classes = ' class="col-md-3 col-sm-3 col-xs-12"';
		        break;

		        case 'six-column':
		            $tz_post_classes = ' class="col-md-2 col-sm-6 col-xs-12"';
		        break;
		    }

			if ( $recent_menu_post_query->have_posts() ) :
				echo '<ul class="blog-recent-posts no-padding">';
				while ( $recent_menu_post_query->have_posts() ) : $recent_menu_post_query->the_post();
				echo '<li'.$tz_post_classes.'>';
					$menu_title = get_the_title();
					if ($tz_show_full_post_title != 'on' ) {
						if( strlen( $menu_title ) > 28 ){
				            $menu_title = substr( $menu_title, 0, 28 ).' ...';
				        } else {
				            $menu_title = $menu_title;
				        }
					}
					echo '<a href="'.get_permalink().'" class="dropdown-header menu-post-title">'.$menu_title.'</a>';
					if( $thumbnail == 'on' ) {
						echo '<a href="'.get_permalink().'">';
							if ( has_post_thumbnail() ) {
				                the_post_thumbnail( 'medium' );
				            }
						echo '</a>';
					}
				echo '</li>';
				endwhile;
				echo '</ul>';
			?>

			<?php wp_reset_postdata(); ?>

			<?php else : ?>
			<p><?php echo __( 'Sorry, no posts matched your criteria.', 'paperio-addons' ); ?></p>
			<?php endif;

	        echo $args['after_widget'];
		}

		// Widget Backend 
		public function form( $instance ) {
			// Get All Category List.
			$args = array(
		  	  'hide_empty' => 0,
		  	  'orderby' => 'name',
		  	  'order' => 'ASC'
		    );
		    $categories = get_categories( $args );

			$title = ( isset( $instance[ 'title' ] ) ) ? $instance[ 'title' ] : esc_html__( 'Recent Post', 'paperio-addons' );
			$tz_column_type = ( isset( $instance[ 'tz_column_type' ] ) ) ? $instance[ 'tz_column_type' ] : 'four-column';
			$tz_recent_category  = ( isset( $instance[ 'tz_recent_category' ] ) ) ? $instance[ 'tz_recent_category' ] : 'all';
			$tz_recent_category_orderby  = ( isset( $instance[ 'tz_recent_category_orderby' ] ) ) ? $instance[ 'tz_recent_category_orderby' ] : 'date';
			$tz_recent_category_sortby  = ( isset( $instance[ 'tz_recent_category_sortby' ] ) ) ? $instance[ 'tz_recent_category_sortby' ] : 'DESC';
			$postperpage = ( isset($instance[ 'postperpage' ] ) ) ? $instance[ 'postperpage' ] : '4';
			if( isset($instance['thumbnail'])){
				$thumbnail = ($instance['thumbnail'] == 'on') ? 'checked="checked"' : '';
			} else{
				$thumbnail = '';
			}
			if( isset($instance['tz_show_full_post_title'])){
				$tz_show_full_post_title = ($instance['tz_show_full_post_title'] == 'on') ? 'checked="checked"' : '';
			} else{
				$tz_show_full_post_title = '';
			}

			// Widget admin form
			?>
			<p>
				<label for="<?php echo $this->get_field_id( 'title' ); ?>">
					<?php esc_html_e( 'Title:', 'paperio-addons' ); ?>
				</label>
				<input class="widefat" id="<?php echo $this->get_field_id( 'title' ); ?>" name="<?php echo $this->get_field_name( 'title' ); ?>" type="text" value="<?php echo esc_attr( $title ); ?>" />
			</p>
			<p>
	        	<label for="<?php echo $this->get_field_id( 'tz_column_type' ); ?>">
					<?php esc_html_e( 'Column Type:', 'paperio-addons' ); ?>
				</label>
				<select name="<?php echo $this->get_field_name( 'tz_column_type' ); ?>" id="tz-column-type" class="widefat">
	                <option value="one-column"<?php echo esc_attr( $tz_column_type == 'one-column' ) ? ' selected="selected"' : ''; ?>><?php echo __( '1 Column', 'paperio-addons' ); ?></option>
	                <option value="two-column"<?php echo esc_attr( $tz_column_type == 'two-column' ) ? ' selected="selected"' : ''; ?>><?php echo __( '2 Columns', 'paperio-addons' ); ?></option>
	                <option value="three-column"<?php echo esc_attr( $tz_column_type == 'three-column' ) ? ' selected="selected"' : ''; ?>><?php echo __( '3 Columns', 'paperio-addons' ); ?></option>
	                <option value="four-column"<?php echo esc_attr( $tz_column_type == 'four-column' ) ? ' selected="selected"' : ''; ?>><?php echo __( '4 Columns', 'paperio-addons' ); ?></option>
	                <option value="six-column"<?php echo esc_attr( $tz_column_type == 'six-column' ) ? ' selected="selected"' : ''; ?>><?php echo __( '6 Columns', 'paperio-addons' ); ?></option>
				</select>
				<small><?php echo __( "It's only work in Menu", "paperio-addons" ); ?></small>
	        </p>

			<p>
				<label for="<?php echo $this->get_field_id( 'tz_recent_category' ); ?>">
					<?php esc_html_e( 'Select Category:', 'paperio-addons' ); ?>
				</label>
				<select name="<?php echo $this->get_field_name( 'tz_recent_category' ); ?>" id="tz-recent-category" class="widefat">
	                <option value="all"<?php echo esc_attr( $tz_recent_category == 'all' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'All Categories', 'paperio-addons' ); ?></option>
	                <?php
	                	foreach ( $categories as $key => $data ) { ?>
	                	<?php echo $this->get_field_id( 'tz_recent_category' ).' -> '. $data->slug; ?>
				      	<option value="<?php echo $data->slug ?>"<?php echo esc_attr( $tz_recent_category == $data->slug ) ? ' selected="selected"' : ''; ?>><?php echo $data->name; ?></option>
				    	<?php }
	                ?>
	            </select>
	        </p>
	        <p>
	        	<label for="<?php echo $this->get_field_id( 'tz_recent_category_orderby' ); ?>">
					<?php esc_html_e( 'Order by:', 'paperio-addons' ); ?>
				</label>
				<select name="<?php echo $this->get_field_name( 'tz_recent_category_orderby' ); ?>" id="tz-recent-category" class="widefat">
	                <option value="date"<?php echo esc_attr( $tz_recent_category_orderby == 'date' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Date', 'paperio-addons' ); ?></option>
	                <option value="ID"<?php echo esc_attr( $tz_recent_category_orderby == 'ID' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'ID', 'paperio-addons' ); ?></option>
	                <option value="author"<?php echo esc_attr( $tz_recent_category_orderby == 'author' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Author', 'paperio-addons' ); ?></option>
	                <option value="title"<?php echo esc_attr( $tz_recent_category_orderby == 'title' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Title', 'paperio-addons' ); ?></option>
	                <option value="modified"<?php echo esc_attr( $tz_recent_category_orderby == 'modified' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Modified Date', 'paperio-addons' ); ?></option>
	                <option value="rand"<?php echo esc_attr( $tz_recent_category_orderby == 'rand' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Random', 'paperio-addons' ); ?></option>
	                <option value="comment_count"<?php echo esc_attr( $tz_recent_category_orderby == 'comment_count' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Comment count', 'paperio-addons' ); ?></option>
	                <option value="menu_order"<?php echo esc_attr( $tz_recent_category_orderby == 'menu_order' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Menu order', 'paperio-addons' ); ?></option>
				</select>
	        </p>
	        <p>
	        	<label for="<?php echo $this->get_field_id( 'tz_recent_category_sortby' ); ?>">
					<?php esc_html_e( 'Sort order:', 'paperio-addons' ); ?>
				</label>
				<select name="<?php echo $this->get_field_name( 'tz_recent_category_sortby' ); ?>" id="tz-recent-category" class="widefat">
	                <option value="DESC"<?php echo esc_attr( $tz_recent_category_sortby == 'DESC' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Descending', 'paperio-addons' ); ?></option>
	                <option value="ASC"<?php echo esc_attr( $tz_recent_category_sortby == 'ASC' ) ? ' selected="selected"' : ''; ?>><?php echo __( 'Ascending', 'paperio-addons' ); ?></option>
				</select>
	        </p>
			<p>
				<label for="<?php echo $this->get_field_id( 'postperpage' ); ?>">
					<?php esc_html_e( 'Number of posts to show:', 'paperio-addons' ); ?>
				</label>
				<input class="widefat" id="<?php echo $this->get_field_id( 'postperpage' ); ?>" size="3"  name="<?php echo $this->get_field_name( 'postperpage' ); ?>" type="text" value="<?php echo esc_attr( $postperpage ); ?>" />
			</p>
			<p>
				<input class="widefat" id="<?php echo $this->get_field_id( 'thumbnail' ); ?>" size="3"  name="<?php echo $this->get_field_name( 'thumbnail' ); ?>" type="checkbox" <?php echo $thumbnail; ?> />
				<label for="<?php echo $this->get_field_id( 'thumbnail' ); ?>">
					<?php esc_html_e( 'Display Thumbnail?', 'paperio-addons' ); ?>
				</label>
			</p>
			<p>
				<input class="widefat" id="<?php echo $this->get_field_id( 'tz_show_full_post_title' ); ?>" size="3"  name="<?php echo $this->get_field_name( 'tz_show_full_post_title' ); ?>" type="checkbox" <?php echo $tz_show_full_post_title; ?> />
				<label for="<?php echo $this->get_field_id( 'tz_show_full_post_title' ); ?>">
					<?php esc_html_e( 'Show Full Post Title?', 'paperio-addons' ); ?>
				</label>
			</p>
		<?php 
		}

		// Updating widget replacing old instances with new
		public function update( $new_instance, $old_instance ) {
			$instance = array();
			$instance['title'] = ( ! empty( $new_instance['title'] ) ) ? strip_tags( $new_instance['title'] ) : '';
			$instance['tz_column_type'] = ( ! empty( $new_instance['tz_column_type'] ) ) ? strip_tags( $new_instance['tz_column_type'] ) : 'four-column';
			$instance['tz_recent_category'] = ( ! empty( $new_instance['tz_recent_category'] ) ) ? strip_tags( $new_instance['tz_recent_category'] ) : '';
			$instance['tz_recent_category_orderby'] = ( ! empty( $new_instance['tz_recent_category_orderby'] ) ) ? strip_tags( $new_instance['tz_recent_category_orderby'] ) : '';
			$instance['tz_recent_category_sortby'] = ( ! empty( $new_instance['tz_recent_category_sortby'] ) ) ? strip_tags( $new_instance['tz_recent_category_sortby'] ) : '';
			$instance['postperpage'] = ( ! empty( $new_instance['postperpage'] ) ) ? strip_tags( $new_instance['postperpage'] ) : '';
			$instance['thumbnail'] = ( ! empty( $new_instance['thumbnail'] ) ) ? strip_tags( $new_instance['thumbnail'] ) : '';
			$instance['tz_show_full_post_title'] = ( ! empty( $new_instance['tz_show_full_post_title'] ) ) ? strip_tags( $new_instance['tz_show_full_post_title'] ) : '';

		   return $instance;
		}
	}
}

// Register and load Paperio custom widget
if ( ! function_exists( 'paperio_load_recent_menu_post_widget' ) ) :
	function paperio_load_recent_menu_post_widget() {
		register_widget( 'paperio_recent_menu_post_widget' );
	}
endif;
add_action( 'widgets_init', 'paperio_load_recent_menu_post_widget' );

/*******************************************************************************/
/* End Instagram Widget */
/*******************************************************************************/
?>