Zunächst möchte ich sagen, dass ich neu in WordPress bin, nicht sehr neu, aber 2 Monate. Meine Frage sind: -
und der richtige Weg, wie ich ihn benutze, ist richtig oder nicht
function dr_enable_and_disable_header() {
$options = get_option( 'custom_header' );
$checked = ( isset($options) && $options == 1 ? 'checked' : '');
echo '<lable><input type="' . esc_attr('checkbox') . '" id="' . esc_attr('custom_header') . '" name="' . esc_attr('custom_header') . '" value="' . esc_attr('1') . '" '. $checked .'> Activate Custom Header</lable>';
}
Nein, Sie benötigen die Funktion esc_attr()
nicht, um festen statischen Text auszudrucken.
Sie brauchen es nur, um dynamischen oder generierten Text auszudrucken. Wenn die Attribute Sonderzeichen enthalten, die Ihren HTML-Code beschädigen könnten, wird esc_attr
dies ordnungsgemäß umgehen.
In Ihrem speziellen Fall können Sie einfach schreiben:
echo '<label><input type="checkbox" id="custom_header" name="custom_header" value="1" '. $checked .'> Activate Custom Header</label>';
Wenn Sie jedoch generierten oder vom Benutzer eingegebenen Text haben, sollten Sie esc_attr()
verwendet haben. Zum Beispiel:
$style = "__Some generated text from database or user input__";
echo '<label><input type="checkbox" id="custom_header" name="custom_header" value="1" '. $checked .' style="' . esc_attr($style) . '"> Activate Custom Header</label>';