这是我第一次设计插件,所以我非常感谢你们能提供的任何帮助
我的插件有一个包含datetime对象的txt文件。目标是从插件管理页面读取txt文件,允许用户编辑它,然后再次保存该文件
我读取文件没有问题,但我无法保存它。当我单击按钮保存它时,浏览器会将我重定向到其他地方,而不会保存我的文件。
编辑:我应该补充一下-这段代码在wordpress之外运行得很好(作为它自己的PHP页面)。我似乎无法让它与wordpress一起工作。
这是我的密码。如有任何建议,我将不胜感激:
if($_POST[\'addition\']){
$file_open = fopen("dates.txt","w+");
fwrite($file_open, $_POST[\'addition\']);
fclose($file_open);
}
echo \'<form action="<?=$PHP_SELF?>" method="POST">
<textarea name="addition" COLS=50 ROWS=20>\';
$datalines = file ("dates.txt");
foreach ($datalines as $zz) {
echo $zz;
}
echo \'</textarea><input type="submit" name="button" value="Save Evenings Before Solemnities File"></form>\';
echo \'</td>\';
最合适的回答,由SO网友:GKS 整理而成
首先,将这些代码放入init hook中,并使用plugin_dir_path()
func获取插件目录路径。
add_action(\'init\',function(){
$plugindir = plugin_dir_path( __FILE__ );
if(isset($_POST[\'addition\'])){
$file_open = fopen($plugindir."dates.txt","w+");
fwrite($file_open, $_POST[\'addition\']);
fclose($file_open);
}
echo \'<form action="\'.$_SERVER[\'PHP_SELF\'].\'" method="POST">
<textarea name="addition" COLS=50 ROWS=20>\';
$datalines = file ($plugindir."dates.txt");
foreach ($datalines as $zz) {
echo $zz;
}
echo \'</textarea><input type="submit" name="button" value="Save Evenings Before Solemnities File"></form>\';
echo \'</td>\';
exit;
});
请尝试上述代码。