テーマがわからないのでなんともいえません。
エスパー的に予想するなら、テーマに直接全角が書き込まれていてUTF-8で保存されていない。
あたりがありがちな原因な気もしますけど。
ありがとうございます。
テーマは、http://wpthemedesigner.com/demo/です。
今、テーマのデモサイトを見たら、「続く」のような…も文字もありませんでした。
なぜ、日本語で入れると、�が表示されるのか…
「テーマに直接全角が書き込まれていてUTF-8で保存されていない。」
というのは、.phpのデータに直接全角が書き込まれている可能性がある、ということでしょうか?
確認しましたが、元のphpは触っていないので、おそらく全角が入っていないと思います。ざっと見てみましたが、全角らしきものはありませんでした。
どのテーマかわからなかったのでダウンロードはしてませんが。
カテゴリ一覧を出すところのソースはどうなっていますか?
もしかすると、バイト単位で切り取っているんじゃないですかね?
全角だから最後の文字が場合によっては1バイトで切り取られちゃうとか。
きっとそんなとこだろうとは思うのですがどうでしょう。
カテゴリ一覧を出すところのソース…
たぶんこれかな…
# Displays a list of recent categories
function dp_recent_comments($num, $pre='
<li>', $suf='</li>
') {
global $wpdb, $post;
$querystr = "SELECT $wpdb->comments.comment_ID, $wpdb->comments.comment_post_ID, $wpdb->comments.comment_author, $wpdb->comments.comment_content, $wpdb->comments.comment_author_email FROM $wpdb->comments WHERE $wpdb->comments.comment_approved=1 ORDER BY $wpdb->comments.comment_date DESC LIMIT $num";
$recentcomments = $wpdb->get_results($querystr, OBJECT);
foreach ($recentcomments as $rc) {
$post = get_post($rc->comment_post_ID);
echo $pre;
?><strong><a>#comment-<?php echo $rc->comment_ID ?>"><?php echo $rc->comment_author ?></a></strong> on <a>#comment-<?php echo $rc->comment_ID ?>"><?php echo $post->post_title; ?></a><?php
echo $suf;
}
}
どこが1byte文字として表示するものかわかりませんでした。
ちなみに、テーマ名は「Emperors Theme」です。
どの部分なんですかね?
Categories
のリストのことじゃないのかな?
wp_list_categories だったから文字が切れるようなこともなさそうですね。
場所を具体的に教えてください。
う~ん・・・
入れてみては無いのですが、ざっと見てみて怪しそうなところは
function.phpの150行あたりの
$string = substr($string, 0, $substr);
でしょうか?場合によってはへんに切れるかもですね
substr を mb_substr にしてみるとかですかね?
ただ、うまくいったとしても文字数が多くなりすぎるので、index.phpの
dp_clean($post->post_content, 150)
を半分の75とかにしたほうがいいかも。
もう一カ所
dp_clean($post->post_content, 300)
というのがあるので、これも150にするとか。