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/taxonomy.php

    r58962 r59657  
    13871387 * @param int    $term_id    Term ID.
    13881388 * @param string $meta_key   Metadata name.
    1389  * @param mixed  $meta_value Metadata value. Must be serializable if non-scalar.
     1389 * @param mixed  $meta_value Metadata value. Arrays and objects are stored as serialized data and
     1390 *                           will be returned as the same type when retrieved. Other data types will
     1391 *                           be stored as strings in the database:
     1392 *                           - false is stored and retrieved as an empty string ('')
     1393 *                           - true is stored and retrieved as '1'
     1394 *                           - numbers (both integer and float) are stored and retrieved as strings
     1395 *                           Must be serializable if non-scalar.
    13901396 * @param bool   $unique     Optional. Whether the same key should not be added.
    13911397 *                           Default false.
     
    14331439 *               An empty array if a valid but non-existing term ID is passed and `$single` is false.
    14341440 *               An empty string if a valid but non-existing term ID is passed and `$single` is true.
     1441 *               Note: Non-serialized values are returned as strings:
     1442 *               - false values are returned as empty strings ('')
     1443 *               - true values are returned as '1'
     1444 *               - numbers are returned as strings
     1445 *               Arrays and objects retain their original type.
    14351446 */
    14361447function get_term_meta( $term_id, $key = '', $single = false ) {
Note: See TracChangeset for help on using the changeset viewer.