人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://www.dessign.net/simplegridtheme/
このサイトで配布しているテンプレートの記事部分をオンマウスすると丈夫に記事の内容が出るのですが、日本語だとうまく表示されません。
表示させる方法を教えてください。

●質問者: birdtail
●カテゴリ:ウェブ制作
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

質問者から

文字は表示されず、...だけ表示されています。
OSは7、Firefox20で見ています。
試しに英語で入れたら表示されました。


1 ● vontline
●0ポイント

ソースを使用して日本語でページ作成されたのでしょうか?

charset="utf-8"

となっている部分を日本語のフォントに指定されてはいかがでしょうか?
charset="shift_jis"
http://www.tagindex.com/html_tag/page/meta_content_type.html


rouge_2008さんのコメント
実際に動作を確認してみなかったのですね。 該当箇所には投稿が表示されるようになっていますし、テーマを導入してみると質問にある現象を確認できます。 また、「UTF-8」や「Shift_JIS」は文字コードであって、フォントではありません。(※UTF-8は日本語をサポートしています。) WordPressの文字コードはUTF-8ですので、日本語を記述したテンプレートファイルの文字コードをShift_JISに変更すると文字化けしてしまいます。 分からないのでしたらコメントするだけにして、回答としては投稿しない方が親切だと思います。

2 ● rouge_2008
●150ポイント ベストアンサー

すみません。質問の一覧ページで確認していた為、返信に気がつかずに遅くなりました。
テーマの「index.php」の65行目以降に次の記述があります。

 <?php $temp_arr_content = explode(" ",substr(strip_tags(get_the_content()),0,225)); $temp_arr_content[count($temp_arr_content)-1] = ""; $display_arr_content = implode(" ",$temp_arr_content); echo $display_arr_content . '...'; ?>


上記を以下のように変更してみてください。

 <?php $contents = preg_replace('!\[([A-z_a-z]+)(?:[A-z_a-z0-9 ="\'-]+)?\](?:.+?\[/\1\])?!', '', get_the_content()); $temp_arr_content = explode(" ",mb_substr(strip_tags($contents),0,225)); if(count($temp_arr_content) > 1) $temp_arr_content[count($temp_arr_content)-1] = ""; $display_arr_content = implode(" ",$temp_arr_content); echo $display_arr_content . '...'; ?>


※デフォルトでHTMLタグは除去されるようになっていますが、ショートコードも除去して表示するようにしました。

※質問が終了してからもフォロー可能ですので、何か不明な点がありましたら回答への返信もしくは下のコメント欄で知らせてください。


birdtailさんのコメント
ありがとうございます。本日試してみます。 結果はまたご報告いたします。

birdtailさんのコメント
適用後うまく表示ができることを確認しました。ありがとうございます。 文字数を変更する場合は225の部分をいじればよろしいですか?

rouge_2008さんのコメント
> 文字数を変更する場合は225の部分をいじればよろしいですか? はい、その数値を変更すると取得する文字数を変更できます。 ※ただし、moreタグの後の文章は取得できません。 続きの文章も表示したい事はないかもしれませんが、moreタグより後の文章も取得したい場合は、次のように変更するといいです。(※文字数を指定する数値の変更も必要です。) >|| <?php $contents = preg_replace('!\[([A-z_a-z]+)(?:[A-z_a-z0-9 ="\'-]+)?\](?:.+?\[/\1\])?!', '', $post->post_content); $temp_arr_content = explode(" ",mb_substr(strip_tags($contents),0,225)); $display_arr_content = implode(" ",$temp_arr_content); echo $display_arr_content . '...'; ?> ||< ※「get_the_content()」の代わりに「$post->post_content」を利用します。 【※コード訂正済み※】 「$post->post_content」を使う場合は、moreテキストを削除する必要がありませんので、「if(count($temp_arr_content) > 1) $temp_arr_content[count($temp_arr_content)-1] = "";」を削除しました。

3 ● fhtdd
●150ポイント

http://ar.aichi-u.ac.jp/iri/
こちらを参考にしてみればどうでしょうか

関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