Почему я не мог назначить функцию wordpress переменной?

Я создаю форму, которая отправляет детали формы в мой адрес электронной почты. Вот мой код:

<?PHP $errors = array(); if (isset($_POST["submit"])) { $to = "myemail@email.com"; $subject = "This is my subject"; $hotel = echo get_permalink(); $headers = array('From: '.$_POST['sendername'].' <'.$_POST['senderEmail'].'>'); //Check the name and make sure that it isn't a blank/empty string. if(empty($sender)){ //Blank string, add error to $errors array. $errors['sendername'] = "Please enter your name!"; } if(empty($senderEmail)){ //Blank string, add error to $errors array. $errors['senderEmail'] = "Please enter your email!"; } $mailBody = "<h3>Hotel Details</h3>" $mail_sent = wp_mail( $to, $subject, $mailBody, $headers ); } if ($mail_sent) { ?> <h1 style="color: #007f00;">Request sent.</h1> <?php } else { ?> <form id="" name="" action="<?php echo get_permalink(); ?>" method="post"> <div class="label-input-wrapper"> <div class="form-label">Name</div> <div class="form-input"> <input type="text" name="sendername" value="<?PHP if(!empty($errors)) { echo $sender;} ?>" /> <div class="error-msg"> <?php if(isset($errors['sendername'])) { echo '<span style="color: red">'.$errors['sendername'].'</span>'; } ?> </div> </div> </div> <div class="label-input-wrapper"> <div class="form-label">E-Mail</div> <div class="form-input"> <input type="email" name="senderEmail" pattern="[a-z0-9._%+-]+@[a-z0-9.-]+\.[az]{2,4}$" required value="<?PHP if(!empty($errors)) { echo $senderEmail;} ?>" /> <div class="error-msg"> <?php if(isset($errors['senderEmail'])) { echo '<span style="color: red">'.$errors['senderEmail'].'</span>'; } ?> </div> </div> </div> <input type="submit" value="Submit" name="submit"> </form> <?php } ?> 

Если я отправлю форму, она отобразит ошибку синтаксического анализа неожиданную эхо-переменную для строки $hotel = echo get_permalink(); , Не могу ли я назначить функцию wordpress get_permalink(); значение переменной?

Если я изменю строку из $hotel = echo get_permalink(); до $hotel = permalink(); он говорит « Неустранимая ошибка»: вызов неопределенной функции permalink ()

Но он работает, если я помещу скрытое поле в форму: <input type="hidden" name="hotel_url" value="<?php echo get_permalink(); ?>" /> И получить значение следующим образом: $hotel = isset($_POST["hotel_url"]); Таким образом, я могу присвоить значение этой функции переменной и отправить мне письмо с правильным URL-адресом страницы.

Но я не хочу использовать скрытые данные для этого. Потому что есть некоторая конфиденциальная информация, также я хочу отправить на электронную почту при отправке формы. Если я это сделаю с использованием вышеуказанного рабочего метода, любой может увидеть значения, если см. Исходный код.

Итак, как я могу присвоить значение функции wordpress переменной?

Related of "Почему я не мог назначить функцию wordpress переменной?"

Вы не можете использовать

 $hotel = echo get_permalink(); 

вы можете использовать

 $hotel = get_permalink();