Bonjour,

j'ai un problème tout simple : après avoir passé des heures à intégrer une maquette pour wordpress en local, tout se passe bien jusqu'au test sur un wordpress en ligne, où le thème ne s'affiche tout simplement pas (écran vide) après l'avoir sélectionné dans le panneaux de thèmes. Il ne s'affiche rien non plus quand je fais "prévisualisation en direct". Aucun message d'erreur. Ça marchait nikel en local pourtant.

Quelqu'un aurait-il une idée pour régler ça ?

Pour info j'ai codé le thème avec l'aide du Framework Grafikart. J'ai ajouté simplement un menu et un custom post type. Dans mon fichier functions.php il n'y a en plus de ça qu'une fonction pour activer le module de liens, et deux fonctions pour inclure une feuille de style conditionnelle (pour IE). Mais je répète que tout marche bien en local.

A+
Victor

5 réponses


Grafikart
Réponse acceptée

Il faudrait que tu accède aux logs de PHP surement que la version de PHP en ligne n'est pas la même qu'en local, et du coup une fonction plante.

inwardmovement
Auteur
Réponse acceptée

C'est bon ! L'erreur venait du fait que mon types faq.php était nommé en minuscule, alors que dans le functions.php de mon thème je déclare le type en majuscule :

'types'   => array('FAQ')

Curieux car cela ne posait pas de problème en local... Un pote me dit que c'est sûrement du à la différence entre windows et linux (qui prend en compte les majuscules, et qui fait tourner le serveur probablement).
Merci pour votre aide précieuse, et bon dimanche :)

(pour info Jonathan c'est moi qui t'ai proposé l'intégration wp en vidéo avec mon thème, j'ai donc intégré le premier thème, si tu es toujours intéressé cela ne concernera que le deuxième thème du coup)

Ok merci pour la piste ! Je vais regarder ça et je tiens au courant.

Ou alors une extensions ?

Pour info je n'ai aucune extension d'activée, je suis sur un wordpress vierge (j'ai testé en réinstallant une fois sans différence).

Alors j'ai activé php 5.5 qui était à 5.4 sur mon serveur mutualisé (ovh).
J'en ai profité pour activer les logs PHP, et voici les erreurs affichées:

Warning: require(.../www/lab/wordpress/wp-content/themes/algoWP/types/FAQ.php): failed to open stream: No such file or directory in .../www/lab/wordpress/wp-content/themes/algoWP/framework/theme.php on line 96

Fatal error: require(): Failed opening required '.../www/lab/wordpress/wp-content/themes/algoWP/types/FAQ.php' (include_path='.:/usr/local/php5.5/lib/php') in .../www/lab/wordpress/wp-content/themes/algoWP/framework/theme.php on line 96

La ligne concernée est la suivante (dans le fichier theme.php du framework Grafikart):

require(THEME_TYPES.$v.'.php');

dans la fonction types():

    /** 
    * Ajoute les custom post type et les infos associées
    * inclue les fichiers dans THEME/types/post-type.php (ne fait rien de plus)
    * **/
    function types(){
        require(THEME_FRAMEWORK.'helpers/metas.php');
        foreach($this->options['types'] as $v){
        require(THEME_TYPES.$v.'.php');
        }
    }

Dois-je modifier quelque chose dans le framework ? Est-ce un bug ?
Pour info je suis avec Wordpress 4.3