Répondre à : Déboguage du Kit CNRS Impossible!!

Présentation du Kit Web du CNRS Forums Installation du Kit Web CNRS Déboguage du Kit CNRS Impossible!! Répondre à : Déboguage du Kit CNRS Impossible!!

#6498

bonjour,

idem (2 jours perdu) et j’envisage meme de changer de thème en gardant le reste du kit, si pas resolu rapidement.

en effet, qd on passe en WP_DEBUG + WP_DEBUG_DISPLAY:true, nos propres bugs ne sont pas visualisés car ce ini_set(« display_errors », 0) neutralise tout les réglages du wp-config.php et masque les bugs du site

c’est bloquant car:

– inc-pages-functions.php contient beaucoup de bugs (basiques: this au lieu de $this, variables non initialisées, cas de pages non traités dans certaines fonctions, …-) et un des fichier le plus importants du thème (dispatche ou extraits les informations vers les pages)

– la démo ne fonctionne que parce que les bugs sont masqués :
si on sort du cas de figure de cette démo, on a des comportements bizarrs (logique: les bugs by-passés font faire des sauts de puce/sorties dans le code)

personnellement, j’ai corrigé qq bugs mais l’administration plante encore … abandon ==> autre solution temporaire :

A- blinder inc-pages-functions.php :
fait des ini_set(« display_errors », 0); en entrée de chaque fonction sensible et ini_set(« display_errors », ?) en sortie
Pour que le site respecte au final les options du wp-config.php (sinon soit on développe à l’aveugle, soit faut distinguer ses bugs parmi 15 autres bugs)

B- la fonction qui automatise ca:

function err($mode='off') {
    
    static $err=0;
    if($err=0)
            $err=ini_get("display_errors");
    
    if($mode=='off')
        if(WP_DEBUG) 
            if(WP_DEBUG_DISPLAY)
                ini_set("display_errors", 0);
            
    if($mode=='on')
        if(WP_DEBUG) 
            if(WP_DEBUG_DISPLAY)
                ini_set("display_errors", $err);    
}

C- utilisation dans fichier inc-pages-functions.php :

//ini_set("display_errors", 0); //VERSION CORRIGEE

avec ex de fonction qui pose pb :

class CnrswebkitPageItemsList {
....
public function get_html_item_list($template = false) {

    public function get_html_item_list($template = false) {
        
        err();
        if (!$template) {
            $template = $this->post_type;
        }

      ....

            switch ($this->post_type) {
                case 'actualite':
                    if (is_home() || is_front_page()) {
                        echo '<article id="actualite-social-links" class="widget"><h1>Suivez-nous</h1></article>';
                    }
                    break;
            }
        }
        err('on');
    }

D- test :

faites un echo zzzz; dans votre functions.php du thème enfant. et vous allez voir votre bug seul (sans ceux de inc-pages-functions.php)

mais c’est vraiment pas une bonne solution car le kit dysfonctionnera qd meme (il marche « grace » à ces bugs ?….).
Et sera écrasé lors la prochaine mise à jour.

——————————————————–

il faudrait signaler ca à l’équipe : car on peut pas travailler sur cette base (+ failles de sécurité dans cette version: l’ingenieur système refusera de mettre en ligne un tel appât à hackers)