カスタムウィジェットとWordPress Coding Standardsに問題があります。カスタムウィジェットを作成するとき、あなたのクラスはそのウィジェットを表示する "widget"メソッドを持つべきです。何かのようなもの:
<?php
public function widget( $args, $instance ) {
echo $args['before_widget'];
?> <span><?php echo esc_html( 'Great widget', 'text-domain' ); ?></span> <?php
echo $args['after_widget'];
}
?>
これは完全に機能的ですが、$args['after_widget'];
と$args['before_widget'];
はエスケープされていないので、これはWordPressコーディング標準でのPHP code snifferテストに合格しません...
何がおかしいのですか?
これらの引数は任意のHTMLを含み、適切にエスケープすることはできません。これは本質的にウィジェットコードがどのように設計されたかに対する制限であり、あなたはこれらがエスケープされていないことをコアWidgetクラスで見ることができます。
学ぶべき教訓:
これは、ワードプレスコードの書き方ではなく、過度に厳格なコーディング標準の問題です。これに関連して、両方のパラメータは有効なHTMLであると見なされます(それらはサイドバー登録時に定義されます)。
とにかくそのようなほとんどのツールでその行または機能を無視するようにlinter/snifferに指示する方法があります。
ところであなたが話している標準はおそらくwordpress.com VIP標準であり、wordpressの標準ではない - https://make.wordpress.org/core/handbook/ベストプラクティス/コーディング標準/ php /