Я использую s2member с WordPress.
Я установил фиксированное EOT (окончание срока) на 31 июля.
Вот кодирование я использую ..PHP; auto generate год согласно дате регистрации
<?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, как 31 июля 2013 г.
Но мне нужен год, чтобы Автогенерация по дате ,
Если пользователь регистрирует до 31 июля, EOT год должен оставаться в текущем году.
Если пользователь регистрирует после 31 июля, год EOT должен быть установлен на следующий год (2014).
И это будет работать без необходимости изменять каждый год.
Надеюсь, это имеет смысл! Спасибо за помощь!
EDITED
это будет работать ...
<?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" ... /]
EDIT # 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" ... /]
?>
проблема ...
а) ФИКСИРОВАННЫЙ
EOT date co 30 июля.
б) если пользователь регистрируется ПОСЛЕ даты, я получаю сообщение об ошибке на странице говоря, что значение должно быть 1 или больше ..
«Недопустимая конфигурация формы. Invalid„ф“атрибут. Испытательный период. Когда при условии, должно быть> = 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" ... /]
Эта структура успешно реализует 31 июля в качестве даты СРВ. Когда пользователь регистрируется до 31 июля, устанавливается текущий год. Если пользователь регистрируется после 31 июля, устанавливается следующий год.
$ теперь будет, когда пользователь регистрируется, да. независимо от того, когда они регистрируются, конечный срок - 31 июля. Это зависит только от того, до 31 июля или после него, поэтому система знает, когда устанавливать «год». –
Новые изменения выглядят хорошо для меня .. – immulatin
Код EDITED не работает. ничего не отображается, не отображается форма PayPal. Любые идеи, что может быть не так с этим? –