http://www.dessign.net/simplegridtheme/

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

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2013/04/24 22:35:04
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。
id:birdtail

文字は表示されず、...だけ表示されています。

OSは7、Firefox20で見ています。

試しに英語で入れたら表示されました。

ベストアンサー

id:rouge_2008 No.2

回答回数595ベストアンサー獲得回数351

ポイント150pt

すみません。質問の一覧ページで確認していた為、返信に気がつかずに遅くなりました。
テーマの「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タグは除去されるようになっていますが、ショートコードも除去して表示するようにしました。

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

他1件のコメントを見る
id:birdtail

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

2013/04/23 23:18:56
id: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] = "";」を削除しました。

2013/04/24 08:21:24

その他の回答2件)

id:vontline No.1

回答回数312ベストアンサー獲得回数16

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

charset="utf-8"

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

id:rouge_2008

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

2013/04/23 11:17:19
id:rouge_2008 No.2

回答回数595ベストアンサー獲得回数351ここでベストアンサー

ポイント150pt

すみません。質問の一覧ページで確認していた為、返信に気がつかずに遅くなりました。
テーマの「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タグは除去されるようになっていますが、ショートコードも除去して表示するようにしました。

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

他1件のコメントを見る
id:birdtail

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

2013/04/23 23:18:56
id: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] = "";」を削除しました。

2013/04/24 08:21:24
id:fhtdd No.3

回答回数174ベストアンサー獲得回数4

ポイント150pt

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

  • id:rouge_2008
    上手く表示されないというのは、どのように表示されている状態ですか?
    英語だと問題なく表示されるのでしょうか?
    表示を確認したPCのOSおよびブラウザとバージョンを教えてください。
    こちらWin Vista、Google Chrome最新版(26.0.1410.64 m)で、配布サイトのサンプルでは日本語も問題なく表示されました。(※デベロッパーツールでソースを編集して確認済み)

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません