【问题标题】:Why I could not assign a wordpress function to a variable?为什么我不能将 wordpress 函数分配给变量?
【发布时间】:2014-12-05 05:18:08
【问题描述】:

我正在创建一个表单,将表单的详细信息发送到我的电子邮件。这是我的代码:

<?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.-]+\.[a-z]{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(); 它会显示 Fatal error: Call to undefined function permalink()

但如果我将隐藏字段放入表单中,它会起作用: &lt;input type="hidden" name="hotel_url" value="&lt;?php echo get_permalink(); ?&gt;" /&gt; 并获得这样的价值:$hotel = isset($_POST["hotel_url"]); 通过这种方式,我可以将该函数的值分配给一个变量,然后它会向我发送带有正确页面 URL 的电子邮件。

但我不想为此使用隐藏文件。因为有一些敏感信息我也想在提交表单时发送到我的电子邮件。如果我使用上述工作方法这样做,任何人都可以在查看源代码时看到这些值。

那么如何将 wordpress 函数的值赋给变量呢?

【问题讨论】:

  • 在我开始谈论 wordpress 中 The Loop 的概念之前,我认为您将 wordpress 帖子或页面的永久链接分配给 $hotel 变量是没有意义的。
  • @isim 我在提交表单时收到一封电子邮件。该电子邮件包含仅供管理员使用的详细信息,例如酒店联系人和佣金率。

标签: php wordpress forms email


【解决方案1】:

你不能像这样使用

$hotel = echo get_permalink();

你可以用喜欢

$hotel = get_permalink();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-12-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多