94
Résultats de validation

CosmosWP

WordPress 6.4.3 theme Gratuit

CosmosWP

WordPress 6.4.3 theme Gratuit
94
Ce thème est libre de distribution
Attention
  1. tags du thème : Présence de tags inconnusTag inconnu custom-logo trouvé dans l'entête du fichier style.css.Tag inconnu block-styles trouvé dans l'entête du fichier style.css.Tag inconnu wide-blocks trouvé dans l'entête du fichier style.css.
  2. Barre d'admin cachée : Barre d'admin cachée dans CSSLes thèmes ne doivent pas cacher la barre d'admin. Détecté dans le fichier style.min-rtl.css.
  3. Pagination des commentaires : Déclaration de la pagination des commentairesLe thème ne prend pas en charge la pagination de commentaire. La fonction paginate_comments_links() permet d'ajouter une pagination de commentaire.
  4. Eléments custom : Présence d'une entête customAucune référence à custom header n'a été trouvée dans le thème.
  5. Eléments custom : Présence d'un fond customAucune référence à custom background n'a été trouvée dans le thème.
  6. Implémentation de la date et de l'heure : Utilisation de date_i18n()Au moins une date codée en dur a été trouvée dans le fichier footer_copyright.php. Il est préférable d'utiliser la fonction get_option( 'date_format' )à la place.
