我想在短码通话中做的太多了。以下是我的代码:
//[rand]
function randnumber_func( $atts ){
$digits = 4;
$randnumber = rand(pow(10, $digits-1), pow(10, $digits)-1);
$space = "\\r\\n";
$myFile = "offer_codes.txt";
$fh = fopen($myFile, \'a+\') or die("can\'t open file");
$stringData = date("F j, Y, g:i a") . " - " . $randnumber;
fwrite($fh, $stringData.$space);
fclose($fh);
return $randnumber;
}
add_shortcode( \'rand\', \'randnumber_func\' );
我想创建一个随机的4位数,并将其打印到页面上。我还想取那个随机数,将日期附加到它,并将其写入文本文件。它在PHP中工作,但当我通过一个短代码调用它时就不行了。是Wordpress将其剥离出来,还是我为shortcode函数编写了错误的代码?
最合适的回答,由SO网友:s_ha_dum 整理而成
您的代码在开发服务器上为我工作。按原样保存到站点根目录。我猜您正在尝试写入服务器没有写入权限的目录。我建议保存到wp-content/uploads
或者其他应该具有写访问权限的目录。
$upload_dir = wp_upload_dir();
$myFile = $upload_dir[\'basedir\']."/offer_codes.txt";