54
Validation results

Ecorecycle

Ecorecycle

WordPress 6.5.2 theme
54
  • THEME TYPEWordPress theme 6.5.2
  • FILE NAMEecorecycle.zip
  • FILE SIZE9589644 bytes
  • MD5a8fc6285c0b3a6f7d180b946728358ca
  • SHA122279e4ba7551e991302e7fcc87c4dfc78b6cc26
  • LICENSECustom
  • FILES INCLUDEDCSS, PHP, XML, Bitmap images, Adobe Illustrator
  • VERSION2.2
  • AUTHOR URI
  • TAGSblog
  • CREATION DATE2021-09-15
  • LAST FILE UPDATE2021-09-15
  • LAST VALIDATION2021-09-15 13:25
This theme seems to be proprietary. Themecheck doesn't distribute commercial themes.
Critical alerts
  1. Malware : Operations on file system file_put_contents was found in the file admin-functions.php
    Ligne1: <?php
    /*-----------------------------------------------------------------------------------*/
    /* Head Hook
    /*-----------------------------------------------------------------------------------*/
    function of_head() { do_action( 'of_head' ); }
    /*-----------------------------------------------------------------------------------*/
    /* Add default options after activation */
    /*-----------------------------------------------------------------------------------*/
    /*-----------------------------------------------------------------------------------*/
    /* Admin Backend */
    /*-----------------------------------------------------------------------------------*/
    function optionsframework_admin_message() { 
    	
    	//Tweaked the message on theme activate
    	?>
        <script type='text/javascript'>
        jQuery(function(){
        	
            var message = '<p>This theme comes with an <a href='<?php echo admin_url('admin.php?page=optionsframework'); ?>'>options panel</a> to configure settings. This theme also supports widgets, please visit the <a href='<?php echo admin_url('widgets.php'); ?>'>widgets settings page</a> to configure them.</p>';
        	jQuery('.themes-php #message2').html(message);
        
        });
        </script>
        <?php
    	
    }
    add_action('admin_head', 'optionsframework_admin_message'); 
    function optionsframework_woo_hide() { 
    	
    	//Tweaked the message on theme activate
    	if (!function_exists( 'is_woocommerce' ) ) : 
    		?>
    		<script type='text/javascript'>
    		jQuery(function(){
    			
    			jQuery(document).ready(function(){	
    				jQuery('.woocommercesettings').hide();
    			});
    		
    		});
    		</script>
    		<?php
    	endif;
    	
    }
    add_action('admin_head', 'optionsframework_woo_hide'); 
    /*-----------------------------------------------------------------------------------*/
    /* Small function to get all header classes */
    /*-----------------------------------------------------------------------------------*/
    	function of_get_header_classes_array() {
    		global $of_options_pmc;
    		$hooks = '';
    		foreach ($of_options_pmc as $value) {
    			
    			if ($value['type'] == 'heading') {
    				$hooks[] = preg_replace('[^A-Za-z0-9]', '', strtolower($value['name']) );
    			}
    			
    		}
    		
    		return $hooks;
    		
    	}
    	
    /*-----------------------------------------------------------------------------------*/
    /* function to output css options */
    /*-----------------------------------------------------------------------------------*/
    	
    
    function generate_options_css($newdata) {
    
    	$pmc_data = $newdata;
    
    	$css_dir = get_template_directory() . '/css/'; // Shorten code, save 1 call
    
    	ob_start(); // Capture all output (output buffering)
    
    	require($css_dir . 'style_options.php'); // Generate CSS
    
    	$css = ob_get_clean(); // Get generated CSS (output buffering)
    	
    
        wp_enqueue_style( 'style', get_template_directory_uri() . '/style.css' );
        wp_add_inline_style( 'style', $css );
    
    
    
    	//file_put_contents($css_dir . 'options.css', $css, LOCK_EX); // Save it
    
    }
    
    
  2. Included plugins : Zip file found Plugins are not allowed in themes. The zip file found was revslider.zip page-builder-pmc.zip ecocatalogue.zip ecorecycle_2.zip ecorecycle-fullwidth.zip ecorecycle.zip.
Warning
  1. Text domain : Incorrect use of translation functions.More than one text-domain is being used in this theme. This means the theme will not be compatible with WordPress.org language packs. The domains found are ecorecycle, tgmpa.
  2. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.
  3. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  4. Custom elements : Presence of custom backgroundNo reference to custom background was found in the theme.
  5. Editor style : Presence of editor styleNo reference to add_editor_style() was found in the theme. It is recommended that the theme implements editor styling, so as to make the editor content match the resulting post output in the theme, for a better user experience.
  6. Screenshot : Screenshot fileScreenshot size is 880x660px. Screenshot size should be 1200x900, to account for HiDPI displays. Any 4:3 image size is acceptable, but 1200x900 is preferred.Bad screenshot file extension ! File screenshot.png is not an actual JPG file. Detected type was : "image/png".
