【发布时间】:2019-05-03 18:40:21
【问题描述】:
我正在开发一个主题构建器,但有一个我无法解决的问题。我有一个文本到图像 (png) 脚本,它在我的 WP 插件提交表单之外运行良好,但在内部时,它不会执行。
我对所有变量都使用了 var_dump。文本字段被正确传递,目录被正确传递。每个变量都被正确传递。我尝试将整个脚本粘贴到插件文件中,并使用“include”,这是我通常的做法。
什么可能导致这种情况发生?如果我在“text-to-image.php”中手动设置变量并访问 URL,它会正确执行。如果我在我的 WP 插件页面中运行脚本,它就不起作用(即使是手动分配的变量)。
请注意,“主题构建器”的所有其他功能都可以正常工作,只是图像创建器不能。
$sitename = $_REQUEST['sitename'];
$logoselect = $_REQUEST['logoselect'];
$domain = $sitename;
if ($logoselect == "No") { }
} else {
include 'text-to-image.php';
}
text-to-image.php 包含一个我在 SO 上找到的脚本,该脚本已确认在 WP 插件页面之外工作。最后两行是这样(主题名称和图像是在脚本的主要部分中指定的动态创建的名称):
imagepng($image, "C:\\wamp64\\www\\wp-install\\wp-content\\themes\\$themenamereplacer\\$imagefilename.png");
imagedestroy($image);
提交的文本字段
<input type="text" name="sitename" value="<?php echo get_option("blogname"); ?>" />
为了测试,我使用了 var_dump on...
$themenamereplacer
$imagefilename
$sitename
$domain
每个人都正确地传递了变量。即使我手动为图像输出分配位置,如果在 WP 插件页面内运行,它也不会执行(即不会创建图像)。如果我直接访问 text-to-image.php URL,它会正确执行(创建图像)。
我使用 $domain = $sitename 的原因是因为我使用变量 $domain 创建了主题构建器并且不想全部更改...但是,我确实测试了更改所有“域” 元素到“站点名称”,但它仍然不起作用。
有人知道发生了什么吗?非常感谢您的帮助。
【问题讨论】:
标签: php wordpress image text themes