WordPressではデフォルトで記事の文字数は記事を書くエリアの左下に表示されています。しかし、タイトルの文字数はカウントされていません。そんな時にタイトルを入力したのと同時に自動的に文字数を表示させる方法です。半角は0.5文字としてカウントする方法が良く公開されていますが全角半角の区別をなくしての方法も記載しておきます。
スポンサーリンク
全角半角どちらとも1文字としてカウントする方法
以下のコードをfunction.phpに追記します。
//Wordpress投稿画面のタイトル文字数をカウントする
function count_title_characters() {?>
<script type="text/javascript">
jQuery(document).ready(function($){
//in_selの文字数をカウントしてout_selに出力する
function count_characters(in_sel, out_sel) {
$(out_sel).html( $(in_sel).val().length );
}
//ページ表示に表示エリアを出力
$('#titlewrap').after('<div style="position:absolute;top:-24px;right:0;color:#666;background-color:#f7f7f7;padding:1px 2px;border-radius:5px;border:1px solid #ccc;">文字数<span class="wp-title-count" style="margin-left:5px;">0</span></div>');
//ページ表示時に数える
count_characters('#title', '.wp-title-count');
//入力フォーム変更時に数える
$('#title').bind("keydown keyup keypress change",function(){
count_characters('#title', '.wp-title-count');
});
});
</script><?php
}
add_action( 'admin_head-post-new.php', 'count_title_characters' );
add_action( 'admin_head-post.php', 'count_title_characters' );
全角は1文字、半角は0.5文字としてカウントする方法
こちらも同様に、以下のコードをfunction.phpに追記します。
//Wordpress投稿画面のタイトル文字数をカウントする
function count_title_characters() {?>
<script type="text/javascript">
jQuery(document).ready(function($){
//全角を1、半角を0.5として数える
function count_zen_han_characters(str) {
len = 0;
str = escape(str);
for (i=0;i<str.length;i++,len++) {
if (str.charAt(i) == "%") {
if (str.charAt(++i) == "u") {
i += 3;
len++;
}
i++;
}
}
return len / 2;
}
//in_selの文字数をカウントしてout_selに出力する
function count_characters(in_sel, out_sel) {
$(out_sel).html( count_zen_han_characters($(in_sel).val()) );
}
//ページ表示に表示エリアを出力
$('#titlewrap').after('<div style="position:absolute;top:-24px;right:0;color:#666;background-color:#f7f7f7;padding:1px 2px;border-radius:5px;border:1px solid #ccc;">文字数<span class="wp-title-count" style="margin-left:5px;">0</span></div>');
//ページ表示時に数える
count_characters('#title', '.wp-title-count');
//入力フォーム変更時に数える
$('#title').bind("keydown keyup keypress change",function(){
count_characters('#title', '.wp-title-count');
});
});
</script><?php
}
add_action( 'admin_head-post-new.php', 'count_title_characters' );
add_action( 'admin_head-post.php', 'count_title_characters' );
半角を0.5文字としてカウントした場合は以下のような感じになります。
まとめです。
一応、全角と半角は私の場合分けない方を今のところずっと6ヶ月間くらい使っています。
なぜか?
それは、できるだけタイトル文字数を完結にするように心がけたいためです。
でも、
半角は0.5文字としてカウントされるのが通常なのでお好きな方を選ぶのが良いのかなぁ。と…。
すでに、採用されていらっしゃる方もおられるようですが、
お好きな方をどうぞ(*^^)
comment