【发布时间】:2020-05-19 18:40:03
【问题描述】:
如何通过表单 ID 获取所有“联系表单 7”字段作为对象?
有一个函数是谁做的? 我是否需要获取帖子的内容并使用正则表达式进行处理?
谢谢。
【问题讨论】:
标签: php wordpress contact-form contact-form-7
如何通过表单 ID 获取所有“联系表单 7”字段作为对象?
有一个函数是谁做的? 我是否需要获取帖子的内容并使用正则表达式进行处理?
谢谢。
【问题讨论】:
标签: php wordpress contact-form contact-form-7
Contact form 7 表单域的正确获取方式:
$form_ID = 1538; # change the 1538 to your CF7 form ID
$ContactForm = WPCF7_ContactForm::get_instance( $form_ID );
$form_fields = $ContactForm->scan_form_tags();
var_dump( $form_fields );
下面的代码也可以。
$fieldsArray = get_post_meta(1538); # change the 1538 to your CF7 form ID
$meta = $fieldsArray['_form'][0];
$TagsManager = WPCF7_FormTagsManager::get_instance();
$tags = $TagsManager->scan( $meta );
$form_fields = $TagsManager->filter( $tags, $data );
var_dump( $form_fields );
但这不是首选方式。
【讨论】:
Contact Form 7 表单只是自定义帖子类型为 wpcf7_contact_form 的帖子。表单字段保存为 html(带有短代码)作为 post meta,键为 _form。为了获取此数据,您可以使用get_post_meta()。
再次...这实际上不会返回呈现的 html 字段...只是短代码和其他表单布局。在 WPCF7 运行 do_shortcode() 之前,不会呈现实际的表单字段。
【讨论】: