wokamoto
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: 自作トップページのindex.phpに新着5件表示すいません最後に一点ですが、読み込んだあとの部分が文字化けしてしまいました
読み込んだ後の部分と言うのは、具体的にどこを指すのでしょうか?
私が例示したコードを簡単に説明します。
まず
ob_start("mb_output_handler");と言う行以降、クライアントへの出力がサーバのメモリ上にキャッシュされます。
サーバ上ですべての処理が終わると コールバック関数mb_output_handlerを使用して、キャッシュされていたクライアントへの出力文字データをmb_http_output("EUC-JP");で指定した文字コード(EUC-JP)に変換してクライアントに出力します。
ここで、キャッシュされていたクライアントへの出力に文字コードが混在している状態だと、文字コードの変換は正常に行われず文字化けする箇所が発生します。
今回作成したphpファイル(index.php)と、このphpファイルが require しているphpファイルは、すべてUTF-8で作成されていなければいけません。
EUC-JPコードが混じっていた場合、WordPressのタグの出力がUTF-8、phpファイルの地の文字(例えば<title>hogeトップページ</title>)がEUC-JPなので、UTF-8→EUC-JPに変換する際に、変換前はEUC-JPで出力されていた地の文字の部分もUTF-8だと解釈してEUC-JPに変換しようとして文字化けを起こします。ob_start()関数は、使用する際にかなり気をつかう関数です。
上記説明でも良く分からない場合は、この方法ではなく WordPress が出力する文字列を全てmb_convert_encoding()関数を通して、UTF-8→EUC-JP に変換してから出力することをお勧めします。
具体的には、ループして更新情報を取得している部分を以下のように書き換えれば良いと思います。(未検証)<ul> <?php $myposts = get_posts('numberposts=5&category=1'); <!-- ID:1/5件 --> foreach($myposts as $post) : ?> <li><?php the_time('Y/m/d') ?> <a href="<?php the_permalink(); ?>"><?php echo mb_convert_encoding(get_the_title($post->ID), 'EUC-JP', 'UTF-8'); ?></a></li> <?php endforeach; ?> </ul>この場合は、
mb_http_output("EUC-JP");とob_start("mb_output_handler");の2行は必要ありません。
また、phpファイル自体もEUC-JPで作成してください。フォーラム: 使い方全般
返信が含まれるトピック: 自作トップページのindex.phpに新着5件表示» sakurai07さん
を、入れてみたらEUCの部分がすべて文字化けして、更新情報(UTF-8)部分がきちんと表示されました。
私の回答を良く読まれましたでしょうか?
一番、簡単な方法は一行目を以下のように書き換え、ファイル自体は UTF-8 で保存しておくことです。
この方法は、すべての出力を UTF-8 → EUC-JP に変換する方法ですので、ファイル自体も UTF-8 で保存する必要があります。
文字コードが混在すると、正常に変換されません。» digitalixさん
いえいえ、理解していただいたようで幸いです。
sakurai07 さんの質問も、段々と文字コードの問題のほうにズレてきてますし (^^;;;;フォーラム: 使い方全般
返信が含まれるトピック: 自作トップページのindex.phpに新着5件表示元の質問とは、微妙にズレてきましたが…
差し支えなければ、今後の参考に
wp-blog-header.phpとwp-load.phpの根本的な使い方の違いなどをご教授ください。よろしくお願いします。WordPress のタグ等を使用したいだけであれば、
wp-load.phpを require するだけで充分だからです。
ソースを読んでもらえば分かるのですが、wp-blog-header.phpではwp-load.phpを require した後、グローバル変数$wp_queryを作ってwp-includes/template-loader.phpを require しています。
これらは、WordPress テーマのテンプレート上にデータを展開するために必要な処理です。wp-login.phpなど、テーマのテンプレート上にデータを展開する必要が無い処理ではwp-load.phpだけを require していますね。フォーラム: 使い方全般
返信が含まれるトピック: 自作トップページのindex.phpに新着5件表示が、index.php(文字コードEUC)に設定してみたら文字化けしてしましました。
wordpressがutfだからでしょうか?
文字化けしないように設定するにはどのようにしたら良いでしょうか?そうですね、WordPress では文字コードはUTF-8で扱われるので、どうしてもEUC-JPで出力したい場合は、UTF-8→EUC-JPに変換する必要があります。
一番、簡単な方法は一行目を以下のように書き換え、ファイル自体は UTF-8 で保存しておくことです。
<?php require(‘./wp-load.php’); mb_http_output("EUC-JP"); ob_start("mb_output_handler"); ?>ただし、これは
ob_start()(http://jp2.php.net/manual/ja/function.ob-start.php) 関数で出力バッファをonにし、出力する前に文字コードを変更する方法なので、使用しているプラグインによっては副作用が発生するかもしれません。
特に All In One SEO Pack など、プラグインの中でob_start()を使っているプラグインが有効になっていると上手く動作しない可能性があります。最善策は、WordPress が出力する文字列を全て
mb_convert_encoding()を通して、UTF-8→EUC-JP に変換してから出力することです。フォーラム: 使い方全般
返信が含まれるトピック: 自作トップページのindex.phpに新着5件表示WordPress のタグが使いたい場合は、
wp-blog-header.phpではなくwp-load.phpを Require するほうがより良いですね。この辺も参考にしてみてください。
http://ja.forums.wordpress.org/topic/1918?replies=6フォーラム: プラグイン
返信が含まれるトピック: twitter関連のプラグイン私が作ったプラグインですが、Simple Tweet でもリンクを追加することができます。
http://wordpress.org/extend/plugins/simple-tweet/日本語の説明はこちら
http://wppluginsj.sourceforge.jp/simple-tweet/ただ、このプラグインの主眼はブログを更新したら、更新情報をTwitterにポストするものですので、お求めの機能とは、ちょっと違うかも。
フォーラム: プラグイン
返信が含まれるトピック: WP-lightpopでimgのtitle属性を表示したいwp-lightpop 作者です。
kz さん、回答ありがとうございました!
次回のバージョンアップ時に、このコードをフィックスさせてもらいますね。plannet さん、wp-lightpop の最新バージョンは 0.8.1 になっています。
お使いの 0.7.5 からは、いくつかの不具合修正も入っていますので、できればバージョンアップしてあげてください。
http://wppluginsj.sourceforge.jp/wp-lightpop/フォーラム: プラグイン
返信が含まれるトピック: WordPress 2.8.5 Google Maps Anywhereあっ、そっちでしたか。
その辺は、FAQとしてまとめてあるので、そちらも参照してください。
WordPress Plugins/JSeries » Google Maps Anywhere FAQあと、解決したようであれば、このトピックを[解決済み]にしておいてください。
フォーラム: 使い方全般
返信が含まれるトピック: wordpress外でwpタグを使う方法以前にも似たような質問がありますね、そちらの回答を参照してみてはどうでしょうか?
フォーラム: プラグイン
返信が含まれるトピック: WordPress 2.8.5 Google Maps AnywhereGoogle Maps Anywhere 作者です。
私の環境では、特に問題は発生しておりません。WordPress 2.8.5
Google Maps Anywhere 1.1.6ご利用のプラグインのうちのどれかと競合しているのではないでしょうか?
以下の点を、ご確認ください。- 使用中の「Google Maps Anywhere」以外のプラグインを、すべて停止しても表示されないか?
- プラグインをすべて停止して地図のドラッグスクロールができる場合、一つずつ有効にしていって、どのプラグインを有効にしたときにできなくなるか?
- どのプラグインを有効にしたときにドラッグスクロールできなくなったか分かったら、そのプラグインの名前と配布先、使用しているバージョン
フォーラム: プラグイン
返信が含まれるトピック: wp-shot、次回受信予定時刻が過去。wp-shot ver.0.4 のメンテナンスをしている wokamoto です。
wp-shot ver.0.4 では、WordPress の標準機能 wp-cron という仕組みを利用してメールの定期取り込みを実現しています。
●以後、何度かプラグインの停止→削除→アップロード→プラグイン開始 を繰り返しているが、「次回の~」の時間だけ01:53で固定されてしまっている。10分間隔でメールを読みに行く設定にしてあるが、10分経っても受信される様子はない。
とのことですので、wp-shot ver.0.4 の何らかの不具合が原因で、次回のスケジュール時刻がおかしくなってしまったことが原因だと思われます。
これを、解決するには WP-Cron-Dashboard というプラグインを導入し、不正になっている wp-cron で予定されたタスクを削除してください。
このプラグインを有効にし、WordPress 管理画面の [ツール]-[WP-Cron] を選択すると予定されたタスクの一覧が表示されます。
この中から、「wp_shot_mail_check」とい名前のタスクの右側にある[削除]ボタンをクリックして、タスクを削除してください。また、こちらでも現象を確認したいので、差し支えなければ、ご利用中の WordPress・MySQL のバージョンをお教えください。
フォーラム: インストール
返信が含まれるトピック: 2.8自動アップグレードが途中でとまります解決済みのようですが、一点だけ補足しておきます。
wp-settins.php は、コアファイルになりますので、次回バージョンアップした際に上書きされてしまいます。
wp-config.php であればバージョンアップしても上書きされないので、この設定は wp-config.php の2行目以降に以下を追加しておいた方が、より良いでしょう。define('WP_MEMORY_LIMIT', '64M');フォーラム: プラグイン
返信が含まれるトピック: Liteboxを使って、youtubeをポップアップしたいwp-lightpop, Videopop+ の作者です。
Videopop+ は、自サーバ内にある動画を表示するためのプラグインです、YouTube 動画を表示したいだけであれば必要ありません。
YouTube 動画を表示したい場合には wp-lightpop 単体で対応できます。YouTube の動画をポップアップ表示するには、
wp-lightpop を有効にした後、設定画面で「対象のXHTML要素」に以下の値をセットしてください。
a[href*=.youtube.com/watch]※デフォルトで設定されているはずです。
エントリ内には、以下のように YouTube へのリンクを書いてください。
<a href="http://www.youtube.com/watch?v=E5xL8wFPoe4" title="YouTube - 長岡まつり 天地人花火 2009.08.03">長岡まつり 天地人花火 2009.08.03</a>フォーラム: インストール
返信が含まれるトピック: 「WordPress 2.8 が利用可能です ! アップデートしてください。」の消し方Disable WordPress Core Update というプラグインを導入すれば、非表示にできます。
フォーラム: 使い方全般
返信が含まれるトピック: 静的ページにwordpressの最新記事を埋め込むには?たまたま、似たようなことを他の人に聞かれたのでブログにエントリしました。
Google Feed AAJX API を使用して JavaScript で、最新記事を表示する方法。
http://dogmap.jp/2009/06/11/google-ajax-feed-api/自前の JSONP 形式出力プログラムを設置して JavaScript で、最新記事を表示する方法。
http://dogmap.jp/2009/06/12/wordpress-jsonp/参考になれば幸です。