esc_attr () đúng cách và sử dụng


8

Trước hết tôi muốn nói rằng tôi mới chơi wordpress không mới lắm nhưng 2 tháng. Câu hỏi của tôi là: -

  1. Có đúng không khi sử dụng esc_attr ()
  2. và đúng cách như tôi đang sử dụng là đúng hay không

    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>';
    
    }  

Câu trả lời:


10

Không, bạn không cần esc_attr()chức năng để in văn bản tĩnh cố định.

Bạn chỉ cần nó để in văn bản động hoặc được tạo, để nếu các thuộc tính có bất kỳ ký tự đặc biệt nào có thể phá vỡ HTML của bạn, esc_attr sẽ thoát khỏi đó.

Trong trường hợp cụ thể của bạn, bạn chỉ có thể viết:

echo '<label><input type="checkbox" id="custom_header" name="custom_header" value="1" '. $checked .'> Activate Custom Header</label>';

Tuy nhiên, nếu bạn có bất kỳ văn bản nhập nào được tạo hoặc người dùng, thì bạn nên sử dụng esc_attr(). Ví dụ:

$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>';
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.