在 Contact Form 7 的 cookie 中存储 URL 值

Store URL value in cookie for Contact Form 7

我想从我的 URL 中获取一个值,以将其传递到 Wordpress Contact Form 7 中的隐藏字段。

例如,www.domain.com/?refid=1

有人对实现此目标的最佳方式有任何想法吗?

我有一些单独的东西来设置 cookie:

< ?php if (isset($_GET['refid'])) { setcookie('COOKIE_refid',    $_GET['refid'], (86400*30)); } ?>

这个 cookie 会存储我想要的东西吗?

非常感谢。

Would this cookie store what I'm after?

你试过了吗?看起来它会像这样创建一个 30 天的 cookie:

COOKIE_refId=1

但是,如果您想要一个隐藏字段,那么这不是解决方案。虽然用户不会看到 cookie(除非他们安装了某种数据包嗅探器或 cookie 检查器),但这实际上并不是一个隐藏字段。要通过隐藏字段发送,您可以在使用联系表写出页面时尝试这样的操作:

<!DOCUMENT HTML>
<html>
    <head>
        <title>Hidden Field Example</title>
    </head>
    <body>
        <form method="POST" action="contact.php" id="contactform">
            <!-- ... Your contact form fields here... -->
<?php
    // Check if we need to output a refid hidden form field
    if(isset($_GET['refid']) && !empty($_GET['refid'])){
        // Use echo to send the hidden refid form field to the output stream/buffer
        echo "<input type='hidden' id='hiddenRefId' name='refid' value='$_GET['refid']'>";
    } /* else, there is no refid to include as a hidden field */
?>
        </form>
    </body>
</html>

我不知道 Contact Form 7 for Wordpress 的确切语义,但这应该能给您一个大概的概念。