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()
を利用するのが良いです。