Make WordPress Core


Ignore:
Timestamp:
01/17/2025 12:10:08 AM (5 months ago)
Author:
peterwilsoncc
Message:

Options/Meta APIs: Document type juggling of meta data.

Document that unserialised data types are stored as strings in the database and returned as such by the meta data functions. For example, setting meta data to the integer value 1 will be returned as "1" when subsequently queried via get_metadata() and the related functions.

Props sukhendu2002, azaozz, jrf, rodrigosprimo.
Fixes ticket:61950.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/wp-includes/post.php

    r59602 r59657  
    25592559 * @param int    $post_id    Post ID.
    25602560 * @param string $meta_key   Metadata name.
    2561  * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
     2561 * @param mixed  $meta_value Metadata value. Arrays and objects are stored as serialized data and
     2562 *                           will be returned as the same type when retrieved. Other data types will
     2563 *                           be stored as strings in the database:
     2564 *                           - false is stored and retrieved as an empty string ('')
     2565 *                           - true is stored and retrieved as '1'
     2566 *                           - numbers (both integer and float) are stored and retrieved as strings
     2567 *                           Must be serializable if non-scalar.
    25622568 * @param bool   $unique     Optional. Whether the same key should not be added.
    25632569 *                           Default false.
     
    26162622 *               An empty array if a valid but non-existing post ID is passed and `$single` is false.
    26172623 *               An empty string if a valid but non-existing post ID is passed and `$single` is true.
     2624 *               Note: Non-serialized values are returned as strings:
     2625 *               - false values are returned as empty strings ('')
     2626 *               - true values are returned as '1'
     2627 *               - numbers (both integer and float) are returned as strings
     2628 *               Arrays and objects retain their original type.
    26182629 */
    26192630function get_post_meta( $post_id, $key = '', $single = false ) {
Note: See TracChangeset for help on using the changeset viewer.