【WordPress】パスワード保護のフォームをカスタマイズする

WordPressで記事や固定ページをパスワードで保護して公開する機能があり、パスワードを記入するフォームをカスタマイズします。
WordPressのパスワード保護ページをコピペでカスタマイズする! | 三重県名張市・伊賀市のホームページ制作ディーライズで紹介されているコードを参考に変更しています。

function my_password_form() {
	$msg       = "パスワードを入力してください。";
	$btn_value = "確定";
	return
	'<div>
		<p>' . $msg . '</p>
		<form action="' . site_url() . '/wp-login.php?action=postpass" method="post">
			<div>
				<input name="post_password" type="password" size="24" />
				<input type="submit" name="Submit" value="' . $btn_value . '" />
			</div>
		</form>
	</div>';
}
add_filter( 'the_password_form', 'my_password_form' );

functions.php

参照元では、action属性にWordPressのURLを出力する際に、home_url()を利用していますが、WordPressがインストールされているディレクトリが違うとパスが通りません。そのため、WordPress アドレス (URL)を出力するsite_url()を利用するのが良いです。

参考

石井秀幸(いしいひでゆき)
Webデザイナー / WordPressエンジニア。株式会社ノクチ基地 取締役、モンゼンクリエイティブ合同会社 代表。WordPress公式コミュニティ「横浜 WordPress Meetup」オーガナイザー。WordPress歴15年以上。アクセシビリティ対応とオリジナルテーマ開発を専門とし、公式テーマディレクトリの審査基準に準拠したテーマを制作しています。