Tip-off
  1. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  2. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  3. Optional files : Presence of term template file taxonomy.phpThis theme does not contain optional file taxonomy.php.
  4. Optional files : Presence of author template file author.phpThis theme does not contain optional file author.php.
  5. Optional files : Presence of date/time template file date.phpThis theme does not contain optional file date.php.
  6. Optional files : Presence of archive template file archive.phpThis theme does not contain optional file archive.php.
  7. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  8. Optional files : Presence of image template file image.phpThis theme does not contain optional file image.php.
  9. Use of includes : Use of include or requireThe theme appears to use include or require : admin-functions.php
    Ligne1: <?php
    /*-----------------------------------------------------------------------------------*/
    /* Head Hook
    /*-----------------------------------------------------------------------------------*/
    function of_head() { do_action( 'of_head' ); }
    /*-----------------------------------------------------------------------------------*/
    /* Add default options after activation */
    /*-----------------------------------------------------------------------------------*/
    /*-----------------------------------------------------------------------------------*/
    /* Admin Backend */
    /*-----------------------------------------------------------------------------------*/
    function optionsframework_admin_message() { 
    	
    	//Tweaked the message on theme activate
    	?>
        <script type='text/javascript'>
        jQuery(function(){
        	
            var message = '<p>This theme comes with an <a href='<?php echo admin_url('admin.php?page=optionsframework'); ?>'>options panel</a> to configure settings. This theme also supports widgets, please visit the <a href='<?php echo admin_url('widgets.php'); ?>'>widgets settings page</a> to configure them.</p>';
        	jQuery('.themes-php #message2').html(message);
        
        });
        </script>
        <?php
    	
    }
    add_action('admin_head', 'optionsframework_admin_message'); 
    function optionsframework_woo_hide() { 
    	
    	//Tweaked the message on theme activate
    	if (!function_exists( 'is_woocommerce' ) ) : 
    		?>
    		<script type='text/javascript'>
    		jQuery(function(){
    			
    			jQuery(document).ready(function(){	
    				jQuery('.woocommercesettings').hide();
    			});
    		
    		});
    		</script>
    		<?php
    	endif;
    	
    }
    add_action('admin_head', 'optionsframework_woo_hide'); 
    /*-----------------------------------------------------------------------------------*/
    /* Small function to get all header classes */
    /*-----------------------------------------------------------------------------------*/
    	function of_get_header_classes_array() {
    		global $of_options_pmc;
    		$hooks = '';
    		foreach ($of_options_pmc as $value) {
    			
    			if ($value['type'] == 'heading') {
    				$hooks[] = preg_replace('[^A-Za-z0-9]', '', strtolower($value['name']) );
    			}
    			
    		}
    		
    		return $hooks;
    		
    	}
    	
    /*-----------------------------------------------------------------------------------*/
    /* function to output css options */
    /*-----------------------------------------------------------------------------------*/
    	
    
    function generate_options_css($newdata) {
    
    	$pmc_data = $newdata;
    
    	$css_dir = get_template_directory() . '/css/'; // Shorten code, save 1 call
    
    	ob_start(); // Capture all output (output buffering)
    
    	require($css_dir . 'style_options.php'); // Generate CSS
    
    	$css = ob_get_cl
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : single_home_port.php
    Ligne1: <?php
    
    
        $root = dirname(dirname(dirname(dirname(__FILE__))));
        require_once($root.'/wp-load.php');
    
    
    	global $wpdb;
    	$pc = new WP_Query(ar
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : header.php
    Ligne1: <!DOCTYPE html>
    <html <?php language_attributes(); ?> class='no-js' >
    <!-- start -->
    <head>
    	<meta charset='<?php bloginfo( 'charset' ); ?>' />
    	<meta name='viewport' content='width=device-width, initial-scale=1, maximum-scale=1' />
        <meta name='format-detection' content='telephone=no'>
    	<meta http-equiv='Content-Type' content='<?php bloginfo('html_type'); ?>; charset=<?php bloginfo('charset'); ?>' />
    	<link rel='alternate' type='application/atom+xml' title='<?php bloginfo('name'); ?> Atom Feed' href='<?php bloginfo('atom_url'); ?>' />
    	<?php if ( is_singular() && get_option( 'thread_comments' ) ) {wp_enqueue_script( 'comment-reply' ); }?>
    	
    	<?php wp_head();?>
    </head>		
    <!-- start body -->
    <body <?php body_class(); ?> >
    	<!-- start header -->
    			<!-- fixed menu -->		
    			<?php 
    			global $pmc_data;
    			include_once( ABSPATH . 'wp-admin/includes/plugin.php' );			
    			$scroll_men
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : options-importer.php
    Ligne4: require_once(ABSPATH . 'wp-admin/includes/file.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
    The theme appears to use include or require : single_home_post.php
    Ligne3: require_once($root.'/wp-load.php');
    If these are being used to include separate sections of a template from independent files, then get_template_part() should be used instead. Otherwise, use include_once or require_once instead.
Other checked themes