Info
  1. Liens statiques : Présence de liens codés en durLien potentiellement codés en dur trouvé dans le fichier intro.php.246: <a href='https://www.demo.cosmoswp.com/' class='cwp-btn cwp-btn-white-outline' targe249: $upgrade = '<a href='https://www.cosmoswp.com/pricing/' target='_blank' rel='noopener' class='cw515: echo '<a href='https://www.cosmoswp.com/pricing/' class='cwp-btn cwp-btn-primary' target='249: $upgrade = '<a href='https://www.cosmoswp.com/pricing/' target='_blank' rel='noopener' class='cw275: <a href='https://www.cosmoswp.com/' target='_blank' class='cwp-btn cwp-btn-sucess'><343: <a href='https://www.cosmoswp.com/documentation/' target='_blank' class='cwp-btn cwp388: <a href='https://www.cosmoswp.com/' class='cwp-btn cwp-btn-primary' target='_blank' 515: echo '<a href='https://www.cosmoswp.com/pricing/' class='cwp-btn cwp-btn-primary' target='211: 'a' => sprintf( esc_html__( 'Yes, the theme fully supports Gutenberg Blocks. The demo of CosmosWP theme is created primarily on the base of %1$sGutentor: WordPress Page Building Blocks%2$s ', 'cosmoswp' ), '<a href='https://www.gutentor.com/' target='_blank'>', '</a>' ),220: 'a' => sprintf( esc_html__( 'Gutentor is a WordPress plugin based on Gutenberg Blocks, modern drag & drop WordPress page builder Know more about it on %1$sGutentor official website%2$s', 'cosmoswp' ), '<a href='https://www.gutentor.com/' target='_blank'>', '</a>' ),276: <a href='https://www.gutentor.com/' target='_blank' class='cwp-btn cwp-btn-danger'><306: <span class='dashicons dashicons-smartphone'></span> <b><?php esc_html_e( 'Support:', 'cosmoswp' ); ?> </b><a href='https://premium.acmeit.org/support-tickets/' target='_blank'><?php esc_html375: <a href='https://premium.acmeit.org/support-tickets/' target='_blank' class='cwp-btn306: <span class='dashicons dashicons-smartphone'></span> <b><?php esc_html_e( 'Support:', 'cosmoswp' ); ?> </b><a href='https://premium.acmeit.org/support-tickets/' target='_blank'><?php esc_html375: <a href='https://premium.acmeit.org/support-tickets/' target='_blank' class='cwp-btn249: $upgrade = '<a href='https://www.cosmoswp.com/pricing/' target='_blank' rel='noopener' class='cw275: <a href='https://www.cosmoswp.com/' target='_blank' class='cwp-btn cwp-btn-sucess'><343: <a href='https://www.cosmoswp.com/documentation/' target='_blank' class='cwp-btn cwp388: <a href='https://www.cosmoswp.com/' class='cwp-btn cwp-btn-primary' target='_blank' 515: echo '<a href='https://www.cosmoswp.com/pricing/' class='cwp-btn cwp-btn-primary' target='Lien potentiellement codés en dur trouvé dans le fichier footer_copyright.php.24: '{theme_author}' => sprintf( '<a href='https://www.cosmoswp.com/'>%1$s</a>', 'CosmosWP' ),
  2. Fichiers optionnels : Présence du fichierde style pour les écritures de droite vers la gauche rtl.cssCe thème ne contient pas le fichier optionnel rtl.php.
  3. Fichiers optionnels : Présence du fichier-template fron-*page.phpCe thème ne contient pas le fichier optionnel front-page.php.
  4. Fichiers optionnels : Présence du fichier-template de page d'accueil home.phpCe thème ne contient pas le fichier optionnel home.php.
  5. Fichiers optionnels : Présence du fichier-template de catégorie category.phpCe thème ne contient pas le fichier optionnel category.php.
  6. Fichiers optionnels : Présence du fichier-template des tags tag.phpCe thème ne contient pas le fichier optionnel tag.php.
  7. Fichiers optionnels : Présence du fichier template de taxinomie taxonomy.phpCe thème ne contient pas le fichier optionnel taxonomy.php.
  8. Fichiers optionnels : Présence du fichier-template author.phpCe thème ne contient pas le fichier optionnel author.php.
  9. Fichiers optionnels : Présence de du fichier-template des dates et heures date.phpCe thème ne contient pas le fichier optionnel date.php.
  10. Fichiers optionnels : Présence du fichier-template des archives archive.phpCe thème ne contient pas le fichier optionnel archive.php.
  11. Fichiers optionnels : Présence du fichier-template des résultats de recherche search.phpCe thème ne contient pas le fichier optionnel search.php.
  12. Fichiers optionnels : Présence du fichier-template des pièces jointes attachment.phpCe thème ne contient pas le fichier optionnel attachment.php.
  13. Fichiers optionnels : Présence du fichier-template des images image.phpCe thème ne contient pas le fichier optionnel image.php.
  14. Utilisation d'includes : Utilisation de include ou de de requireLe thème semble utiliser include ou require : notice.php 244: require_once( ABSPATH . 'wp-admin/includes/file.php' ); Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : dynamic-css.php 1: <?php if ( ! defined( 'ABSPATH' ) ) { exit; } if ( ! class_exists( 'CosmosWP_Dynamic_CSS' ) ) : /** * Create Dynamic CSS * @package CosmosWP * @subpackage CosmosWP * @since 1.0.0 * */ class CosmosWP_Dynamic_CSS { /** * Main Instance * * Insures that only one instance of CosmosWP_Dynamic_CSS exists in memory at any one * time. Also prevents needing to define globals all over the place. * * @since 1.0.0 * @access public * * @return object */ public static function instance() { // Store the instance locally to avoid private static replication static $instance = null; // Only run these methods if they haven't been ran previously if ( null === $instance ) { $instance = new CosmosWP_Dynamic_CSS; } // Always return the instance return $instance; } /** * Run functionality with hooks * * @since 1.0.0 * @access public * * @return void */ public function run() { add_filter( 'wp_head', array( $this, 'dynamic_css' ) ); /*Dynamic CSS file*/ // add_action('admin_bar_init', array($this, 'save_dynamic_css'), 9999); add_action( 'advanced_import_before_complete_screen', array( $this, 'save_dynamic_css' ), 9999 ); add_action( 'customize_save_after', array( $this, 'save_dynamic_css' ), 9999 ); add_action( 'wp_enqueue_scripts', array( $this, 'dynamic_css_enqueue' ), 9999 ); } /** * Minify CSS * * @since 1.0.0 * @access public * * @param string $css * @return mixed */ public function minify_css( $css = '' ) { // Return if no CSS if ( ! $css ) { return ''; } // remove comments $css = preg_replace( '!/\*[^*]*\*+([^/][^*]*\*+)*/!', '', $css ); // Normalize whitespace $css = preg_replace( '/\s+/', ' ', $css ); // Remove ; before } $css = preg_replace( '/;(?=\s*})/', '', $css ); // Remove space after , : ; { } */ > $css = preg_replace( '/(,|:|;|\{|}|\*\/|>) /', '$1', $css ); // Remove space before , ; { } $css = preg_replace( '/ (,|;|\{|})/', '$1', $css ); // Strips leading 0 on decimal values (converts 0.5px into .5px) $css = preg_replace( '/(:| )0\.([0-9]+)(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}.${2}${3}', $css ); // Strips units if value is 0 (converts 0px to 0) $css = preg_replace( '/(:| )(\.?)0(%|em|ex|px|in|cm|mm|pt|pc)/i', '${1}0', $css ); // Trim $css = trim( $css ); // Return minified CSS return $css; } /** * Get dynamic CSS * * @since 1.0.0 * @access public * * @param array $dynamic_css * $dynamic_css = array( * 'all'=>'css', * '768'=>'css', * ); * @return mixed */ public function get_dynamic_css( $dynamic_css = array(), $is_fresh = false ) { $previous_version = false; if ( ! $is_fresh ) { $cwp_dynamic_css = get_theme_mod( 'cwp_dynamic_css' ); if ( ! empty( $cwp_dynamic_css ) ) { return $cwp_dynamic_css; } $previous_version = true; } $getCSS = ''; $dynamic_css = apply_filters( 'cosmoswp_dynamic_css', $dynamic_css ); if ( is_array( $dynamic_css ) ) { foreach ( $dynamic_css as $screen => $css ) { if ( $screen == 'all' ) { if ( is_array( $css ) ) { $getCSS .= implode( ' ', $css ); } else { $getCSS .= $css; } } elseif ( $screen == 'tablet' ) { $getCSS .= '@media (min-width: 720px) {'; if ( is_array( $css ) ) { $getCSS .= implode( ' ', $css ); } else { $getCSS .= $css; } $getCSS .= '}'; } elseif ( $screen == 'desktop' ) { $getCSS .= '@media (min-width: 992px) {'; if ( is_array( $css ) ) { $getCSS .= implode( ' ', $css ); } else { $getCSS .= $css; } $getCSS .= '}'; } } } $output = cosmoswp_dynamic_css()->minify_css( $getCSS ); /*previous version fixed*/ if ( $previous_version ) { set_theme_mod( 'cwp_dynamic_css', $output ); } return $output; } /** * Callback function for wp_head * * @since 1.0.0 * @access public * * @return void */ public static function dynamic_css() { global $wp_customize; if ( isset( $wp_customize ) ) { $output = cosmoswp_dynamic_css()->get_dynamic_css( array(), true ); // Render CSS in the head if ( ! empty( $output ) ) { echo '<!-- CosmosWP Dynamic CSS -->\n<style type=\'text/css\' id='cosmoswp-head-dynamic-css'>\n' . wp_strip_all_tags( $output ) . '\n</style>'; } } else { if ( 'file' == cosmoswp_get_theme_options( 'dynamic-css-options' ) ) { $upload_dir = wp_upload_dir(); if ( ! file_exists( $upload_dir['basedir'] . '/cosmoswp/dynamic-style.css' ) ) { $output = cosmoswp_dynamic_css()->get_dynamic_css(); // Render CSS in the head if ( ! empty( $output ) ) { echo '<!-- CosmosWP Dynamic CSS -->\n<style type=\'text/css\' id='cosmoswp-head-dynamic-css'>\n' . wp_strip_all_tags( $output ) . '\n</style>'; } } } else { $output = cosmoswp_dynamic_css()->get_dynamic_css(); // Render CSS in the head if ( ! empty( $output ) ) { echo '<!-- CosmosWP Dynamic CSS -->\n<style type=\'text/css\' id='cosmoswp-head-dynamic-css'>\n' . wp_strip_all_tags( $output ) . '\n</style>'; } } } } /** * Callback function for admin_bar_init * * @since 1.0.0 * @access public * * @return void */ public static function save_dynamic_css() { ob_start(); $output = cosmoswp_dynamic_css()->get_dynamic_css( array(), true ); /*Get and Set Dynamic Css for later use Both in options and file */ set_theme_mod( 'cwp_dynamic_css', $output ); // We will probably need to load this file require_once( ABSPATH . 'wp-admin' . DIRECTORY_SEPARATOR . 'includes' . DIR Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : woocommerce.php 145: * @return array $classes modified to include 'woocommerce-active' class Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.Le thème semble utiliser include ou require : edd.php 90: * @return array $classes modified to include 'edd-active' class123: * @return array $classes modified to include 'edd-active' class Si ces fonctions sont utilisées pour inclure des sections séparées d'un modèle à partir de fichiers indépendants, alors get_template_part () doit être utilisé à la place.
Other checked themes