WP Multibyte Patch を使っているなら、excerpt の生成条件を変更する (単語数じゃなくて文字数ベースにする) とどうでしょう?
トピック投稿者
dab
(@dab)
受信時のトラブルに関しては、解決しました。
再確認すると、実際には別の理由(AkismetPlugin)による物だったのですが。(^^;
AkismetPluginの捕捉から取り出したところ、期待通り表示されました。
AkismetPluginが無条件に全てのトラックバックをスパム扱いしているようです。。。
また、以下の記事に対処法がありました。
受信した内容の編集方法が書かれています。
http://ja.forums.wordpress.org/topic/212?replies=6
wp_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–>は付けていません。
トピック投稿者
dab
(@dab)
いくつかテストしてみて、なんとか解法が見つかりそうです。
<!–more–>の有無なども影響するかも知れませんが、
どうやらthe_contentがトラックバック送信時のフィルターになりそうです。
抜粋表示オプションを空白にしておくと、
the_contentフィルターの戻り値がトラックバックの抜粋として送信されるようです。(the_excerptは通らないようです)
で、抜粋表示オプションを入れると、the_contentフィルターを通さずにthe_excerptフィルターだけを通す様な感じになっているようです。
the_contentフィルターが実行されたときに、trackbackの送信での呼び出しなのか、通常表示の呼び出しなのかで分岐して、適切な内容を戻してやれば、うまくトラックバックを送信できると思います。
なんか、自分のテーマの作り方の悪さが原因の様でしたが。。。
お騒がせしました。