2011-05-14 12 views
0

私はWordPressのサムネイルからCSSスプライトを作成しようとしています。サムネイルは9つあり、すべて正常に動作します。しかし、add_action('publish_post','make_sprite');を使用して関数をインクルードすると、エラーが発生します。投稿を公開しようとするとエラーが表示されます。WordPressヘッダーの問題

エラーは次のとおりです。

警告:ヘッダー情報を変更することはできません - すでに(出力によって送られたヘッダが/home/softsail/public_html/wp-content/themes/ss3/includes/imgtest.phpで開始しました: 41)ライン上/home/softsail/public_html/wp-includes/pluggable.php 897

答えて

1

[フェイク回答]。しかし、あなたはいつもあなたの質問にフラグを立て、よりWP特有のアドバイスの代わりにWP.SEに移動することができます。あなたの質問に文脈が足りません。

あなたのadd_action関数は、header()を送信する必要があります。すでに出力を行っている場合は失敗します。これは、headers already sentが言っているようなものです。たとえば、テンプレートで使用することはできません。

それは(WPドキュメントを読むことを気にしませんでした)任意の出力を返した場合、一般的な回避策は次のとおりです。その後、

<?php 
$later_html = add_action(".."); 

そして、あなたは実際にそれらを必要なときに結果を印刷:

<template> 
<?php print $later_html; ?> 
... 

とにかく、ちょうどそれをと呼びます。です。あなたが実際に(pluggable.php on line 897を確認してください)ヘッダの出力を必要としない場合は、また、それを抑制することができます。この場合は

@(add_action('publish_post','make_sprite')); 

そうにない優れたオプションを選択します。