0
Validation results

RealHomes Theme - JOJOThemes.com

RealHomes Theme - JOJOThemes.com

WordPress 4.8.2 theme
0
Critical alerts
  1. Customizer : Sanitization of Customizer settings Found a Customizer setting that did not have a sanitization callback function in file header.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file home.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file footer.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file payments.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file url-slugs.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file search.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file list-and-taxonomy.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file news.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file currency-switcher.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file styles.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file contact.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file agents.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file price-format.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file property.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file members.php. Every call to the add_setting() method needs to have a sanitization callback function passed.Found a Customizer setting that did not have a sanitization callback function in file misc.php. Every call to the add_setting() method needs to have a sanitization callback function passed.
  2. Security breaches : Use of base64_encode() Found base64_encode in file recaptchalib.php.
     return strtr(base64_encode ($x), '+/', '-_');
  3. Presence of iframes : iframes are sometimes used to load unwanted adverts and malicious code on another site Found <iframe src="//www.google.com/recaptcha/api/noscript?k=<?php echo esc_attr( $reCAPTCHA_public_key ); ?> in file custom-recaptcha.php.
    Ligne46: <iframe src='//www.google.com/recaptcha/api/noscript?k=<?php echo esc_attr(
    Found <iframe src="'. $server . '/noscript?k=' . $pubkey . $errorpart . '" height="300" width="500" frameborder="0"> in file recaptchalib.php.
    Ligne125: <iframe src=''. $server . '/noscript?k=' . $pubkey . $errorpart . '' height
  4. Malware : Operations on file system file_get_contents was found in the file parsers.php
    Ligne252: if ( ! xml_parse( $xml, file_get_contents( $file ), true ) ) {
    fopen was found in the file parsers.php
    Ligne394: $fp = $this->fopen( $file, 'r' );
    Ligne610: function fopen( $filename, $mode = 'r' ) {
    Ligne613: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Ligne443: $this->fclose($fp);
    Ligne628: function fclose( $fp ) {
    Ligne631: return fclose( $fp );
    fopen was found in the file parsers.php
    Ligne394: $fp = $this->fopen( $file, 'r' );
    Ligne610: function fopen( $filename, $mode = 'r' ) {
    Ligne613: return fopen( $filename, $mode );
    fopen was found in the file parsers.php
    Ligne394: $fp = $this->fopen( $file, 'r' );
    Ligne610: function fopen( $filename, $mode = 'r' ) {
    Ligne613: return fopen( $filename, $mode );
    fclose was found in the file parsers.php
    Ligne443: $this->fclose($fp);
    Ligne628: function fclose( $fp ) {
    Ligne631: return fclose( $fp );
    fclose was found in the file parsers.php
    Ligne443: $this->fclose($fp);
    Ligne628: function fclose( $fp ) {
    Ligne631: return fclose( $fp );
    file_get_contents was found in the file radium-importer.php
    Ligne441: $data = file_get_contents( $file );
    Ligne548: $data = file_get_contents( $file );
    file_get_contents was found in the file radium-importer.php
    Ligne441: $data = file_get_contents( $file );
    Ligne548: $data = file_get_contents( $file );
    fwrite was found in the file recaptchalib.php
    Ligne84: fwrite($fs, $http_request);
    fclose was found in the file recaptchalib.php
    Ligne88: fclose($fs);
  5. Malware : Network operations fsockopen was found in the file recaptchalib.php
    Ligne80: if( false == ( $fs = @fsockopen($host, $port, $errno, $errstr, 10) ) ) {
  6. Admin menu : Themes should use add_theme_page() for adding admin pages. File radium-importer.php :
    Ligne146: add_submenu_page('themes.php', 'Import Demo Data', 'Import Demo Data', 'swi
    File real-estate.php :
    Ligne75: add_submenu_page(
  7. Hidden admin bar : Hidden admin Bar Themes should not hide admin bar. Detected in file : member.php.
  8. Deprecated functions : screen_icon screen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Ligne1013: screen_icon();
  9. Post pagination : Implementation The theme doesn't have post pagination code in it. Use posts_nav_link() or paginate_links() or the_posts_pagination() or the_posts_navigation() or next_posts_link() and previous_posts_link() to add post pagination.
Warning
  1. core scripts deregistered : Core scripts deregistrationFound wp_deregister_script in functions.php. Themes must not deregister core scripts.
    Ligne577: wp_deregister_script( 'flexslider' );   // deregister flexslider if it regi
  2. theme tags : Presence of bad theme tagsThe tag light has been deprecated, it must be removed from style.css header.
  3. Text domain : Incorrect use of translation functions.Wrong installation directory for the theme name. The directory name must match the slug of the theme. This theme's correct slug and text-domain is realhomes-theme-jojothemes-com.
  4. Text domain : Incorrect use of translation functions.Found a translation function that is missing a text-domain. Function __, with the arguments in file member.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'framework' in file template-compare.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'framework' in file template-compare.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'framework' in file template-compare.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'framework' in file template-compare.php.Found a translation function that is missing a text-domain. Function esc_html_e, with the arguments 'framework' in file template-compare.php.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 framework, radium, inspiry, meta-box.
  5. Plugin territory : Plugin territory functionalitiesThe theme uses the register_post_type() function, which is plugin-territory functionality.The theme uses the add_shortcode() function. Custom post-content shortcodes are plugin-territory functionality.
  6. Custom elements : Presence of custom headerNo reference to custom header was found in the theme.
  7. Deprecated functions : screen_iconscreen_icon found in file wordpress-importer.php. Deprecated since version 3.8.
    Ligne1013: screen_icon();
  8. 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.
  9. I18N implementation : Proper use of _e(Possible variable $compare_feature found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property_types found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $city found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_locations_str found in translation function in template-compare.php. Translation function calls should not contain PHP variables.
  10. I18N implementation : Proper use of ___all(Possible variable $user_register found in translation function in member.php. Translation function calls should not contain PHP variables.
  11. I18N implementation : Proper use of esc_html_e(Possible variable $compare_feature found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_property_types found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $city found in translation function in template-compare.php. Translation function calls should not contain PHP variables. Possible variable $compare_locations_str found in translation function in template-compare.php. Translation function calls should not contain PHP variables.
  12. 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. Static links : Presence of hard-coded linksPossible hard-coded links were found in the file footer.php.
    Ligne76: 'default' => 'Designed by <a href='http://www.inspirythemes.com'>Inspiry Themes</a>',
    Possible hard-coded links were found in the file contact.php.
    Ligne42: 'description' => 'You can use <a href='http://www.latlong.net/' target='_blank'>latlong.net</a> OR <a href='http:/
    Possible hard-coded links were found in the file members.php.
    Ligne281: 'description' => 'You can use <a href='http://www.latlong.net/' target='_blank'>latlong.net</a> OR <a href='http:/
    Possible hard-coded links were found in the file core.php.
    Ligne40: $links[] = '<a href='https://metabox.io/docs/'>' . __( 'Documentation', 'meta-box' ) . '</a>';
    Ligne41: $links[] = '<a href='https://metabox.io/plugins/'>' . __( 'Extensions', 'meta-box' ) . '</a>';
  2. Optional files : Presence of rtl stylesheet rtl.cssThis theme does not contain optional file rtl.php.
  3. Optional files : Presence of front page template file front-page.phpThis theme does not contain optional file front-page.php.
  4. Optional files : Presence of category template file category.phpThis theme does not contain optional file category.php.
  5. Optional files : Presence of tag template file tag.phpThis theme does not contain optional file tag.php.
  6. Optional files : Presence of attachment template file attachment.phpThis theme does not contain optional file attachment.php.
  7. Use of includes : Use of include or requireThe theme appears to use include or require : customizer.php
    Ligne31: require_once( INSPIRY_FRAMEWORK . 'customizer/custom/control-multiple-check
    Ligne32: require_once( INSPIRY_FRAMEWORK . 'customizer/custom/control-intro-text.php
    Ligne33: require_once( INSPIRY_FRAMEWORK . 'customizer/custom/control-separator.php'
    Ligne55: require_once( INSPIRY_FRAMEWORK . 'customizer/header.php' );
    Ligne61: require_once( INSPIRY_FRAMEWORK . 'customizer/home.php' );
    Ligne67: require_once( INSPIRY_FRAMEWORK . 'customizer/search.php' );
    Ligne73: require_once( INSPIRY_FRAMEWORK . 'customizer/price-format.php' );
    Ligne81: require_once( INSPIRY_FRAMEWORK . 'customizer/currency-switcher.php' );
    Ligne88: require_once( INSPIRY_FRAMEWORK . 'customizer/property.php' );
    Ligne94: require_once( INSPIRY_FRAMEWORK . 'customizer/news.php' );
    Ligne100: require_once( INSPIRY_FRAMEWORK . 'customizer/gallery.php' );
    Ligne106: require_once( INSPIRY_FRAMEWORK . 'customizer/agents.php' );
    Ligne112: require_once( INSPIRY_FRAMEWORK . 'customizer/contact.php' );
    Ligne118: require_once( INSPIRY_FRAMEWORK . 'customizer/list-and-taxonomy.php' );
    Ligne124: require_once( INSPIRY_FRAMEWORK . 'customizer/misc.php' );
    Ligne130: require_once( INSPIRY_FRAMEWORK . 'customizer/footer.php' );
    Ligne136: require_once( INSPIRY_FRAMEWORK . 'customizer/members.php' );
    Ligne142: require_once( INSPIRY_FRAMEWORK . 'customizer/payments.php' );
    Ligne148: require_once( INSPIRY_FRAMEWORK . 'customizer/url-slugs.php' );
    Ligne154: require_once( INSPIRY_FRAMEWORK . 'customizer/styles.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 : init.php
    Ligne14: require_once( dirname( __FILE__ ) . '/importer/radium-importer.php' ); //lo
    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 : radium-importer.php
    Ligne401: require_once( $class_wp_importer );
    Ligne410: require_once( $class_wp_import );
    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 : inspiry-meta-box.php
    Ligne13: include_once( ABSPATH . 'wp-admin/includes/plugin.php' );
    Ligne100: require_once( get_template_directory() . '/framework/meta-box/meta-box-plug
    Ligne108: require_once( get_template_directory() . '/framework/meta-box/extensions/me
    Ligne116: require_once( get_template_directory() . '/framework/meta-box/extensions/me
    Ligne124: require_once( get_template_directory() . '/framework/meta-box/extensions/me
    Ligne132: require_once( get_template_directory() . '/framework/meta-box/extensions/me
    Ligne139: require_once( get_template_directory() . '/framework/meta-box/config-meta-b
    Ligne145: require_once( get_template_directory() . '/framework/include/additional-det
    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
    Ligne5: include_once( get_template_directory() . '/css/dynamic-css.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 : Pagination.class.php
    Ligne236: include 'render.inc.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 : property-submit-handler.php
    Ligne215: require_once( ABSPATH . 'wp-admin' . '/includes/image.php' );
    Ligne216: require_once( ABSPATH . 'wp-admin' . '/includes/file.php' );
    Ligne217: require_once( ABSPATH . 'wp-admin' . '/includes/media.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 : contact-form-handlers.php
    Ligne52: require_once( get_template_directory() . '/recaptcha/recaptchalib.php' );
    Ligne206: require_once( get_template_directory() . '/recaptcha/recaptchalib.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 : real-estate.php
    Ligne168: require_once( get_template_directory() . '/framework/functions/Pagination.c
    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 : demo-import.php
    Ligne18: include_once( get_template_directory() . '/framework/one-click-demo-install
    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 : load.php
    Ligne7: require_once( INSPIRY_FRAMEWORK . 'functions/header.php' );
    Ligne10: require_once( INSPIRY_FRAMEWORK . 'functions/basic.php' );
    Ligne13: require_once( INSPIRY_FRAMEWORK . 'functions/pagination.php' );
    Ligne16: require_once( INSPIRY_FRAMEWORK . 'functions/price.php' );
    Ligne19: require_once( INSPIRY_FRAMEWORK . 'functions/real-estate.php' );
    Ligne22: require_once( INSPIRY_FRAMEWORK . 'functions/real-estate-search.php' );
    Ligne25: include_once( INSPIRY_FRAMEWORK . 'functions/home.php' );
    Ligne28: require_once( INSPIRY_FRAMEWORK . 'functions/breadcrumbs.php' );
    Ligne31: include_once( INSPIRY_FRAMEWORK . 'functions/member.php' );
    Ligne34: include_once( INSPIRY_FRAMEWORK . 'functions/submit-edit.php' );
    Ligne37: include_once( INSPIRY_FRAMEWORK . 'functions/favorites.php' );
    Ligne40: include_once( INSPIRY_FRAMEWORK . 'functions/contact-form-handlers.php' );
    Ligne43: include_once( INSPIRY_FRAMEWORK . 'functions/property-submit-handler.php' )
    Ligne46: include_once( INSPIRY_FRAMEWORK . 'functions/edit-profile-handler.php' );
    Ligne49: include_once( INSPIRY_FRAMEWORK . 'functions/theme-comment.php' );
    Ligne52: include_once( INSPIRY_FRAMEWORK . 'functions/currency-switcher.php' );
    Ligne55: require_once( INSPIRY_FRAMEWORK . 'functions/demo-import.php' );
    Ligne58: require_once( INSPIRY_FRAMEWORK . 'functions/compare.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 : header.php
    Ligne56: include( get_template_directory() . '/images/icon-mail.svg' );
    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 : property-agent-for-sidebar.php
    Ligne41: <?php include( get_template_directory() . '/images/icon-phone.svg' );
    Ligne49: <?php include( get_template_directory() . '/images/icon-mobile.svg' );
    Ligne57: <?php include( get_template_directory() . '/images/icon-printer.svg' );
    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 : property-agent.php
    Ligne47: <?php include( get_template_directory() . '/images/icon-phone.svg' );
    Ligne55: <?php include( get_template_directory() . '/images/icon-mobile.svg' );
    Ligne63: <?php include( get_template_directory() . '/images/icon-printer.svg' );
    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 : property-metas.php
    Ligne7: include( get_template_directory() . '/images/icon-size.svg' );
    Ligne20: include( get_template_directory() . '/images/icon-bed.svg' );
    Ligne29: include( get_template_directory() . '/images/icon-bath.svg' );
    Ligne38: include( get_template_directory() . '/images/icon-garage.svg' );
    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 : template-users-listing.php
    Ligne119: ?><li class='office'><?php include( get_template_directory() . '/images/icon-phone.svg' ); _e('Office'
    Ligne122: ?><li class='mobile'><?php include( get_template_directory() . '/images/icon-mobile.svg' ); _e('Mobile
    Ligne125: ?><li class='fax'><?php include( get_template_directory() . '/images/icon-printer.svg' ); _e('Fax',
    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 : template-agent-listing.php
    Ligne86: ?><li class='office'><?php include( get_template_directory() . '/images/icon-phone.svg' ); _e('Office'
    Ligne89: ?><li class='mobile'><?php include( get_template_directory() . '/images/icon-mobile.svg' ); _e('Mobile
    Ligne92: ?><li class='fax'><?php include( get_template_directory() . '/images/icon-printer.svg' ); _e('Fax',
    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-agent.php
    Ligne67: ?><li class='office'><?php include( get_template_directory() . '/images/icon-phone.svg' ); _e('Office'
    Ligne70: ?><li class='mobile'><?php include( get_template_directory() . '/images/icon-mobile.svg' ); _e('Mobile
    Ligne73: ?><li class='fax'><?php include( get_template_directory() . '/images/icon-printer.svg' ); _e('Fax',
    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 : listing-view-type.php
    Ligne30: <?php include( get_template_directory() . '/images/list-view.svg' ); ?>
    Ligne33: <?php include( get_template_directory() . '/images/grid-view.svg' ); ?>
    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 : template-contact.php
    Ligne62: ?><li class='phone'><?php include( get_template_directory() . '/images/icon-phone.svg' ); _e('Phone',
    Ligne69: ?><li class='mobile'><?php include( get_template_directory() . '/images/icon-mobile.svg' ); _e('Mobile
    Ligne73: ?><li class='fax'><?php include( get_template_directory() . '/images/icon-printer.svg' ); _e('Fax',
    Ligne77: ?><li class='email'><?php include( get_template_directory() . '/images/icon-mail.svg' ); _e('Email', 
    Ligne81: ?><li class='address'><?php include( get_template_directory() . '/images/icon-map.svg' ); _e('Address',
    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 : author.php
    Ligne86: ?><li class='office'><?php include( get_template_directory() . '/images/icon-phone.svg' ); _e('Office'
    Ligne90: ?><li class='mobile'><?php include( get_template_directory() . '/images/icon-mobile.svg' ); _e('Mobile
    Ligne94: ?><li class='fax'><?php include( get_template_directory() . '/images/icon-printer.svg' ); _e('Fax',
    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