我在 WordPress 中使用 s2member。
我为 7 月 31 日设置了固定 EOT(期末)。
这是我正在使用的编码..
<?php
$now = strtotime("now");
$fixed_time = strtotime("31 July 2013");
$days_until_fixed_time = round(($fixed_time - $now) / ($seconds_in_one_day = $86400));
?>
[s2member-Pro-PayPal-Form... tp="<?php echo $days_until_fixed_time; ?>" tt="D" ... /]
该代码可以正常工作,因为它将 EOT 日期设置为 2013 年 7 月 31 日。
但我需要根据日期自动生成年份。
如果用户在 7 月 31 日之前注册,EOT 年份应保持为当年。
如果用户在 7 月 31 日之后注册,EOT 年份应设置为下一年(2014 年)。
这将起作用,而无需每年进行修改。
希望这是有道理的!谢谢您的帮助!
编辑过
这行得通吗...
<?php
$now = strtotime("now");
$fixed_time = strtotime("31 July " . date("Y"));
if($now > $fixed_time)
$fixed_time = strtotime("+1 year", $fixed_time);
$days_until_fixed_time = round(($fixed_time - $now) / ($seconds_in_one_day = $86400));
?>
[s2member-Pro-PayPal-Form... tp="<?php echo $days_until_fixed_time; ?>" tt="D" ... /]
编辑#2 现在有这个代码..
<?php
$now = strtotime("now");
$mmdd = (int)date("M d");
$yyyy = (int)date("Y");
if ($mmdd <= 731)
$fixed_time = strtotime("31 July " . $yyyy);
else
$fixed_time = strtotime("31 July " . ($yyyy+1));
$days_until_fixed_time = round(($fixed_time - $now) / ($seconds_in_one_day = "86400"));
[s2member-Pro-PayPal-Form... tp="<?php echo $days_until_fixed_time; ?>" tt="D" ... /]
?>
问题是...
a)固定 EOT 日期为 7 月 30 日。
b)如果用户在日期之后注册,我在页面上收到错误消息,指出该值需要为 1 或更大。
“无效的表单配置。无效的“tp”属性。试用期。提供时,必须 >= 1."
仍然需要帮助..
================ 解决方案=================
找到一个工作模型!感谢大家的帮助!
<?php
$now = strtotime("now");
$fixed_time = strtotime("31 July " . date("Y"));
if($now > $fixed_time)
$fixed_time = strtotime("+1 year", $fixed_time);
$days_until_fixed_time = round(($fixed_time - $now) / (86400));
?>
[s2member-Pro-PayPal-Form... tp="<?php echo $days_until_fixed_time; ?>" tt="D" ... /]
这种结构成功地将 7 月 31 日作为 EOT 日期实施。当用户在 7 月 31 日之前注册时,将设置当前年份。如果用户在 7 月 31 日之后注册,则设置为下一年。