diary : Hisato's twits ...

保護記事にヒント掲載。

わりかし前に書いたこれ。
A JACK IN THE BOX – Diary :: 記事パスワード時にヒントとかをつける。
これのせいでなかなかWPのバージョン上げるの放置ってたんだけど。
function.phpでフィルタすればよくね?って思い立ったので記事上げなおし。

/wp-content/themes/****/function.php
の一番最後にでも(ファイル最後の「?>」の直前行とか)
/wp-includes/post-template.php
にある関数「get_the_password_form」をごっそりコピペ。
関数名は変えときませう。
その下に
add_filter(‘the_password_form’,’さっき変えた関数名’);
でフィルタして完了。
あとは関数内でごにゃごにゃっとすれば保護記事のパスワード画面のカスタマイズ終了。
これでコアファイル触ることなくなったからいつでもバージョンアップに対応できるよ!
まー一応post-template.php覗いてget_the_password_formに変更ないか確認したほうがいいとは思うけど。
以下うち仕様。

元々の画面に各記事ごとにパスワードのヒント文字を追加してるだけです。
昔の記事ではファイル作ってそこに書いてた文字出してたけどそれもなんか管理面倒だからカスタムフィールドにおさめちった。


function edit_password_form() {
	global $post;
	$label = 'pwbox-'.(empty($post->ID) ? rand() : $post->ID);

	// [追加] パス画面追加
	// カスタムフィールドに「Hint_text」キーを追加する。
	$hint_text = NULL;
	$hint_text = post_custom('Hint_text');

	$output = '<form action="' . get_option('siteurl') . '/wp-pass.php" method="post">
	<p>' . __("This post is password protected. To view it please enter your password below:") . '</p>
	<p><label for="' . $label . '">' . __("Password:") . ' <input name="post_password" id="' . $label . '" type="password" size="20" /></label> <input type="submit" name="Submit" value="' . esc_attr__("Submit") . '" /></p>
	</form>'
	// [追加] パス画面追加
	.nl2br($hint_text);

	return $output;
}
add_filter('the_password_form','edit_password_form');

About Archive

Categories:

Recent Posts:

Tag Cloud:

Meta: