数日前、私はワードプレスサイトでカスタムphpを使用する方法を探していましたが、ここで答えを見つけました:ワードプレスにphpページを追加する方法。
いくつかの例を試してみましたが、それぞれでうまくいきました。しかし、それから私はさらに進んで、そのように追加されたワードプレスページでPHP画像処理を使用したいと思いました。通常のphpサイト(このコードだけを使用)で動作しますが、worpressで使用しようとするとエラーが発生します:
Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\wordpress\wp-content\themes\twentyeleven\header.php:13) in C:\xampp\htdocs\wordpress\wp-content\themes\twentyeleven\mynewsite.php on line 26
私が使用しようとしている私のコードは次のとおりです。
<?php
$dest = imagecreatefrompng('image1.png');
$src = imagecreatefromjpeg('image2.jpg');
imagealphablending($dest, false);
imagesavealpha($dest, true);
imagecopymerge($dest, $src, 10, 9, 0, 0, 181, 180, 100); //putting one image on top of other
header('Content-Type: image/png');
imagepng($dest);
imagedestroy($dest);
imagedestroy($src);
?>
問題はここにヘッダーを送信しようとしていることですが、解決方法がわかりません。
このヘッダーをファイルの先頭に移動しようとしましたが、Worpressサイト全体が読み込まれません。
header('Content-Type: image/png');
get_header(); //<-- part of wordpress template, cant get rid of it, cuz it ruins whole site look.
したがって、get_header();のように見えます。ここではどういうわけか「問題」です。
ob_start()、flush、cleanなどを使用してみましたが、サイトをロードせずに、必要な画像を取得できます。私はオプションを使い果たしました、そしてこれらのどれも私の問題を解決しませんでした。
私の質問は:このヘッダーを送信して機能させる方法です。ヘッダーがないと、png画像の代わりに奇妙な記号が表示されます(メモ帳でpng画像を開くように)
助けていただければ幸いです。