Php 在前端使用WPAlchemy重复字段
我正在使用WPAlchemy为我的自定义帖子类型创建元数据 我的一个自定义帖子类型,vendor,在WPAlchemy中声明为$vendor\u mb,前缀为\u vendor,并具有以下元字段Php 在前端使用WPAlchemy重复字段,php,wordpress,repeat,Php,Wordpress,Repeat,我正在使用WPAlchemy为我的自定义帖子类型创建元数据 我的一个自定义帖子类型,vendor,在WPAlchemy中声明为$vendor\u mb,前缀为\u vendor,并具有以下元字段 地址 国家 Zipcode 网站 联系人因为WP Alchemy将数据存储为序列化数组,所以您必须做一些奇怪的事情来准备插入重复字段 本文详细介绍了您需要执行的操作: 简而言之,您需要插入一个序列化数组,然后分别插入每个元值,如下所示: //add a serialised array for wp
- 地址
- 国家
- Zipcode
- 网站
- 联系人因为WP Alchemy将数据存储为序列化数组,所以您必须做一些奇怪的事情来准备插入重复字段
本文详细介绍了您需要执行的操作:
简而言之,您需要插入一个序列化数组,然后分别插入每个元值,如下所示:
//add a serialised array for wpalchemy to work $data = array('reviews_what_we_did','reviews_star_rating','reviews_name','reviews_email','reviews_staff_member'); $str = $data; update_post_meta( $pid, '_single_reviews_meta_fields', $str ); //update the individual fields add_post_meta($pid, 'reviews_what_we_did', $service); add_post_meta($pid, 'reviews_star_rating', $rating); add_post_meta($pid, 'reviews_name', $name); add_post_meta($pid, 'reviews_email', $email); add_post_meta($pid, 'reviews_staff_member', $staff);
但是,此代码段仅适用于普通字段,不适用于重复字段。重复的字段增加了另一层复杂性 本文介绍如何将数据插入重复字段: 在您的情况下,您需要执行以下操作:$fields = array('address', 'country', 'zipcode', 'website', 'contacts'); $str = $fields; update_post_meta( $postid, '_contact_meta_fields', $str ); $contactfields = array( array( 'department' => $departmentvalue, 'firstname' => $firstnamevalue, 'lastname' => $lastnamevalue, 'title' => $titlevalue, // etc. - add all of your fields to the array ) ); add_post_meta($postid, 'address', $addressvalue); // do this for each of your non-repeating fields add_post_meta($postid, 'contacts', $contactfields); // this adds the repeating fields
//add a serialised array for wpalchemy to work $data = array('reviews_what_we_did','reviews_star_rating','reviews_name','reviews_email','reviews_staff_member'); $str = $data; update_post_meta( $pid, '_single_reviews_meta_fields', $str ); //update the individual fields add_post_meta($pid, 'reviews_what_we_did', $service); add_post_meta($pid, 'reviews_star_rating', $rating); add_post_meta($pid, 'reviews_name', $name); add_post_meta($pid, 'reviews_email', $email); add_post_meta($pid, 'reviews_staff_member', $staff);
打印post meta非常有用,这样您就可以看到WPAlchemy如何创建序列化数组以及每个meta值$fields = array('address', 'country', 'zipcode', 'website', 'contacts'); $str = $fields; update_post_meta( $postid, '_contact_meta_fields', $str ); $contactfields = array( array( 'department' => $departmentvalue, 'firstname' => $firstnamevalue, 'lastname' => $lastnamevalue, 'title' => $titlevalue, // etc. - add all of your fields to the array ) ); add_post_meta($postid, 'address', $addressvalue); // do this for each of your non-repeating fields add_post_meta($postid, 'contacts', $contactfields); // this adds the repeating fields