WEBサイト制作・アプリ開発・システム開発・ブランディングデザイン制作に関するご相談はお気軽にご連絡ください。
構想段階からじっくりとヒアリングし、お客様の課題にあわせたアプローチ手法でお客様の“欲しかった”をカタチにしてご提案いたします。
Blog スタッフブログ
PHP
WEB制作
[WordPress]よく使うエスケープ関数
WordPress のテーマやプラグインで値を出力する際に、リンクの破損や XSS などのリスクを避けるためには、文脈に合ったエスケープが不可欠です。この記事では、特に使用頻度の高い esc_html() と esc_url() の役割と使い分けのポイントを、実務でそのまま使える使用例と併せてご紹介します。
使い分け
esc_html() の役割
HTMLのテキストノード用のエスケープ関数です。
< > & " ' をエンティティ化して、本文・見出し・ボタンラベルなどを安全に表示します。
esc_url() の役割
URL属性(href/src/action など)用のエスケープ関数です。
画像やURLを設定する際に用います。
使用例
esc_html()(テキスト向け)
<!-- 見出しや本文など“テキスト”の出力 -->
<h1><?php echo esc_html( get_the_title() ); ?></h1>
<!-- サイト名をテキストとして表示 -->
<p class="site-name"><?php echo esc_html( get_bloginfo( 'name' ) ); ?></p>
<!-- URLを“テキストとして見せる” -->
<p class="url-text"><?php echo esc_html( get_permalink() ); ?></p>esc_url()(URL属性向け)
<!-- あなたの例:リンク先(href)は URL属性=esc_url() -->
<a href="<?php echo esc_url( home_url() ); ?>"></a>
<!-- あなたの例:画像パス(src)は URL属性=esc_url() -->
<img src="<?php echo esc_url( get_template_directory_uri() . '/img/sample.svg' ); ?>" alt="画像">