actuellement, j'essaie d'écrire un rappel pour une option Wordpress de mon thème avec les paramètres API. Ceci est ma fonction:
function background_callback($args){
printf(
'Picture
<input
type="radio"
name="%1$s[%2$s]"
onclick= "showChoosenField("%3$s")"
value="<?php checked("%3$s", get_option("%1$s[%2$s]"), true); ?>"
/>
<input
type="radio"
name="%1$s[%2$s]"
onclick= "showChoosenField("%4$s")"
value="<?php checked("%4$s", get_option("%1$s[%2$s]"), true); ?>"
/>
Color
<p></p>
<label for="%2$s">%5$s / %3$s/ %4$s</label>',
$args['option_name'],
$args['namePic_Color'],
$args['valuePic'],
$args['valueColor'],
$args['description']
);
}
Mais quand je regarde le navigateur, j'obtiens cette sortie:
<td>"Picture"
<input
type="radio"
name="header_options_group[img_color_name]"
onclick="showChoosenField(" ")"
value="<?php checked(" ", get_option("header_options_group[img_color_name]"), true); ?>
""
/>"
<input
type="radio"
name="header_options_group[img_color_name]"
onclick="showChoosenField(" ")"
value="<?php checked(" ", get_option("header_options_group[img_color_name]"), true); ?>
""
/> Color"
<p></p>
<label for="img_color_name">
Please check if you want a Picture or a color. / /
</label>
</td>
D'où viennent les guillemets à la fin des lignes 7,8 et 14,15? J'ai essayé tellement de choses pour m'en débarrasser. Mais peu importe ce que je change, ils y restent ou quelques autres citations apparaissent à un autre endroit. J'ai tout concatiné, supprimé différentes parties, mais pas moyen.
Je suppose que c'est parce que le php dans le printf. Quelqu'un savait-il pourquoi cela se produit? Ou si c'est parce que le php comment puis-je changer cela fonctionne-t-il? Je n'ai plus d'idées. Je vous remercie.
Vous devez échapper aux guillemets comme celui-ci.
<input type="radio" name="%1$s[%2$s]" onclick= "showChoosenField(\'%3$s\')" value="<?php checked(\'%3$s\', get_option(\'%1$s[%2$s]\'), true); ?>"/>