【发布时间】:2020-08-03 12:49:53
【问题描述】:
我有 WordPress 版本 5.4.2 折叠 4.7.6.1 使用默认联系表想动态更改主题
我想要做的是将 URL 中的 id 获取到主题字段中,但只能部分工作
主题仅适用于第一部分,“查询关于 - ”,但 $id 未显示 更新 id 来自 URL 示例 http://www.website.com/form?id=12
代码sn-p如下
// Apply to fields named "Subject".
add_filter('avf_form_subject','avia_change_mail_subject', 10, 3);
function avia_change_mail_subject($subject, $new_post, $form_params) {
if( is_page( 242 ) ):
$id = $_GET['id'];
//$subject = 'Enguiry About – '$id;
$subject = 'Enquiry About – ' . urldecode($id);
endif;
return $subject;
}
【问题讨论】:
-
id来自哪里?你是用表格提交的吗?它实际上是否出现在此页面的 url 中(WP 去掉了保留字)?你真的可以在调用这个钩子的地方访问$_GET吗? -
id 来自 URL 请参阅上面我的问题中的更新。如果我将 id 设为简码,我可以让它毫无问题地显示在页面上。但是一旦我将它添加到上面的sn-p中,它就不起作用了
-
是的,但是您真的可以在 URL 中看到它吗?正如我所说,WP 会从 URL 中去除保留字,因此它可能会被删除。正如我也说过的,您是否检查过 $_GET 在调用它的位置是否可以访问?您是否尝试将其打印出来,看看它是否有您的 ID 或任何其他值?根据您提供的信息,我们没有足够的信息来提供帮助,因此您需要进行更多调试以帮助我们缩小范围。
-
@FluffyKitten 是的,我可以在 URL 中看到它,如果我使用简码,我可以在屏幕上看到它,但由于某种原因不在主题行上,我尝试使用 $_REQUEST,如下所示回答但仍然没有运气。
-
如果将 $_GET(或 $_REQUEST)打印到屏幕上会得到什么?
var_dump($_GET);