8791 sujets

Développement web côté serveur, CMS

Bonjour à tous,
Je suis un peu débutant en php, pourriez vous m'aider à faire cette condition :
Si la fonction get_theme_option('parametres', 'facebook') existe alors elle s'affiche si ce n'est pas le cas, rien ne s'affiche.

Voici mon code :
<div class="clearfixe"></div>
                            <p>
                                <a href="<?php echo get_theme_option('parametres', 'facebook'); ?>"><img src="<?php bloginfo('template_directory'); ?>/img/facebook-btn.jpg"/></a>&nbsp;&nbsp;&nbsp;
                            <a href="<?php echo get_theme_option('parametres', 'twitter'); ?>"><img src="<?php bloginfo('template_directory'); ?>/img/twitter-btn.jpg"/></a>
                            </p>
                        </div>


Le but est de ne pas afficher l'image, si la fonction get_theme_option n'existe pas.

Merci infiniment pour votre aide
Bonjour,
j'ai essayé avec l'exemple du site que tu m'as donné, mais ca ne marche pas
<?php
if (function_exists(get_theme_option('parametres', 'twitter'))) {
    echo "Les fonctions IMAP sont disponibles.<br />\n";
} else {
    echo "Les fonctions IMAP ne sont pas disponibles.<br />\n";
}
?>


Je sais pas trop ou placer l'ensemble de ma fonction (get_theme_option('parametres','twitter')).
Pourriez vous m'aiguiller un peu ?

Merci par avance
Est-ce que tu as seulement lu la documentation (qui doit faire au maximum 10 lignes) ? Je veux bien que tu sois débutant mais il faut y mettre un peu du tiens. Lire la doc (et la comprendre) c'est le minimum vital.


if (function_exists('get_theme_option'))

Modifié par jb_gfx (16 Jun 2011 - 12:15)
Merci jb_gfx, bien sur que je l'ai lu toute la doc. Je suis en train d'apprendre le php donc ce genre de conseils et super.
Mais je n'arrive pas à comprendre comment être plus précis et dire si les 'parametres', 'facebook' de la fonction get_theme_option exist alors je peux les afficher. Sinon rien afficher.

J'ai essayé ca, mais en vain =>
<?php
if (function_exists('get_theme_option')) {
   ?>
  <a href="<?php echo get_theme_option('parametres', 'facebook'); ?>"><img src="<?php bloginfo('template_directory'); ?>/img/facebook-btn.jpg"/></a>'
<?php
}
?>



Tu sais je cherche, mais c'est quand même vachement dur. J'ai lu et relu le tuto du site du zero et je suis toujours confronté à des cas différents que je n'arrive pas toujours à traiter. C'est pour cela que quand je coince je demande sur le forum.

Que penses tu de mon code si dessus ? J'ai l'impression qu'il manque la précision de 'paramatres' et 'facebook', c'est pour cela que même si le champ de facebook n'est pas renseigné, il s'affiche quand même.
Modifié par dreadstock (16 Jun 2011 - 12:30)
Bonjour,
donc, il semble que ce ne soit pas l'existence de ta fonction, mais des paramètres que tu veux tester ?
donc fait porter le " if " sur tes paramètres...
En espérant avoir fait avancer
Je pense que ça serait plutôt un truc du genre :


$twitter = get_theme_option('twitter');
if ($twitter != '')
{
echo $twitter;
}


A tester (j'utilise pas Wordpress donc je suis pas du tout sûr de moi).
Merci beaucoup,

j'ai fait ca et ca fonctionne
 <p>
                                <?php $facebook = get_theme_option('parametres','facebook');
                                    if ($facebook != '')
                                    {
                                        ?>
                                    <a target="_blank"  href="<?php echo $facebook ?>"><img src="<?php bloginfo('template_directory'); ?>/img/facebook-btn.jpg"/></a>
                                    <?php
                                    }
                                ?>
                                <?php $twitter = get_theme_option('parametres','twitter');
                                    if ($twitter != '')
                                    {
                                        ?>
                                    <a target="_blank"  href="<?php echo $twitter ?>"><img src="<?php bloginfo('template_directory'); ?>/img/twitter-btn.jpg"/></a>
                                    <?php
                                    }
                                ?>
                            </p>


Après il y a peu être plus simple, mais en tout cas ca fonctionne. merci
Oui si tu veux tu peux simplifier comme ça :


<p>
<?php
$theme_options = array('facebook', 'twitter');

foreach ($theme_options as $option):
 $buffer = get_theme_option('parametres',$option);
 if ($buffer != ''): ?>
  <a target="_blank"  href="<?php echo $buffer; ?>"><img src="<?php bloginfo('template_directory'); ?>/img/<?php echo $option; ?>-btn.jpg"/></a>
 <?php
 endif;
endforeach;
?>
</p>

Modifié par jb_gfx (16 Jun 2011 - 16:46)