【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 Meetup』主宰/株式会社ノクチ基地 取締役/モンゼンクリエイティブ合同会社 代表。WEB制作に関する技術や役立つ情報を発信していきます。10年にわたるWordPress歴を背景に、幅広いアイデアを形にするお手伝いをしています。