- Statut : non résolu
- Ce sujet contient 7 réponses, 3 participants et a été mis à jour pour la dernière fois par
Tche, le il y a 10 années et 4 mois.
-
AuteurMessages
-
26 décembre 2014 à 13 h 03 min #545612
Bonjour,
Ma configuration WP actuelle
– Version de WordPress : 4.1
– Version de PHP/MySQL : ?hébergement OVH
– Thème utilisé : twentyfourteen-child
– Extensions en place : Akismet, Comment-popularity, contact-form7, Post viewed recently, Relevanssi, Subscribe to comment reloaded, Super socializer, theme-my-login, User submitted posts, Wp-greet.
– Nom de l’hebergeur : OVH
– Adresse du site : http:tst.allwewish.orgProblème(s) rencontré(s) :
J’essaie de limiter l’accès à une page aux personnes connectées au site. Pour ce faire j’utilise le code suivant:<?php
/*
* Template name: Section sécurisée
*/
get_header(); ?>
<div id="main-content" class="main-content">
<div id="primary" class="content-area">
<div id="contentsl" class="site-contentsl" role="main">
<?php
if( is_user_logged_in() ) {
if ( have_posts() ) while ( have_posts() ) : the_post();
echo '<h1>‘ . get_the_title() . ‘</h1>‘;
the_content();
endwhile;
}else{
wp_redirect( ‘http://tst.allwewish.org/?page_id=21653’ ); exit;}
?>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_sidebar(); ?>
</div><!-- #main-content -->
<?php get_footer();?>Ca fonctionne bien quand l’utilisateur est connecté mais quand il ne l’est pas il reçoit le message d’erreur suivant:
Warning: Cannot modify header information – headers already sent by (output started at /home/allwewis/tst/wp-includes/class.wp-scripts.php:159) in /home/allwewis/tst/wp-includes/pluggable.php on line 1178
Quelqu’un aurait-il une solution au problème ou un moyen de le contourner? (par exemple en incluant le formulaire de connexion/inscription à la place de la redirection?)
J’ai cherché cherché mais comme l’erreur renvoie à pluggable.php les réponses trouvées partent dans tous les sens alors que mon problème semble précis…
Je croise les doigts et vous remercie d’avance pour votre aide!!!
A vous lire,Tche
26 décembre 2014 à 13 h 09 min #988327PS: Le problème persiste quand je désactive theme-my-login et/ou Super socializer
26 décembre 2014 à 22 h 32 min #988328up
une 🍺 ou un thé à la menthe pour qui peut m’aider27 décembre 2014 à 5 h 41 min #988329Cette erreur fait l’objet d’un fil de discussion épinglé en tête du forum. Un des fichiers utilisé n’est pas au bon format ou possède un espace qui perturbe le fonctionnement de PHP. Il faut faire une recherche sur les fichiers ayant été modifié manuellement. Il faut donc commencer par le fichier que tu as modifié pour insérer le code. Test en remettant le fichier original (celui du thème ou de WordPress avant toute édition).
27 décembre 2014 à 11 h 46 min #988330Merci pour ta réponse FGE, j’ai trouvé le fil de discussion et je le parcours.
Cela dit, le template repris ci-dessous n’est pas natif de wordpress je l’ai créé moi-même (enfin en me basant sur un tuto ou une discussion de forum).
Je n’ai pas modifié pluggable.php ni wp-config.php
Je n’ai ce soucis qu’avec ce template. (je pense donc que header.php, footer.php et sidebar.php sont bons)
Je vais vérifier functions.php mais vois-tu un autre fichier qui pourrait causer le problème?
Merci déjà et encore.
27 décembre 2014 à 13 h 19 min #988331wp_redirect doit etre utilisé ABSOLUMENT AVANT tout code html
Déplace ton test avant le get_header (en l’adaptant bien sur) et tout ira comme sur des roulettes27 décembre 2014 à 13 h 42 min #988332J’ai lu toute la discussion… (Warning headers…)
J’ai vérifié le codage de wp-config.php, pluggable.php, template-prive.php, functions.php et class.wp-scripts.php et mis wp-config en UTF8 sans DOM, les autres l’étaient déjà.
J’ai effacé le <?php du début de ces fichiers pour le réécrire.
J’ai enlevé les lignes vides à la fin de ces fichiers quand il y en avait.
Mais rien n’y fait,Le message d’erreur est devenu :
Warning: Cannot modify header information – headers already sent by (output started at /home/allwewis/tst/wp-includes/class.wp-scripts.php:160) in /home/allwewis/tst/wp-includes/pluggable.php on line 1178
class.wp-scripts.php:160 au lieu de 159 car j’ai passé une ligne après la balise <?php du début comme recommandé dans la discussion mais rien n'y fait…
Quelqu’un aurait-il une autre proposition?
27 décembre 2014 à 15 h 57 min #988333Un énorme merci Didier!!! Je n’avais pas lu ta réponse…
Pour simplifier, j’ai remplacé la redirection par un texte et un lien vers le formulaire de connexion.
Bonne soirée!!!
✅
Et la bière je l’envoie où? 🙂 -
AuteurMessages
- Vous devez être connecté pour répondre à ce sujet.