Skip to content
Read For Learn
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP
Read For Learn
  • Database
    • Oracle
    • SQL
  • C
  • C++
  • Java
  • Java Script
  • jQuery
  • PHP

How to properly use oneOf and anyOf in Rest Schema?

After some testing in WordPress v6.0.1, it seemed that:

  1. We need to set the (default/initial) type of the data.items to null instead of object. (and yes, the type must be set, or else the API response would be invalidated with many “undefined index” notices)

  2. For each item, i.e. an array in the oneOf or anyOf, set the type to object.

So your data schema should look like this, but I purposely used anyOf (see explanation below):

'data' => array(
    'type'  => 'array',
    'items' => array(
        'type'  => null,
        'anyOf' => array(
            array(
                'type'       => 'object',
                'properties' => array( ... ),
                'title'      => 'Data única',
            ),
            array(
                'type'       => 'object',
                'properties' => array( ... ),
                'title'      => 'Data corrente',
            ),
        ), // end anyOf
    ), // end items
), // end data

And the reason why I did not use oneOf, is because it caused an error with the code rest_one_of_multiple_matches and the message meta.datas[data][0] matches Data única and Data corrente, but should match only one.

  • You could avoid that issue by using unique schemas, e.g. add enum to the dia‘s schema or change the hora_inicio‘s type to number, but that is up to you to decide.

Related Posts:

  1. WP REST API “rest_no_route” when trying to update meta
  2. Options to get my custom post type metadata via the WordPress API
  3. Is it possible to update a post meta field through REST API if the format of it when registered is nested?
  4. Update Line Item Meta Data – WooCommerce API
  5. Unknown characters added to meta data values
  6. Cant create or update meta fields using WordPress REST API
  7. Bulk Update Post Meta Values from Different Post via Rest Api
  8. How to register post meta with multi level arrays?
  9. Attachment metadata has value of ‘1’
  10. WP-API + JS Backbone client – how to update post meta
  11. Custom fields with value not pushing with wp_remote_post to wp site
  12. How do I retrieve the slug of the current page?
  13. Most efficient way to get posts with postmeta
  14. Get posts by meta value
  15. Explanation of update_post_(meta/term)_cache
  16. How to extract data from a post meta serialized array?
  17. How to save an array with one metakey in postmeta?
  18. WordPress is stripping escape backslashes from JSON strings in post_meta
  19. How can I get the post ID from a WP_Query loop?
  20. Check if Post Title exists, Insert post if doesn’t, Add Incremental # to Meta if does
  21. How to get custom post meta using REST API
  22. How to update_post_meta value as array
  23. How to add category to: ‘wp-admin/post-new.php’?
  24. Adding meta tag without plugin
  25. What’s the point of get_post_meta’s $single param?
  26. What is the different between an attachment in wp_posts and an attachment in wp_postmeta?
  27. How to edit a post meta data in a Gutenberg Block?
  28. Sanitizing integer input for update_post_meta
  29. post formats – how to switch meta boxes when changing format?
  30. Execute action after post is saved with all related post_meta records (data)
  31. Lack of composite indexes for meta tables
  32. Get a single post by a unique meta value
  33. Update CPT meta data using REST API
  34. if get_post_meta is empty do something
  35. How we get_post_meta without post id
  36. How get post id from meta value
  37. What is the code to get the download link for a product in WooCommerce?
  38. Safe to delete blank postmeta?
  39. advanced custom fields update_field for field type: Taxonomy
  40. update_post_meta not saving when value is zero
  41. Content hooks vs User hooks
  42. Meta compare with date (stored as string) not working
  43. Trying to get custom post meta through Jetpack JSON API [closed]
  44. How to update/insert custom field(post meta) data with wordpress REST API?
  45. Restrict post edit/delete based on user ID and custom field
  46. get_post_meta returning empty string when data shows in the database
  47. publish_post action hook doesn’t give post_meta_data
  48. Remove WordPress.org Meta link
  49. Remove post meta keys
  50. How to access the post meta of a post that has just been published?
  51. Why time functions show invalid time zone when using ‘c’ time format?
  52. Why is get_post_meta returning an array when I specify it as single?
  53. How to update/delete array in post meta value?
  54. How to get all term meta for a taxonomy – getting term_meta for taxonomy
  55. Adding an assisting editor box to Post page
  56. delete unused postmeta
  57. Should I sanitize custom post meta if it is going to be escaped later?
  58. Add post meta based on another post meta value before publish post
  59. How do I retrieve multi-dimensional arrays from the wp_postmeta table, & display on a website?
  60. Front-end update_post_meta snippet displays white screen?
  61. Query between two meta values?
  62. Save both current and new version of post meta
  63. Get Advanced Custom Fields values before saving [closed]
  64. Give extra post-meta to RSS feeds
  65. How to get meta value in wp_attachment_metadata
  66. Clean up output added via wp_head()
  67. List posts under meta_value heading
  68. Why am I getting an infinite loop with have_posts?
  69. get_post_meta – get a single value
  70. delete value 0 in post meta [closed]
  71. Rest Api v2 orderby meta_key in custom post type
  72. Can I safely delete a record, manually, in the wp postmeta table?
  73. How to store post meta in an array?
  74. What action hook updates post meta?
  75. Can’t translate the post meta data (Date) in another language
  76. get_post_meta / update_post_meta array
  77. adding a URL to a post meta
  78. Exclude a category from the filed under list
  79. Cannot edit post meta fields with rest API
  80. Short of raw SQL, can I query for multiple attachment metadata that have a given array key?
  81. How do I access post meta data when publishing a new post in Gutenberg?
  82. update_post_meta() not working when used with WordPress action
  83. Using Advanced Custom Field (ACF) to insert meta description on each page
  84. Triple meta_key on custom SELECT query
  85. get_post_custom()
  86. Adding meta data to an attachment post
  87. update_post_meta not adding anything.(Nor add_post_meta)
  88. loop through all meta keys with get_post_meta
  89. Get posts by meta value with date
  90. How to add meta tag to wordpress posts filter?
  91. Are multiple values from get_post_meta guaranteed to be ordered?
  92. Identifying Importer Posts
  93. Get updated post meta on save_post action?
  94. Get post from meta_key and meta_value
  95. Add a post metadata if only the key and value does not exist
  96. get_post_meta returns bool(false)
  97. How metadata API works?
  98. Correct processing of `$_POST`, following WordPress Coding Standards
  99. Metabox Data not being saved [closed]
  100. Transition from (classical) serialized custom meta field to (gutenberg) rest enabled meta
