先日、「WordPressで作るダウンロードセンター」という記事をアップしたのですが、その中で「保護ページのパスワード入力画面をカスタマイズ」ということで紹介した他ブログの記事の内容が古く、現行のWordpressのバージョンではパスワードを入力して送信ボタンを押してもページが表示されない状態になることがわかりました。
前述の記事も訂正と修正を行っていますが、新たに紹介した[WordPress]パスワード付き投稿の入力画面をオリジナルにする方法が、いつの間にか変わってたので直したの中で公開されている、functions.phpに貼り付けるコードについて一部補足しておきます。
基本的には上記の記事内にあるコードを貼り付けることでカスタマイズは可能なのですが、cssの要素が含まれていることと、送信ボタンが右横ではなくフォームの下に表示されるという場合があるかと思います。
cssに詳しい方は、フォームをcssで整形し、同じidセレクタ名で編集すればいいですが、わからない方には不要なので削除しても構いません。
また、送信ボタンが右横ではなく下になってしまう場合、inputのタグを改行せず横に並べることで解決する場合もあります。
コード例
function my_password_form() { return '<p>このページを開くには、パスワードが必要です。<br /> パスワードをお持ちの方は下記フォームにご入力ください。<p> <form action="' . home_url() . '/wp-login.php?action=postpass" method="post"> <input name="post_password" type="password" size="24" /> <input type="submit" name="Submit" value="' . esc_attr__("パスワードを認証") . '" /> </form>'; } add_filter('the_password_form', 'my_password_form');
上記のようにすることで解決するはずです。
もし、Wordpressをサブフォルダにインストールしていて、サイトURLをルートに変更されている場合は、
<form action="' . home_url() . '/(サブフォルダ名)/wp-login.php?action=postpass" method="post">
上記の例を参考に修正してください。
上記を適用した場合のサンプルページです。 こちら
参考になれば幸いです。
By takabun