Ниже приведен макет функции, которую я использовал в своем файле functions.php для моего сайта.До последнего месяца все работало хорошо (насколько я знаю).JavaScript возвращает два разных результата для моей объединенной строки: один представляет собой строку со значением индекса массива php, а другой - строку, включающую индекс массива PHP в одинарных кавычках.Я не уверен, почему это происходит сейчас и как это исправить.
Я попытался переместить всю конкатенацию строк в php, но это не помогло.
function paypalpayment() {
global $wpdb;
$user = wp_get_current_user();
$user_ID = $user->ID;
$shortcode = $wpdb->get_row("SELECT MAX(ap.pending) AS pending, ap.book_datetime, ap.id, ap.hash FROM ea_appointments AS ap "
."INNER JOIN ea_users AS us ON ap.id_users_customer = us.id "
."WHERE us.wp_id ='".$user_ID."'");
$hash = $shortcode->hash;
$html = '';
$html .= '<input style="width:250px" class="mb0 btn btn-lg btn-filled cfa-button" type="button" onclick="deletapt()" value="Delete Apt.">';
$html .= '<input type="hidden" name="cancel_return"';
$html .= '<script>
var cancelurl = "https://www.myurl.com/' . $hash . '";
function deletapt(){
window.location = cancelurl;
}
$(document).ready(function() {
jQuery("input[name=return]").val("https://www.myurl.com/payment-success/");
jQuery("input[name=cancel_return]").val(cancelurl);
});
</script>';
}
Проблема в том, чтотеперь cancelurl
производит разные результаты в разных местах:
В function deletapt()
он возвращает правильный результат:
"https://www.myurl.com/90241ba3ba27e246bcd9b17b76f0b463"
В $(document).ready(function()
он возвращает нечетный результат:
"https://www.myurl.com/' .$shortcode->hash. '"
Мне нужно $(document).ready(function()
, чтобы вернуться
"https://www.myurl.com/90241ba3ba27e246bcd9b17b76f0b463"
Как мне это исправить.