php - 将值传递到 ACF 前端表单字段
问题描述
我创建了一个自定义帖子类型“候选人”,用于存储申请空缺的候选人提交的信息。我还有一个名为 Vacancy 的自定义帖子类型。
我已将 ACF 用于两组帖子类型的自定义字段。
我已经设置了一个 ACF 前端表单以允许候选人提交申请。我有一个按钮,用户单击空缺将他们发送到表单所在的页面。作为按钮的一部分,我传递了空缺的标题,并且能够在表单所在的页面上传递和回显它(所以它正在传递)。
在我的一生中,我无法让这个空缺标题字段自动填充前端表单上的字段。
以下是代码片段。我正在创建前端表单的页面
$vacancy = isset( $_GET['vacancy'] ) ? esc_attr( $_GET['vacancy'] ) : '';
$vacancyurl = isset( $_GET['vacancyurl'] ) ? esc_attr( $_GET['vacancyurl'] ) : '';
acf_form_head();
get_header();
?>
<div id="primary" class="content-area">
<div id="content" class="site-content" role="main">
<div class="candidateformcontainer">
<?php /* The loop */ ?>
<?php while ( have_posts() ) : the_post(); ?>
<div>
<h1><?php echo get_the_title(); ?></h1>
<p>To proceed with submitting your application for <strong><?php echo $vacancy; ?></strong> complete the application form below.</p>
</div>
<?php
acf_form('acf-candidate-application-form');
?>
<?php endwhile; ?>
</div>
</div><!-- #content -->
</div><!-- #primary -->
<?php get_footer();
我试图将标题传递给的字段(所以 $vacancy 变量)
<?php the_field( 'vacancy_applied_for' ); ?>
Field Number: field_5dba152669aaf
任何帮助或指示将不胜感激。我已经用尽了 ACF 文档。
解决方案
因此,感谢 ACF 的出色人员设法得到了这个问题的答案。
您将使用 Prepare Field 过滤器在页面上呈现之前使用传入的值更新该字段。
这是帮助文档的链接:https ://www.advancedcustomfields.com/resources/acf-prepare_field/
使用此过滤器,我需要将以下代码段添加到我的 functions.php 文件中。
function populate_vacancy_applied_for($field) {
// only on front end
if (is_admin()) {
return $field;
}
if (isset($_GET['vacancy'])) {
$field['value'] = $_GET['vacancy'];
}
return $field;
}
add_filter('acf/prepare_field/key=field_5dba152669aaf', 'populate_vacancy_applied_for');
推荐阅读
- mysql - SQL 将输出限制为多个结果
- angular - 从版本 2.9.2 更新到 3.7.5 后出现打字稿错误
- android - 如何动态更改底部导航项文本?
- css - 带有滚动角的粘性侧边栏
- go - 为什么golang对字节切片使用括号,对字符串切片使用括号?
- elasticsearch - 在 Kibana 中可视化 Kafka 日志
- javascript - 如何访问json数据(嵌套数组)
- android - 适用于 android 的 AWS sdk:如何更改主机端点
- r - constrOptim 初始值
- javascript - 如何将 svgEdit 文件转换为 React 组件?