Wataru Kanzaki
フォーラムへの返信
-
フォーラム: 使い方全般
返信が含まれるトピック: %postname% だけを取得get_the_title($post_ID)
とか?フォーラム: 使い方全般
返信が含まれるトピック: Ajax,cache.phpエラーその後、いろいろ試していて。
get_headerにactionをセットし、
このmyfuncの中でget_comment()を使用すると、先のWarningが出るようです。add_action('get_header', 'myfunc'); $args=array(ID=>$id); // $idはコメントID:数値 $comment= get_comment($args);
そのほか、wordpressにアクセスした早い段階でwp_new_comment()を使用しても、
Warningが出るようでした。しょうがないので、get_commentのかわりに、
global $wpdb; $comment = $wpdb->get_row($wpdb->prepare("SELECT * FROM $wpdb->comments WHERE comment_ID = %d LIMIT 1", $id));
という、ローレベルで対応して見ましたが、
バージョン(データベースの設計)に依存かもしれません。。。フォーラム: 使い方全般
返信が含まれるトピック: コメント投稿時にエラーが出るようですPHPのコードは<?phpから始まりますが、
ファイルの最初に空白行があると、その部分はHTMLデータとして出力されます。PHPコード中で、header(‘content-type:text/html’);などを書いていると、
HTMLデータを出力するよりも先にheaderを書かなければ行けないのですが、
先の空白行が、すでに出力されたと見なされるため、
“headers already sent by …”
のエラーメッセージが表示されます。空白行を消すと、エラーメッセージは消えると思います。
こんな説明でわかりますかねえ、、、
フォーラム: 開発版
返信が含まれるトピック: 投稿時のHTML修正とりあえずですが、、、
wp-include/formatting.php
188行目を以下のように変更、HTML5のタグを追加しました。
一応sectionなど、よく使うタグは変換されないようになったようです。// $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr|fieldset|legend)'; $allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|select|option|form|map|area|blockquote|address|math|style|input|p|h[1-6]|hr|fieldset|legend|section|article|nav|header|footer|hgroup|aside|figure|figcaption|canvas)';
brタグは<br />ではなく<br>にしたいんですが、
そうなると、相当量の変更点が出そうな感じですね。。。
(HTML5ではHTMLモードとXHTMLモードがあり、Content-Typeヘッダのtext/htmlとapplication/xml+xhtmlで区別します。
W3C HTML5)フォーラム: 自作品の告知
返信が含まれるトピック: キャラクタートークの形式で表示するプラグインキャラトークプレスをアップデートしました。
変更点は以下になります。
- ボタンの機能を調整、[追加][挿入][更新][削除]に分割・追加
- スタイルシートの調整
最新版はバージョン1.1です。
http://sozai.wi-wi.jp/wpthemes/ctpress/フォーラム: 自作品の告知
返信が含まれるトピック: キャラクタートークの形式で表示するプラグイン正式版にアップデートしました。
・本文の最初に挿絵として挿入することも可能になりました。
・Wordpress ME 2.0でも動作するようです。
・デフォルトスタイルシートをMac IEに対応しました。
・i18nに対応しましたが言語ファイル(.moファイル)は日本語しか有りません。正式版公開に伴い、公開URLと名称、ディレクトリ名が変わりました。
画像のURLが変わるため、ベータ版で作成した文書の画像は、プラグインを削除すると表示されなくなります。
(プラグインを停止してもファイルが残っていれば画像は表示されます。)フォーラム: WordPress への貢献と参加
返信が含まれるトピック: テキストエディタ: 問題なく使えるもの、使ってはいけないもの私が使ってるエディタはmi http://www.mimikaki.net/ ですが、
モード設定の文字コードの項目で、
・unicodeで保存するときに\マークをバックスラッシュで保存/コピーする
・UTF-8保存時BOMをつける
のチェックをはずす必要があります。Windows、 MK-Editor http://www.mk-square.com/
RCバージョンのまま数年間アップデートされていませんが、非常に使いやすいため、ずっと使い続けています。どちらも、\とバックスラッシュ、並線と全角チルダの混在文書が扱えません。
Linux、KDEのKATE、日本語環境wnn+cannaでは全角チルダが空白で表示されますが、混在文書を適切に扱えます。
wp-config.phpのように、英数記号しか含まれないファイルなら、Shift_JISで保存すればメモ帳でも問題ないです。
むしろShift_JISにした方が、BOMだの何だのという変な問題が出てきません。PHPファイルの改行コードは、FTPでアップロードするときにアスキーモードか自動選択にすれば、エディタで保存するときに何であれ、関係ないと思います。
でもPHPではPerlや他の言語と違い、何でも良いみたいですね。XMLやHTMLの改行コードについて言及がありますが、
HTTPと、HTML/XHTML/XMLは異なります。
http://www.rfc-editor.org/rfc/rfc2046.txt
text/*のHTTPヘッダはCRLFでなければなりませんが、それ以外は何でも良いです。(HTML本文については言及していません)Perlでは
print “Content-Type: text/html;charset=utf-8\n”;
print “X-MY-HELLO: Hello, my name is Dab.\n”;
print “\n”;
などと書きますが、\nはウェブサーバーやモジュール(mod_perlやmod_cgi)により、CRLFに変換されます。
Classic Macで”\n”と書けば通常はCRが書き出されますが、ヘッダ部分はウェブサーバーによりCRLFに変換されます。PHPではheader()を使うので、
header(“Content-Type: application/xhtml+xml”);
header(“X-MY-HELLO: Hello, my name is Dab.”);
WordpressではHTTPヘッダの改行を書くことはないと思います。本文中の改行コードはなんでもいいです。
というか、Content-Type: image/jpgだったら、改行もなにもありませんし、0x00が連続で続いたり、0x0dが連続で続くこともあります。text/*以外のヘッダをLinux ApacheのCGIとasisで試してみると、
やはりどんなMIME-TypeでもLFはCRLFに変換され、CRはエラーとなるようです。XHTMLを使うときはapplication/xhtml+xmlが良いですが、IE6で表示できないことがあります。
(WindowsXP SP3などのアップデートで表示できる様になっているかも知れません)
昔のXHTML1.1の文法ではapplication/xhtml+xmlかapplication/xmlしかダメでしたが、現在はtext/htmlも認めています。フォーラム: プラグイン
返信が含まれるトピック: トラックバックの送信内容をフックいくつかテストしてみて、なんとか解法が見つかりそうです。
<!–more–>の有無なども影響するかも知れませんが、
どうやらthe_contentがトラックバック送信時のフィルターになりそうです。
抜粋表示オプションを空白にしておくと、
the_contentフィルターの戻り値がトラックバックの抜粋として送信されるようです。(the_excerptは通らないようです)で、抜粋表示オプションを入れると、the_contentフィルターを通さずにthe_excerptフィルターだけを通す様な感じになっているようです。
the_contentフィルターが実行されたときに、trackbackの送信での呼び出しなのか、通常表示の呼び出しなのかで分岐して、適切な内容を戻してやれば、うまくトラックバックを送信できると思います。
なんか、自分のテーマの作り方の悪さが原因の様でしたが。。。
お騒がせしました。フォーラム: プラグイン
返信が含まれるトピック: トラックバックの送信内容をフック受信時のトラブルに関しては、解決しました。
再確認すると、実際には別の理由(AkismetPlugin)による物だったのですが。(^^;
AkismetPluginの捕捉から取り出したところ、期待通り表示されました。
AkismetPluginが無条件に全てのトラックバックをスパム扱いしているようです。。。また、以下の記事に対処法がありました。
受信した内容の編集方法が書かれています。
http://ja.forums.wordpress.org/topic/212?replies=6wp_trackback.phpの最後に
> do_action(‘trackback_post’, $wpdb->insert_id);
という行がありますので、
trackback_postをフックすることで、トラックバック受信時に、
引数のIDを元にデータベースからデータを引っ張り出さないと行けないと思いますが、
プラグインによる編集もできると思います。で、送信の方ですが、
現在はthe_excerptとthe_content、それにthe_excerpt_rssをフックすることで、通常表示とRSSの内容とも、期待通り表示されています。
トラックバック送信時のみ本文(抜粋)が空白になり、既存のWordpres2.0MEで受信しても、本文が表示されません。
また、ameba.jpで受信すると、本文がないためか、到着しないようです。
ただ、the_excerpt()については、
都合上、あらかじめthe_content()の中で作成した独自の抜粋分を表示する様になっていますので、
the_content()を使わずにthe_excerpt()だけが使われた場合は調べていません。空白になる理由として、
おそらくMacで使用されているバックスラッシュマークが含まれていることなのかも知れませんが、
都合上、これは消せません。(MacOS Xから円マークの投稿ができないため)
Windowsからの送信時は円マークで投稿されることになります。
content_save_preなどをフックさせれば、\マークに統一できるかもしれませんが。。。WP Multibyte Patch を使っているなら、excerpt の生成条件を変更する (単語数じゃなくて文字数ベースにする) とどうでしょう?
新しく設置したWP2.5.1の方ではプラグインは一切使っていませんでした。
逆に、これを有効にしてみましたが、やはり空白になります。ためしに投稿画面の抜粋オプションに適当に書いてみると、そのテキストが送信されました。
本文から抜粋の作成ができていないような感じですが、、、なお、本文に<!–more–>は付けていません。
フォーラム: バグ報告と提案
返信が含まれるトピック: フォーラムのユーザ登録時のメールについてこのアカウントのメールを受け取ったとき、メールの件名のみ文字化けしていました。
受信はMac Thunderbird1.0です。このアカウントを取る前に、別の名前で登録したのですが、メールが届いていません。
その名前で登録し直すと、not Validとなり、登録出来ませんでした。
もしかすると、文字化けが原因でスパムメールとして削除されているかもしれません。> 相手「メールが文字化けしてないんだからUTF-8で良いじゃないか」
特に英語圏の場合は昔から使われているlaten-1(キーボードに刻印されている英数記号)とUTF-8の間で100%の互換性がありますし、移行には問題はないと思いますが、
日本語や中国語のように様々な文字コードがあり、互換性のないコードでは、そう簡単に移行出来ないと思います。
とくに携帯では、Shift_JISでは1文字2バイト、UTF-8では3バイトとなり、
50文字送信するのに1パケットで済むか2パケット必要か、という問題もあると思いますし。フォーラム: テーマ
返信が含まれるトピック: 自作のテンプレートを作りたいのですがよくあるデザインミスとしては、サイドバーが本文の下に落ちているパターンです。
モバイル環境も考えると、あえて落とした方が良いこともあります。
幅600px程度のウインドウサイズで200pxがサイドバーで取られると、本文の表示幅が小さく、読みづらくなるため、
スタイルシートのfloatを「本来の目的」で使用し、
本文全体が画面いっぱいに表示されるようにすると、読みやすくなります。ご参考まで。