几天前,我正在寻找在 wordpress 网站上使用我的自定义 php 的方法,我在这里找到了答案:How to add a php page to Wordpress。
尝试了几个示例,并且对每个示例都有效。但后来我想更进一步,在这样添加的 wordpress 页面中使用 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);
?>
好吧,我知道问题是我想在这里发送标头,但我不知道如何解决它。
我尝试将此标题移动到文件顶部,但随后整个 wopress 站点不加载。
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 等,但随后我得到了我想要的图像,而无需加载 worpress 站点。我用完了所有选项,但这些都没有解决我的问题。
我的问题是:如何发送此标头以使其正常工作,因为没有它我会看到一些奇怪的符号而不是 png 图像(就像我会用记事本打开 png 图像)
任何帮助表示赞赏。