WordPress : Code indésirable dans mon site causant des problèmes d’affichage

Publié par Jean-Michel le

J’ai un site WordPress, exécutant le dernier thème Divi. il est actuellement en mode maintenance car j’ai récemment remarqué un espace aléatoire entre l’en-tête et le haut de la page, qui ne s’affiche que sur Chrome et IE, mais pas sur Firefox. Grâce aux outils de développement, j’ai trouvé ce morceau de code dans le corps, qui semble en être la cause.

J’ai supprimé mon thème et réinstallé une nouvelle version, mais le problème persiste. J’ai également essayé d’activer un thème différent, mais cela n’a pas aidé non plus. Traiter avec le support a été lent et je suis impatient de remettre le site en marche.

Est-il temps pour moi de faire une nouvelle installation WP propre ?

entrez la description de l'image ici

Code Header.php pour le thème Divi :

 <!DOCTYPE html>
<html <?php language_attributes(); ?>>
<head>
    <meta charset="<?php bloginfo( 'charset' ); ?>" />
<?php
    elegant_description();
    elegant_keywords();
    elegant_canonical();

    /**
     * Fires in the head, before {@see wp_head()} is called. This action can be used to
     * insert elements into the beginning of the head before any styles or scripts.
     *
     * @since 1.0
     */
    do_action( 'et_head_meta' );

    $template_directory_uri = get_template_directory_uri();
?>

    <link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />

    <script type="text/javascript">
        document.documentElement.className = 'js';
    </script>

    <?php wp_head(); ?>
</head>
<body <?php body_class(); ?>>
<?php
    $product_tour_enabled = et_builder_is_product_tour_enabled();
    $page_container_style = $product_tour_enabled ? ' style="padding-top: 0px;"' : ''; ?>
    <div id="page-container"<?php echo $page_container_style; ?>>
<?php
    if ( $product_tour_enabled || is_page_template( 'page-template-blank.php' ) ) {
        return;
    }

    $et_secondary_nav_items = et_divi_get_top_nav_items();

    $et_phone_number = $et_secondary_nav_items->phone_number;

    $et_email = $et_secondary_nav_items->email;

    $et_contact_info_defined = $et_secondary_nav_items->contact_info_defined;

    $show_header_social_icons = $et_secondary_nav_items->show_header_social_icons;

    $et_secondary_nav = $et_secondary_nav_items->secondary_nav;

    $et_top_info_defined = $et_secondary_nav_items->top_info_defined;

    $et_slide_header = 'slide' === et_get_option( 'header_style', 'left' ) || 'fullscreen' === et_get_option( 'header_style', 'left' ) ? true : false;
