如何通过表单ID将所有“联系表单7”字段作为对象?
有一个功能是谁做到的? 我是否需要获取帖子的内容并使用正则表达式处理它?</ p>
感谢。
答案 0 :(得分:3)
联系表单7表单只是自定义帖子类型为wpcf7_contact_form
的帖子。表单字段保存为html(带有短代码)作为post meta,密钥为_form
。要获取此数据,您可以使用get_post_meta()。
再次......这实际上不会返回渲染的html字段......只是短代码和其他表单布局。在WPCF7运行do_shortcode()
之前,不会呈现实际的表单字段。
答案 1 :(得分:3)
获取联系表单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 );
但这不是首选方式。