Bonjour,
Je suis toute nouvelle sur le forum !

Je suis actuellement en train de faire un site intranet en wordpress pour ma société. Etant mon tout premier site wordpress, je me débrouille plutôt bien, mais malheureusement il y a un problème que je n'arrive pas à résoudre Smiley confus

Mon problème est le suivant :
sur toutes les pages doit s'afficher un encart de gestion de contenu, seulement, j'aimerai faire en sorte que seuls les administrateurs du site soit à même de le voir et que tous mes autres utilisateurs ne l'ai pas.

Pour l'instant, j'ai le code suivant mais je ne sais pas ce qui cloche :s Pourriez-vous m'aider ? Merci d'avance.

<?php if( ! is_admin() ) { ?>
		<section class="admin">
			<section class="wrapper">
				<section class="inner">
					<div class="up">
						<img src="<?php bloginfo('template_directory'); ?>/images/close.png" alt="close" />
						<div class="date">
							<p><?php
								$Now=getdate();
								$Mois=array("rien","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
								$Jour=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
								printf("%s %d %s %d\n",$Jour[$Now['wday']],$Now['mday'],$Mois[$Now['mon']],$Now['year']);
								?>
							</p>
						</div>
					</div>
					<!-- End of up -->
					<div class="buttons-admin">
						<div class="button-edit">
							<a href="" class="move-up-button-edit">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/edit.png" alt="edit" />
									<span>éditer un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-edit -->
						<div class="button-post">
							<a href="" class="move-up-button-post">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/post.png" alt="post" />
									<span>Poster un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-post -->
						<div class="button-suppr">
							<a href="" class="move-up-button-suppr">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/suppr.png" alt="suppr" />
									<span>Supprimer un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-suppr -->
						<div class="clear"></div>
					</div>
					<!-- End of buttons-admin -->
				</section>
				<!-- End of inner -->
			</section>
			<!-- End of wrapper -->
		</section>
		<!-- End of admin -->
	<?php } else { echo "You are not admin";} endif; ?>
Bonjour,

le ! inverse la condition

<?php if( ! is_admin() ) { // Tout ceux qui ne sont pas identifiés comme admin ?>

Modifié par bzh (13 Jan 2014 - 15:19)
Merci de ta réponse rapide !

J'ai enlevé le "! " mais cela m'affiche un parse error :s "Parse error: syntax error, unexpected T_ENDIF"
Hello,

Si tu ouvre ta structure conditionnelle avec des accolades, il faut la fermer avec une accolade, pas avec endif
<?php } else { echo "You are not admin"; [#red]}[/#] ?>

Modifié par audrasjb (13 Jan 2014 - 15:49)
Merci @audrasjb, maintenant ça marche Smiley smile
Du moins, ça s'affiche bien. Mais par contre, chose inexpliquée : alors que je suis admin, je n'ai pas accès à l'encart d'administrateur, et cela me renvoie mon "You are not admin" :s
Bien sûr ^^
Merci de vos participations !


	<?php if( is_admin() ) { ?>
		<section class="admin">
			<section class="wrapper">
				<section class="inner">
					<div class="up">
						<img src="<?php bloginfo('template_directory'); ?>/images/close.png" alt="close" />
						<div class="date">
							<p><?php
								$Now=getdate();
								$Mois=array("rien","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
								$Jour=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
								printf("%s %d %s %d\n",$Jour[$Now['wday']],$Now['mday'],$Mois[$Now['mon']],$Now['year']);
								?>
							</p>
						</div>
					</div>
					<!-- End of up -->
					<div class="buttons-admin">
						<div class="button-edit">
							<a href="" class="move-up-button-edit">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/edit.png" alt="edit" />
									<span>éditer un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-edit -->
						<div class="button-post">
							<a href="" class="move-up-button-post">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/post.png" alt="post" />
									<span>Poster un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-post -->
						<div class="button-suppr">
							<a href="" class="move-up-button-suppr">
								<div class="inside-button">
									<img src="<?php bloginfo('template_directory'); ?>/images/suppr.png" alt="suppr" />
									<span>Supprimer un article</span>
								</div>
							</a>
						</div>
						<!-- End of button-suppr -->
						<div class="clear"></div>
					</div>
					<!-- End of buttons-admin -->
				</section>
				<!-- End of inner -->
			</section>
			<!-- End of wrapper -->
		</section>
		<!-- End of admin -->
	<?php } else { ?>
		<section class="not-admin">
			<section class="wrapper">
				<section class="inner">
					<div class="date">
						<p>
							<?php
							$Now=getdate();
							$Mois=array("rien","Janvier","Février","Mars","Avril","Mai","Juin","Juillet","Août","Septembre","Octobre","Novembre","Décembre");
							$Jour=array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
							printf("%s %d %s %d\n",$Jour[$Now['wday']],$Now['mday'],$Mois[$Now['mon']],$Now['year']);
							?>
						</p>
					</div>
					<div class="clear"></div>
				</section>
					<!-- End of inner -->
			</section>
			<!-- End of wrapper -->
		</section>
		<!-- End of not admin -->
	<?php } ?>
Hum oui non mais ca ce n'est pas la fonction is_admin() , la tu t'en sers juste dans le if pour savoir si tu es admin ou pas. La fonction is_admin() est une fonction qui doit faire une requête (vers une base de donnée sans doute) pour savoir si tu es un admin ou non et qui retourne vrai ou faux en sortie.
Comme ça on pourra voir si c'est la fonction qui est fausse ou la requête.
Voila Smiley smile
Attention, je n'avais pas remarqué que tu utilisais is_admin, mais cette fonction vérifie si l'utilisateur se trouve sur l'interface d'administration. Rien à voir, donc.

Pour vérifier si l'utilisateur est connecté, tu peux utiliser :
current_user_can() : permet d'afficher un message en fonction du rôle utilisateur (voir wordpress capabilities)
is_user_logged_in() : booléen simple, similaire à ce que tu souhaitais faire avec is_admin
Modifié par audrasjb (13 Jan 2014 - 22:36)
mathieu1004 > Il s'agit en fait d'une fonction native WordPress. Elle retourne un booléen dont la valeur dépend si l'on est sur le backos ou sur le front-office du site. Cela n'a donc rien à voir avec ce qu'attend MargueriteNicot.
edit : mais tu as raison de faire remarquer que le code qu'elle présente n'est pas du tout le contenu de la fonction is_admin() Smiley cligne

MargueriteNicot > Pense à bien lire le codex quand tu utilise ce type de fonctions pour éviter ce genre de problèmes. En somme, RTFM ! Smiley langue
Modifié par audrasjb (13 Jan 2014 - 16:59)
Merci beaucoup pour vos réponses si rapides !

J'essaie de suite vos consignes Smiley smile

audrasjb > J'avoue que j'ai l'esprit un peu endormi, donc même si je comprends l'anglais, j'avais du mal à me traduire la page du codex correspondante ^^' Merci beaucoup pour ton aide en tous les cas Smiley smile
Ouais je viens de comprendre avec tes liens, désolé je ne connais pas tellement wordpress ^^, et des vagues souvenirs ( très peu utilisé il y a plusieurs années.. ), je pensais que toutes les fonctions était préfixées par wp_ , et que du coup c’était une petite fonction fait main, qui aurait donc pu contenir une petite erreur à la con ^^
Bonne soirée
audrasjb > Je viens d'essayer tes conseils et cela marche o/
Halleluia ! Merci beaucoup Smiley biggrin

mathieu1004 > Au premier abord, c'est ce que je pensais aussi mais non Smiley smile

Merci beaucoup à tous le monde pour m'avoir répondu si vite Smiley smile
mathieu1004 a écrit :
je pensais que toutes les fonctions était préfixées par wp_ […]

Hum, le nommage des fonctions, boucles, etc. n'est franchement pas le fort de WP malheureusement Smiley ohwell

> MargueriteNicot : tu peux donc passer le sujet en [résolu] en éditant son titre Smiley murf
audrasjb a écrit :

Hum, le nommage des fonctions, boucles, etc. n'est franchement pas le fort de WP malheureusement Smiley ohwell

Non, c'est pour ça qu je suis aussi tombé dans le panneau du is_admin Smiley cligne