webentwicklung-frage-antwort-db.com.de

esc_attr () richtig und verwenden

Zunächst möchte ich sagen, dass ich neu in WordPress bin, nicht sehr neu, aber 2 Monate. Meine Frage sind: -

  1. Ist es richtig, esc_attr () zu verwenden?
  2. 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>';
    
    }  
    
5
Owaiz Yusufi

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>';
4
Fayaz