現在私はsettings APIを使って私のテーマのWordpressオプションのためのコールバックを書くことを試みています。これは私の機能です:
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']
);
}
しかし私がブラウザを見るとき私はこの出力を得ます:
<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>
7、8、14、15行目の最後の引用符はどこからですか。私はこのことを取り除くためにたくさんのことを試みました。しかし、私が何を変更しても、彼らはそこに留まり、あるいは他の場所に他の引用符が現れる。私はすべてのものを連結し、異なる部分を削除しましたが、方法はありません。
私はそれを仮定しているので、printfのphpです。これが起こる理由を誰かが知っていましたか?それとも、それが動作するように私はそれを変更することができますPHPのせいですか?私はもうアイデアがありません。ありがとうございました。
このように引用符をエスケープする必要があります。
<input type="radio" name="%1$s[%2$s]" onclick= "showChoosenField(\'%3$s\')" value="<?php checked(\'%3$s\', get_option(\'%1$s[%2$s]\'), true); ?>"/>