ワードプレスのパスワード保護画面に「抜粋」があれば、それを表示するように修正
久々のワードプレスのカスタマイズ。
ちょっと普通に書き進めるわけにもいかないネタができたので、パスワード保護してリカバリ対策の記録をしようと思いました。
で、普通にワードプレスの記事をパスワード保護すると、
この投稿はパスワードで保護されているため抜粋文はありません。
とだけ表示されて、何の記事か判りません。
(多分、自分でも忘れる)
なので、記事の「抜粋欄」に概要を書いておいて、それを表示させるようにしました。
やり方は、簡単「the_password_form」にフィルターかけるだけ
やり方は、簡単です。
パスワード保護の部分は、the_password_formで構築されてるので、そこのフィルターを掛けます。
テーマのfunctions.php に
function my_password_form() {
global $post;
$output = “”;if (!empty($post->post_excerpt)){
$output .= $post->post_excerpt;
}$output .= ‘<hr>’;
$output .= __( ‘There is no excerpt because this is a protected post.’ );
$output .= ‘<form class=”post_password” action=”‘ . site_url(). ‘/wp-login.php?action=postpass” method=”post”>’;
$output .= ‘ <input name=”post_password” type=”password” size=”24″ />’;
$output .= ‘ <input type=”submit” name=”Submit” value=”‘ . esc_attr__(“パスワード送信”) . ‘” />’;
$output .= ‘</form>’;
$output .= ‘<p> </p>’;return $output;
}add_filter(‘the_password_form’, ‘my_password_form’);
という感じで書きました。
フィルターの中では、「the_excerpt()」は、使えないのでglobal変数のpostに入ってるpost_excerptを引っ張ってきてます。
「抜粋」があれば、返す文字列の途中に「追加」する形ですね。
なければ、そのままです。