我一直在为自定义主题编写一些代码。
The result:使用文本创建图像。
The problem:标题处失败:code
在生产中。
有趣的是,该函数在本地运行得非常好,但当我将所有内容上传到生产时,它就失败了。
代码:
$euro = get_option(\'euro\');
$super = get_option(\'super\');
$diesel = get_option(\'diesel\');
$autogas = get_option(\'autogas\');
// create array for prices
$arrayPrice = array(
0 => $euro,
1 => $super,
2 => $diesel,
3 => $autogas
);
// Create array for fuels
$arrayFuels = array(
0 => \'euro\',
1 => \'super\',
2 => \'diesel\',
3 => \'autogas\'
);
for($i = 0; $i < count($arrayPrice); $i++) {
// Set the content-type
header(\'Content-Type: image/png\');
// Create the image
$im = imagecreatetruecolor(105, 27);
// Create some colors
$white = imagecolorallocate($im, 255, 255, 255);
$black = imagecolorallocate($im, 0, 0, 0);
imagefilledrectangle($im, 0, 0, 399, 29, $white);
// The text to draw
$text = $arrayPrice[$i];
// Replace path by your own font path
$font = ABSPATH.\'wp-content/themes/gulf-venlo/ledboard.ttf\';
// Add the text
imagettftext($im, 20, 0, 0, 27, $black, $font, $text);
// Using imagepng() results in clearer text compared with imagejpeg()
ob_start();
imagepng($im);
$data = ob_get_clean();
file_put_contents(ABSPATH.\'wp-content/themes/gulf-venlo/img/\'.$arrayFuels[$i].\'.png\', $data);
imagedestroy($im);
}
我尝试过各种技巧,比如:
将该功能放在它自己的页面上,并包括/要求它使用更多OB功能(启动、销毁、清理)
本地结果
本地环境的结果正是它应该的结果:我为每种类型的燃油输入了一些价格,保留了更改。之后,网站主页上的每幅图片都将更新为新的价格。在线结果
当我选择编辑价格时,我在自定义菜单中单击“Fuel”,只会找到一个带有蓝色矩形和问号的空白页(请参阅:http://goo.gl/fwxJXo)其他我知道代码需要一些工作,因为我确信有更好的方法将图像保存到主题内的文件夹中。
已解决(编辑:2015年5月7日)
不久前我删除了header(\'Content-Type: image/png\');
它神奇地工作了。我过去常使用注释(//header(\'Content-Type: image/png\');
) 禁用它,但这似乎没有奏效。