[wp-trac] [WordPress Trac] #35658: Provide additional data for registered meta through register_meta()

WordPress Trac noreply at wordpress.org
Tue Feb 2 13:01:35 UTC 2016


#35658: Provide additional data for registered meta through register_meta()
-------------------------------------------------+-------------------------
 Reporter:  jeremyfelt                           |       Owner:
     Type:  enhancement                          |      Status:  new
 Priority:  normal                               |   Milestone:  Awaiting
Component:  Options, Meta APIs                   |  Review
 Severity:  normal                               |     Version:
 Keywords:  needs-unit-tests needs-testing has-  |  Resolution:
  patch                                          |     Focuses:
-------------------------------------------------+-------------------------

Comment (by tharsheblows):

 It's very possible I'm entirely misunderstanding this, apols, so is this
 what you're thinking for serialized data? If I have this as a meta value
 for the user_details_array meta key:
 {{{
 $meta_value = array(
  'name' => 'Bob',
  'age' => 63,
  'email' => 'bob at example.com'
 );
 }}}

 I could register it with the data type something like
 {{{
 $data_type = array(
   'array' => array(
     'name' => 'string',
     'age' => 'number',
     'email' => 'string' )
 );
 }}}

 which would be used to sanitize and validate (in addition to custom
 callbacks?)  and put in the schema something kind of like this?
 {{{
 ...
 "user_details_array": {
   "type": "array",
   "properties": {
     "name" : { "type": "string" },
     "age" : { "type": "number" },
     "email" : { "type": "string" }
 }
 }}}
 Then when I went to update it, it would check against the schema and give
 me an error if I, eg, tried to change it to an object without changing the
 registered_meta data. There would also be a sensible default type for the
 array / object items (probably "string") so I could just use `'data_type'
 => 'array'` when registering the meta key and it'd still work. But I would
 be required to state the data type if I wanted to use serialized data.

--
Ticket URL: <https://core.trac.wordpress.org/ticket/35658#comment:17>
WordPress Trac <https://core.trac.wordpress.org/>
WordPress publishing platform


More information about the wp-trac mailing list