[WordPress]パスワード付き投稿の入力画面をオリジナルにする方法が、いつの間にか変わってたので直した

WordPressで特定の記事にのみパスワードをかける機能がありますが、あれの文面がイケてないのでオリジナルに変更したくて、フォーラムなどを参考に以前私のお仕事サイトのほうで実装していました。

↓↓↓

ところがWordPressのバージョンアップに伴い、正しいパスワードを入力してもNot Foundページに飛ばされているという事案が発生しており、これを先日修正したのでそのメモです。

まず、パスワード入力部分をカスタマイズする方法からご紹介

はてブ見たら、当時私が参考にしたブログそのものがなくなっていましたので、それとほぼ同じ方法を紹介しているフォーラムなどを挙げておきます。

自分のサイトにはこのように書いておりました。

function my_password_form() {
  return
    '<p>このエントリーを読むには、パスワードが必要です。<br />
    パスワードは、直接お会いした方・お問い合わせ頂いた方にお伝えしております。<br />
    パスワードをお持ちの方はご入力ください。<p>
    <div id='protectedForm'>
    <form action='' . get_option('siteurl') . '/wp-pass.php' method='post'>
    <input name='post_password' type='password' size='24' />
    <input type='submit' name='Submit' value='' . esc_attr__('パスワードを認証') . '' />
    </form>
    </div>';
}
add_filter('the_password_form', 'my_password_form’);

しかし、WordPress3.4からwp-pass.phpというファイルが廃止されたため、パスワードを入力してもNot Foundになってしまっていた、ということです。

actionでデータを渡す先を変えてやればOKなのでしょうが、どこに移動されたのか探すのがちょっと面倒でした。
私の場合は横着して、英語のQ&Aサイトを探しました。
コードを読み慣れている人はTracとかコアファイルとか見るのでしょうが。

私はここで見つけました。

すごくかいつまんでいうと、

wp-pass.php → wp-login.php?action=postpass

に変わったとのことです。

ついでにget_option(‘siteurl’) の部分が少々古めかしい感じだったので、home_urlに変えました。

変更後functions.php

今はこうなってます。

function my_password_form() {
  return
    '<p>このエントリーを読むには、パスワードが必要です。<br />
    パスワードは、直接お会いした方・お問い合わせ頂いた方にお伝えしております。<br />
    パスワードをお持ちの方はご入力ください。<p>
    <div id='protectedForm'>
    <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>
    </div>';
}
add_filter('the_password_form', 'my_password_form’);

とりあえずちゃんと動いているようです。
にしても、NotFoundに気付いたのがわりと最近なんですが変更は3.4からだったので、しばらく放置してたことになります。。。
あなおそろしや。バージョンアップ時の情報収集大事。コピペしっぱなしこわい。

コメントをどうぞ

メールアドレス (必須・公開されません)
コメント本文

  • スパム・迷惑コメント投稿防止のため、メールアドレスの入力が必須ですが、公開はされません。何卒ご協力のほどお願いいたします。
  • 投稿いただいたコメントは管理者のチェック後掲載しておりますので、即時には反映されません。
  • 記載内容に関する批判や間違いの指摘などはそのまま掲載する方針ですが、投稿内容と無関係な誹謗中傷、一方的な罵詈雑言の場合は削除させていただく可能性があります。
  • 通常業務の合間にコメントチェックをしておりますので、すべてのコメントへのお返事が出来ない場合もございます。あらかじめご了承ください。
  • 管理人個人への連絡等は、コメント欄ではなくコンタクトフォームをご利用ください。

書籍を執筆しました

WordPress 標準デザイン講座【Version 4.x対応】


翔泳社さんより、2015/02/27発売しました。2年経ちますのでもう賞味期限切れだとは思いますが、一応実績として...

寄付歓迎(・ω<)☆

当ブログの記事があなたの役に立ったら、気が向いたらでいいのでドネーションいただけると更新の励みになります!
気が向いた方はこちらから

ブログ内検索