写入文件的自定义快捷代码

时间:2013-06-11 作者:jscrilla

我想在短码通话中做的太多了。以下是我的代码:

        //[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函数编写了错误的代码?

1 个回复
最合适的回答,由SO网友:s_ha_dum 整理而成

您的代码在开发服务器上为我工作。按原样保存到站点根目录。我猜您正在尝试写入服务器没有写入权限的目录。我建议保存到wp-content/uploads 或者其他应该具有写访问权限的目录。

$upload_dir = wp_upload_dir();
$myFile = $upload_dir[\'basedir\']."/offer_codes.txt";

结束

相关推荐

Shortcode of a function

我得到了这个函数,我想将“foreach”的contents divs作为return。我该怎么做?<?php $args = array( \'numberposts\' => 6, \'post_status\'=>\"publish\",\'post_type\'=>\"post\",\'orderby\'=>\"post_date\"); $postslist = get_posts( $args ); fo