Categories post-meta Tags post-meta, rest-api
Block user roles from accessing the WordPress dashboard
Working with external library in gutenberg block

Recommended Hostings

Cloudways: Realize Your Website's Potential With Flexible & Affordable Hosting. 24/7/365 Support, Managed Security, Automated Backups, and 24/7 Real-time Monitoring.

FastComet: Fast SSD Hosting, Free Migration, Hack-Free Security, 24/7 Super Fast Support, 45 Day Money Back Guarantee.

Recent Added Topics

  • Bug in translation system: load_theme_textdomain() returns true, files are available and accessible but the language defaults to english
  • Custom Elementor controls not appearing in the widget Advanced tab using injection hooks
  • Get the name of the template/*html file used
  • Trying to Add Paging to Single Post Page
  • Sharing media files between live and staging servers
  • How to display the description of a custom post type in the dashboard?
  • Critical error on image display
  • Copying WP data and files into new install?
  • How to determine the DirectAdmin WordPress backup date?
  • How to get list of ALL tables in the database?
© 2026 Read For Learn
  • Database
    • Oracle
    • SQL
  • algorithm
  • asp.net
  • assembly
  • binary
  • c#
  • Git
  • hex
  • HTML
  • iOS
  • language angnostic
  • math
  • matlab
  • Tips & Trick
  • Tools
  • windows
  • C
  • C++
  • Java
  • javascript
  • Python
  • R
  • Java Script
  • jQuery
  • PHP
  • WordPress