?>

    <?php if ( $et_top_info_defined && ! $et_slide_header || is_customize_preview() ) : ?>
        <?php ob_start(); ?>
        <div id="top-header"<?php echo $et_top_info_defined ? '' : 'style="display: none;"'; ?>>
            <div class="container clearfix">

            <?php if ( $et_contact_info_defined ) : ?>

                <div id="et-info">
                <?php if ( '' !== ( $et_phone_number = et_get_option( 'phone_number' ) ) ) : ?>
                    <span id="et-info-phone"><?php echo et_sanitize_html_input_text( $et_phone_number ); ?></span>
                <?php endif; ?>

                <?php if ( '' !== ( $et_email = et_get_option( 'header_email' ) ) ) : ?>
                    <a href="<?php echo esc_attr( 'mailto:' . $et_email ); ?>"><span id="et-info-email"><?php echo esc_html( $et_email ); ?></span></a>
                <?php endif; ?>

                <?php
                if ( true === $show_header_social_icons ) {
                    get_template_part( 'includes/social_icons', 'header' );
                } ?>
                </div> <!-- #et-info -->

            <?php endif; // true === $et_contact_info_defined ?>

                <div id="et-secondary-menu">
                <?php
                    if ( ! $et_contact_info_defined && true === $show_header_social_icons ) {
                        get_template_part( 'includes/social_icons', 'header' );
                    } else if ( $et_contact_info_defined && true === $show_header_social_icons ) {
                        ob_start();

                        get_template_part( 'includes/social_icons', 'header' );

                        $duplicate_social_icons = ob_get_contents();

                        ob_end_clean();

                        printf(
                            '<div class="et_duplicate_social_icons">
                                %1$s
                            </div>',
                            $duplicate_social_icons
                        );
                    }

                    if ( '' !== $et_secondary_nav ) {
                        echo $et_secondary_nav;
                    }

                    et_show_cart_total();
                ?>
                </div> <!-- #et-secondary-menu -->

            </div> <!-- .container -->
        </div> <!-- #top-header -->
    <?php
        $top_header = ob_get_clean();

        /**
         * Filters the HTML output for the top header.
         *
         * @since ??
         *
         * @param string $top_header
         */
        echo apply_filters( 'et_html_top_header', $top_header );
    ?>
    <?php endif; // true ==== $et_top_info_defined ?>

    <?php if ( $et_slide_header || is_customize_preview() ) : ?>
        <?php ob_start(); ?>
        <div class="et_slide_in_menu_container">
            <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) || is_customize_preview() ) { ?>
                <span class="mobile_menu_bar et_toggle_fullscreen_menu"></span>
            <?php } ?>

            <?php
                if ( $et_contact_info_defined || true === $show_header_social_icons || false !== et_get_option( 'show_search_icon', true ) || class_exists( 'woocommerce' ) || is_customize_preview() ) { ?>
                    <div class="et_slide_menu_top">

                    <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) ) { ?>
                        <div class="et_pb_top_menu_inner">
                    <?php } ?>
            <?php }

                if ( true === $show_header_social_icons ) {
                    get_template_part( 'includes/social_icons', 'header' );
                }

                et_show_cart_total();
            ?>
            <?php if ( false !== et_get_option( 'show_search_icon', true ) || is_customize_preview() ) : ?>
                <?php if ( 'fullscreen' !== et_get_option( 'header_style', 'left' ) ) { ?>
                    <div class="clear"></div>
                <?php } ?>
                <form role="search" method="get" class="et-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
                    <?php
                        printf( '<input type="search" class="et-search-field" placeholder="%1$s" value="%2$s" name="s" title="%3$s" />',
                            esc_attr__( 'Search &hellip;', 'Divi' ),
                            get_search_query(),
                            esc_attr__( 'Search for:', 'Divi' )
                        );
                    ?>
                    <button type="submit" id="searchsubmit_header"></button>
                </form>
            <?php endif; // true === et_get_option( 'show_search_icon', false ) ?>

            <?php if ( $et_contact_info_defined ) : ?>

                <div id="et-info">
                <?php if ( '' !== ( $et_phone_number = et_get_option( 'phone_number' ) ) ) : ?>
                    <span id="et-info-phone"><?php echo et_sanitize_html_input_text( $et_phone_number ); ?></span>
                <?php endif; ?>

                <?php if ( '' !== ( $et_email = et_get_option( 'header_email' ) ) ) : ?>
                    <a href="<?php echo esc_attr( 'mailto:' . $et_email ); ?>"><span id="et-info-email"><?php echo esc_html( $et_email ); ?></span></a>
                <?php endif; ?>
                </div> <!-- #et-info -->

            <?php endif; // true === $et_contact_info_defined ?>
            <?php if ( $et_contact_info_defined || true === $show_header_social_icons || false !== et_get_option( 'show_search_icon', true ) || class_exists( 'woocommerce' ) || is_customize_preview() ) { ?>
                <?php if ( 'fullscreen' === et_get_option( 'header_style', 'left' ) ) { ?>
                    </div> <!-- .et_pb_top_menu_inner -->
                <?php } ?>

                </div> <!-- .et_slide_menu_top -->
            <?php } ?>

            <div class="et_pb_fullscreen_nav_container">
                <?php
                    $slide_nav = '';
                    $slide_menu_class = 'et_mobile_menu';

                    $slide_nav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
                    $slide_nav .= wp_nav_menu( array( 'theme_location' => 'secondary-menu', 'container' => '', 'fallback_cb' => '', 'echo' => false, 'items_wrap' => '%3$s' ) );
                ?>

                <ul id="mobile_menu_slide" class="<?php echo esc_attr( $slide_menu_class ); ?>">

                <?php
                    if ( '' == $slide_nav ) :
                ?>
                        <?php if ( 'on' == et_get_option( 'divi_home_link' ) ) { ?>
                            <li <?php if ( is_home() ) echo( 'class="current_page_item"' ); ?>><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php esc_html_e( 'Home', 'Divi' ); ?></a></li>
                        <?php }; ?>

                        <?php show_page_menu( $slide_menu_class, false, false ); ?>
                        <?php show_categories_menu( $slide_menu_class, false ); ?>
                <?php
                    else :
                        echo( $slide_nav );
                    endif;
                ?>

                </ul>
            </div>
        </div>
    <?php
        $slide_header = ob_get_clean();

        /**
         * Filters the HTML output for the slide header.
         *
         * @since ??
         *
         * @param string $top_header
         */
        echo apply_filters( 'et_html_slide_header', $slide_header );
    ?>
    <?php endif; // true ==== $et_slide_header ?>

    <?php ob_start(); ?>
        <header id="main-header" data-height-onload="<?php echo esc_attr( et_get_option( 'menu_height', '66' ) ); ?>">
            <div class="container clearfix et_menu_container">
            <?php
                $logo = ( $user_logo = et_get_option( 'divi_logo' ) ) && '' != $user_logo
                    ? $user_logo
                    : $template_directory_uri . '/images/logo.png';

                ob_start();
            ?>
                <div class="logo_container">
                    <span class="logo_helper"></span>
                    <a href="<?php echo esc_url( home_url( '/' ) ); ?>">
                        <img src="<?php echo esc_attr( $logo ); ?>" alt="<?php echo esc_attr( get_bloginfo( 'name' ) ); ?>" id="logo" data-height-percentage="<?php echo esc_attr( et_get_option( 'logo_height', '54' ) ); ?>" />
                    </a>
                </div>
            <?php
                $logo_container = ob_get_clean();

                /**
                 * Filters the HTML output for the logo container.
                 *
                 * @since ??
                 *
                 * @param string $logo_container
                 */
                echo apply_filters( 'et_html_logo_container', $logo_container );
            ?>
                <div id="et-top-navigation" data-height="<?php echo esc_attr( et_get_option( 'menu_height', '66' ) ); ?>" data-fixed-height="<?php echo esc_attr( et_get_option( 'minimized_menu_height', '40' ) ); ?>">
                    <?php if ( ! $et_slide_header || is_customize_preview() ) : ?>
                        <nav id="top-menu-nav">
                        <?php
                            $menuClass = 'nav';
                            if ( 'on' == et_get_option( 'divi_disable_toptier' ) ) $menuClass .= ' et_disable_top_tier';
                            $primaryNav = '';

                            $primaryNav = wp_nav_menu( array( 'theme_location' => 'primary-menu', 'container' => '', 'fallback_cb' => '', 'menu_class' => $menuClass, 'menu_id' => 'top-menu', 'echo' => false ) );

                            if ( '' == $primaryNav ) :
                        ?>
                            <ul id="top-menu" class="<?php echo esc_attr( $menuClass ); ?>">
                                <?php if ( 'on' == et_get_option( 'divi_home_link' ) ) { ?>
                                    <li <?php if ( is_home() ) echo( 'class="current_page_item"' ); ?>><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php esc_html_e( 'Home', 'Divi' ); ?></a></li>
                                <?php }; ?>

                                <?php show_page_menu( $menuClass, false, false ); ?>
                                <?php show_categories_menu( $menuClass, false ); ?>
                            </ul>
                        <?php
                            else :
                                echo( $primaryNav );
                            endif;
                        ?>
                        </nav>
                    <?php endif; ?>

                    <?php
                    if ( ! $et_top_info_defined && ( ! $et_slide_header || is_customize_preview() ) ) {
                        et_show_cart_total( array(
                            'no_text' => true,
                        ) );
                    }
                    ?>

                    <?php if ( $et_slide_header || is_customize_preview() ) : ?>
                        <span class="mobile_menu_bar et_pb_header_toggle et_toggle_<?php echo esc_attr( et_get_option( 'header_style', 'left' ) ); ?>_menu"></span>
                    <?php endif; ?>

                    <?php if ( ( false !== et_get_option( 'show_search_icon', true ) && ! $et_slide_header ) || is_customize_preview() ) : ?>
                    <div id="et_top_search">
                        <span id="et_search_icon"></span>
                    </div>
                    <?php endif; // true === et_get_option( 'show_search_icon', false ) ?>

                    <?php

                    /**
                     * Fires at the end of the 'et-top-navigation' element, just before its closing tag.
                     *
                     * @since 1.0
                     */
                    do_action( 'et_header_top' );

                    ?>
                </div> <!-- #et-top-navigation -->
            </div> <!-- .container -->
            <div class="et_search_outer">
                <div class="container et_search_form_container">
                    <form role="search" method="get" class="et-search-form" action="<?php echo esc_url( home_url( '/' ) ); ?>">
                    <?php
                        printf( '<input type="search" class="et-search-field" placeholder="%1$s" value="%2$s" name="s" title="%3$s" />',
                            esc_attr__( 'Search &hellip;', 'Divi' ),
                            get_search_query(),
                            esc_attr__( 'Search for:', 'Divi' )
                        );
                    ?>
                    </form>
                    <span class="et_close_search_field"></span>
                </div>
            </div>
        </header> <!-- #main-header -->
    <?php
        $main_header = ob_get_clean();

        /**
         * Filters the HTML output for the main header.
         *
         * @since ??
         *
         * @param string $main_header
         */
        echo apply_filters( 'et_html_main_header', $main_header );
    ?>
        <div id="et-main-area">
    <?php
        /**
         * Fires after the header, before the main content is output.
         *
         * @since ??
         */
        do_action( 'et_before_main_content' );

Solution n°1 trouvée

Il s’avère que mon site contenait des logiciels malveillants.

Lire également:  Wordpress : Ajouter des div supplémentaires aux éléments de navigation WordPress

d’autres choses étranges se passaient alors j’ai contacté mon hôte. Ils ont scanné le site et des logiciels malveillants sont apparus. Je l’ai nettoyé et maintenant c’est bon !

Catégories : Wordpress

Jean-Michel

Jean-Michel est en charge de la partie blog du site. Il met en place la stratégie de contenu et répond aux questions fréquentes sur Wordpress.

0 commentaire

Laisser un commentaire

Avatar placeholder

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *