Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93

Warning: Undefined array key "page_file_edit_line" in /home/sportsfever/public_html/filemanger/edit_text_line.php on line 32
/home/sportsfe.../httpdocs/wp-inclu...
File: meta.php
add_filter( "auth_{$object_type}_meta_{$meta_key}", $args['auth_callback'], 10, 6 );
[1500] Fix | Delete
}
[1501] Fix | Delete
}
[1502] Fix | Delete
[1503] Fix | Delete
if ( array_key_exists( 'default', $args ) ) {
[1504] Fix | Delete
$schema = $args;
[1505] Fix | Delete
if ( is_array( $args['show_in_rest'] ) && isset( $args['show_in_rest']['schema'] ) ) {
[1506] Fix | Delete
$schema = array_merge( $schema, $args['show_in_rest']['schema'] );
[1507] Fix | Delete
}
[1508] Fix | Delete
[1509] Fix | Delete
$check = rest_validate_value_from_schema( $args['default'], $schema );
[1510] Fix | Delete
if ( is_wp_error( $check ) ) {
[1511] Fix | Delete
_doing_it_wrong( __FUNCTION__, __( 'When registering a default meta value the data must match the type provided.' ), '5.5.0' );
[1512] Fix | Delete
[1513] Fix | Delete
return false;
[1514] Fix | Delete
}
[1515] Fix | Delete
[1516] Fix | Delete
if ( ! has_filter( "default_{$object_type}_metadata", 'filter_default_metadata' ) ) {
[1517] Fix | Delete
add_filter( "default_{$object_type}_metadata", 'filter_default_metadata', 10, 5 );
[1518] Fix | Delete
}
[1519] Fix | Delete
}
[1520] Fix | Delete
[1521] Fix | Delete
// Global registry only contains meta keys registered with the array of arguments added in 4.6.0.
[1522] Fix | Delete
if ( ! $has_old_auth_cb && ! $has_old_sanitize_cb ) {
[1523] Fix | Delete
unset( $args['object_subtype'] );
[1524] Fix | Delete
[1525] Fix | Delete
$wp_meta_keys[ $object_type ][ $object_subtype ][ $meta_key ] = $args;
[1526] Fix | Delete
[1527] Fix | Delete
return true;
[1528] Fix | Delete
}
[1529] Fix | Delete
[1530] Fix | Delete
return false;
[1531] Fix | Delete
}
[1532] Fix | Delete
[1533] Fix | Delete
/**
[1534] Fix | Delete
* Filters into default_{$object_type}_metadata and adds in default value.
[1535] Fix | Delete
*
[1536] Fix | Delete
* @since 5.5.0
[1537] Fix | Delete
*
[1538] Fix | Delete
* @param mixed $value Current value passed to filter.
[1539] Fix | Delete
* @param int $object_id ID of the object metadata is for.
[1540] Fix | Delete
* @param string $meta_key Metadata key.
[1541] Fix | Delete
* @param bool $single If true, return only the first value of the specified `$meta_key`.
[1542] Fix | Delete
* This parameter has no effect if `$meta_key` is not specified.
[1543] Fix | Delete
* @param string $meta_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1544] Fix | Delete
* or any other object type with an associated meta table.
[1545] Fix | Delete
* @return mixed An array of default values if `$single` is false.
[1546] Fix | Delete
* The default value of the meta field if `$single` is true.
[1547] Fix | Delete
*/
[1548] Fix | Delete
function filter_default_metadata( $value, $object_id, $meta_key, $single, $meta_type ) {
[1549] Fix | Delete
global $wp_meta_keys;
[1550] Fix | Delete
[1551] Fix | Delete
if ( wp_installing() ) {
[1552] Fix | Delete
return $value;
[1553] Fix | Delete
}
[1554] Fix | Delete
[1555] Fix | Delete
if ( ! is_array( $wp_meta_keys ) || ! isset( $wp_meta_keys[ $meta_type ] ) ) {
[1556] Fix | Delete
return $value;
[1557] Fix | Delete
}
[1558] Fix | Delete
[1559] Fix | Delete
$defaults = array();
[1560] Fix | Delete
foreach ( $wp_meta_keys[ $meta_type ] as $sub_type => $meta_data ) {
[1561] Fix | Delete
foreach ( $meta_data as $_meta_key => $args ) {
[1562] Fix | Delete
if ( $_meta_key === $meta_key && array_key_exists( 'default', $args ) ) {
[1563] Fix | Delete
$defaults[ $sub_type ] = $args;
[1564] Fix | Delete
}
[1565] Fix | Delete
}
[1566] Fix | Delete
}
[1567] Fix | Delete
[1568] Fix | Delete
if ( ! $defaults ) {
[1569] Fix | Delete
return $value;
[1570] Fix | Delete
}
[1571] Fix | Delete
[1572] Fix | Delete
// If this meta type does not have subtypes, then the default is keyed as an empty string.
[1573] Fix | Delete
if ( isset( $defaults[''] ) ) {
[1574] Fix | Delete
$metadata = $defaults[''];
[1575] Fix | Delete
} else {
[1576] Fix | Delete
$sub_type = get_object_subtype( $meta_type, $object_id );
[1577] Fix | Delete
if ( ! isset( $defaults[ $sub_type ] ) ) {
[1578] Fix | Delete
return $value;
[1579] Fix | Delete
}
[1580] Fix | Delete
$metadata = $defaults[ $sub_type ];
[1581] Fix | Delete
}
[1582] Fix | Delete
[1583] Fix | Delete
if ( $single ) {
[1584] Fix | Delete
$value = $metadata['default'];
[1585] Fix | Delete
} else {
[1586] Fix | Delete
$value = array( $metadata['default'] );
[1587] Fix | Delete
}
[1588] Fix | Delete
[1589] Fix | Delete
return $value;
[1590] Fix | Delete
}
[1591] Fix | Delete
[1592] Fix | Delete
/**
[1593] Fix | Delete
* Checks if a meta key is registered.
[1594] Fix | Delete
*
[1595] Fix | Delete
* @since 4.6.0
[1596] Fix | Delete
* @since 4.9.8 The `$object_subtype` parameter was added.
[1597] Fix | Delete
*
[1598] Fix | Delete
* @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1599] Fix | Delete
* or any other object type with an associated meta table.
[1600] Fix | Delete
* @param string $meta_key Metadata key.
[1601] Fix | Delete
* @param string $object_subtype Optional. The subtype of the object type. Default empty string.
[1602] Fix | Delete
* @return bool True if the meta key is registered to the object type and, if provided,
[1603] Fix | Delete
* the object subtype. False if not.
[1604] Fix | Delete
*/
[1605] Fix | Delete
function registered_meta_key_exists( $object_type, $meta_key, $object_subtype = '' ) {
[1606] Fix | Delete
$meta_keys = get_registered_meta_keys( $object_type, $object_subtype );
[1607] Fix | Delete
[1608] Fix | Delete
return isset( $meta_keys[ $meta_key ] );
[1609] Fix | Delete
}
[1610] Fix | Delete
[1611] Fix | Delete
/**
[1612] Fix | Delete
* Unregisters a meta key from the list of registered keys.
[1613] Fix | Delete
*
[1614] Fix | Delete
* @since 4.6.0
[1615] Fix | Delete
* @since 4.9.8 The `$object_subtype` parameter was added.
[1616] Fix | Delete
*
[1617] Fix | Delete
* @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1618] Fix | Delete
* or any other object type with an associated meta table.
[1619] Fix | Delete
* @param string $meta_key Metadata key.
[1620] Fix | Delete
* @param string $object_subtype Optional. The subtype of the object type. Default empty string.
[1621] Fix | Delete
* @return bool True if successful. False if the meta key was not registered.
[1622] Fix | Delete
*/
[1623] Fix | Delete
function unregister_meta_key( $object_type, $meta_key, $object_subtype = '' ) {
[1624] Fix | Delete
global $wp_meta_keys;
[1625] Fix | Delete
[1626] Fix | Delete
if ( ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
[1627] Fix | Delete
return false;
[1628] Fix | Delete
}
[1629] Fix | Delete
[1630] Fix | Delete
$args = $wp_meta_keys[ $object_type ][ $object_subtype ][ $meta_key ];
[1631] Fix | Delete
[1632] Fix | Delete
if ( isset( $args['sanitize_callback'] ) && is_callable( $args['sanitize_callback'] ) ) {
[1633] Fix | Delete
if ( ! empty( $object_subtype ) ) {
[1634] Fix | Delete
remove_filter( "sanitize_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $args['sanitize_callback'] );
[1635] Fix | Delete
} else {
[1636] Fix | Delete
remove_filter( "sanitize_{$object_type}_meta_{$meta_key}", $args['sanitize_callback'] );
[1637] Fix | Delete
}
[1638] Fix | Delete
}
[1639] Fix | Delete
[1640] Fix | Delete
if ( isset( $args['auth_callback'] ) && is_callable( $args['auth_callback'] ) ) {
[1641] Fix | Delete
if ( ! empty( $object_subtype ) ) {
[1642] Fix | Delete
remove_filter( "auth_{$object_type}_meta_{$meta_key}_for_{$object_subtype}", $args['auth_callback'] );
[1643] Fix | Delete
} else {
[1644] Fix | Delete
remove_filter( "auth_{$object_type}_meta_{$meta_key}", $args['auth_callback'] );
[1645] Fix | Delete
}
[1646] Fix | Delete
}
[1647] Fix | Delete
[1648] Fix | Delete
unset( $wp_meta_keys[ $object_type ][ $object_subtype ][ $meta_key ] );
[1649] Fix | Delete
[1650] Fix | Delete
// Do some clean up.
[1651] Fix | Delete
if ( empty( $wp_meta_keys[ $object_type ][ $object_subtype ] ) ) {
[1652] Fix | Delete
unset( $wp_meta_keys[ $object_type ][ $object_subtype ] );
[1653] Fix | Delete
}
[1654] Fix | Delete
if ( empty( $wp_meta_keys[ $object_type ] ) ) {
[1655] Fix | Delete
unset( $wp_meta_keys[ $object_type ] );
[1656] Fix | Delete
}
[1657] Fix | Delete
[1658] Fix | Delete
return true;
[1659] Fix | Delete
}
[1660] Fix | Delete
[1661] Fix | Delete
/**
[1662] Fix | Delete
* Retrieves a list of registered metadata args for an object type, keyed by their meta keys.
[1663] Fix | Delete
*
[1664] Fix | Delete
* @since 4.6.0
[1665] Fix | Delete
* @since 4.9.8 The `$object_subtype` parameter was added.
[1666] Fix | Delete
*
[1667] Fix | Delete
* @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1668] Fix | Delete
* or any other object type with an associated meta table.
[1669] Fix | Delete
* @param string $object_subtype Optional. The subtype of the object type. Default empty string.
[1670] Fix | Delete
* @return array[] List of registered metadata args, keyed by their meta keys.
[1671] Fix | Delete
*/
[1672] Fix | Delete
function get_registered_meta_keys( $object_type, $object_subtype = '' ) {
[1673] Fix | Delete
global $wp_meta_keys;
[1674] Fix | Delete
[1675] Fix | Delete
if ( ! is_array( $wp_meta_keys ) || ! isset( $wp_meta_keys[ $object_type ] ) || ! isset( $wp_meta_keys[ $object_type ][ $object_subtype ] ) ) {
[1676] Fix | Delete
return array();
[1677] Fix | Delete
}
[1678] Fix | Delete
[1679] Fix | Delete
return $wp_meta_keys[ $object_type ][ $object_subtype ];
[1680] Fix | Delete
}
[1681] Fix | Delete
[1682] Fix | Delete
/**
[1683] Fix | Delete
* Retrieves registered metadata for a specified object.
[1684] Fix | Delete
*
[1685] Fix | Delete
* The results include both meta that is registered specifically for the
[1686] Fix | Delete
* object's subtype and meta that is registered for the entire object type.
[1687] Fix | Delete
*
[1688] Fix | Delete
* @since 4.6.0
[1689] Fix | Delete
*
[1690] Fix | Delete
* @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1691] Fix | Delete
* or any other object type with an associated meta table.
[1692] Fix | Delete
* @param int $object_id ID of the object the metadata is for.
[1693] Fix | Delete
* @param string $meta_key Optional. Registered metadata key. If not specified, retrieve all registered
[1694] Fix | Delete
* metadata for the specified object.
[1695] Fix | Delete
* @return mixed A single value or array of values for a key if specified. An array of all registered keys
[1696] Fix | Delete
* and values for an object ID if not. False if a given $meta_key is not registered.
[1697] Fix | Delete
*/
[1698] Fix | Delete
function get_registered_metadata( $object_type, $object_id, $meta_key = '' ) {
[1699] Fix | Delete
$object_subtype = get_object_subtype( $object_type, $object_id );
[1700] Fix | Delete
[1701] Fix | Delete
if ( ! empty( $meta_key ) ) {
[1702] Fix | Delete
if ( ! empty( $object_subtype ) && ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
[1703] Fix | Delete
$object_subtype = '';
[1704] Fix | Delete
}
[1705] Fix | Delete
[1706] Fix | Delete
if ( ! registered_meta_key_exists( $object_type, $meta_key, $object_subtype ) ) {
[1707] Fix | Delete
return false;
[1708] Fix | Delete
}
[1709] Fix | Delete
[1710] Fix | Delete
$meta_keys = get_registered_meta_keys( $object_type, $object_subtype );
[1711] Fix | Delete
$meta_key_data = $meta_keys[ $meta_key ];
[1712] Fix | Delete
[1713] Fix | Delete
$data = get_metadata( $object_type, $object_id, $meta_key, $meta_key_data['single'] );
[1714] Fix | Delete
[1715] Fix | Delete
return $data;
[1716] Fix | Delete
}
[1717] Fix | Delete
[1718] Fix | Delete
$data = get_metadata( $object_type, $object_id );
[1719] Fix | Delete
if ( ! $data ) {
[1720] Fix | Delete
return array();
[1721] Fix | Delete
}
[1722] Fix | Delete
[1723] Fix | Delete
$meta_keys = get_registered_meta_keys( $object_type );
[1724] Fix | Delete
if ( ! empty( $object_subtype ) ) {
[1725] Fix | Delete
$meta_keys = array_merge( $meta_keys, get_registered_meta_keys( $object_type, $object_subtype ) );
[1726] Fix | Delete
}
[1727] Fix | Delete
[1728] Fix | Delete
return array_intersect_key( $data, $meta_keys );
[1729] Fix | Delete
}
[1730] Fix | Delete
[1731] Fix | Delete
/**
[1732] Fix | Delete
* Filters out `register_meta()` args based on an allowed list.
[1733] Fix | Delete
*
[1734] Fix | Delete
* `register_meta()` args may change over time, so requiring the allowed list
[1735] Fix | Delete
* to be explicitly turned off is a warranty seal of sorts.
[1736] Fix | Delete
*
[1737] Fix | Delete
* @access private
[1738] Fix | Delete
* @since 5.5.0
[1739] Fix | Delete
*
[1740] Fix | Delete
* @param array $args Arguments from `register_meta()`.
[1741] Fix | Delete
* @param array $default_args Default arguments for `register_meta()`.
[1742] Fix | Delete
* @return array Filtered arguments.
[1743] Fix | Delete
*/
[1744] Fix | Delete
function _wp_register_meta_args_allowed_list( $args, $default_args ) {
[1745] Fix | Delete
return array_intersect_key( $args, $default_args );
[1746] Fix | Delete
}
[1747] Fix | Delete
[1748] Fix | Delete
/**
[1749] Fix | Delete
* Returns the object subtype for a given object ID of a specific type.
[1750] Fix | Delete
*
[1751] Fix | Delete
* @since 4.9.8
[1752] Fix | Delete
*
[1753] Fix | Delete
* @param string $object_type Type of object metadata is for. Accepts 'post', 'comment', 'term', 'user',
[1754] Fix | Delete
* or any other object type with an associated meta table.
[1755] Fix | Delete
* @param int $object_id ID of the object to retrieve its subtype.
[1756] Fix | Delete
* @return string The object subtype or an empty string if unspecified subtype.
[1757] Fix | Delete
*/
[1758] Fix | Delete
function get_object_subtype( $object_type, $object_id ) {
[1759] Fix | Delete
$object_id = (int) $object_id;
[1760] Fix | Delete
$object_subtype = '';
[1761] Fix | Delete
[1762] Fix | Delete
switch ( $object_type ) {
[1763] Fix | Delete
case 'post':
[1764] Fix | Delete
$post_type = get_post_type( $object_id );
[1765] Fix | Delete
[1766] Fix | Delete
if ( ! empty( $post_type ) ) {
[1767] Fix | Delete
$object_subtype = $post_type;
[1768] Fix | Delete
}
[1769] Fix | Delete
break;
[1770] Fix | Delete
[1771] Fix | Delete
case 'term':
[1772] Fix | Delete
$term = get_term( $object_id );
[1773] Fix | Delete
if ( ! $term instanceof WP_Term ) {
[1774] Fix | Delete
break;
[1775] Fix | Delete
}
[1776] Fix | Delete
[1777] Fix | Delete
$object_subtype = $term->taxonomy;
[1778] Fix | Delete
break;
[1779] Fix | Delete
[1780] Fix | Delete
case 'comment':
[1781] Fix | Delete
$comment = get_comment( $object_id );
[1782] Fix | Delete
if ( ! $comment ) {
[1783] Fix | Delete
break;
[1784] Fix | Delete
}
[1785] Fix | Delete
[1786] Fix | Delete
$object_subtype = 'comment';
[1787] Fix | Delete
break;
[1788] Fix | Delete
[1789] Fix | Delete
case 'user':
[1790] Fix | Delete
$user = get_user_by( 'id', $object_id );
[1791] Fix | Delete
if ( ! $user ) {
[1792] Fix | Delete
break;
[1793] Fix | Delete
}
[1794] Fix | Delete
[1795] Fix | Delete
$object_subtype = 'user';
[1796] Fix | Delete
break;
[1797] Fix | Delete
}
[1798] Fix | Delete
[1799] Fix | Delete
/**
[1800] Fix | Delete
* Filters the object subtype identifier for a non-standard object type.
[1801] Fix | Delete
*
[1802] Fix | Delete
* The dynamic portion of the hook name, `$object_type`, refers to the meta object type
[1803] Fix | Delete
* (post, comment, term, user, or any other type with an associated meta table).
[1804] Fix | Delete
*
[1805] Fix | Delete
* Possible hook names include:
[1806] Fix | Delete
*
[1807] Fix | Delete
* - `get_object_subtype_post`
[1808] Fix | Delete
* - `get_object_subtype_comment`
[1809] Fix | Delete
* - `get_object_subtype_term`
[1810] Fix | Delete
* - `get_object_subtype_user`
[1811] Fix | Delete
*
[1812] Fix | Delete
* @since 4.9.8
[1813] Fix | Delete
*
[1814] Fix | Delete
* @param string $object_subtype Empty string to override.
[1815] Fix | Delete
* @param int $object_id ID of the object to get the subtype for.
[1816] Fix | Delete
*/
[1817] Fix | Delete
return apply_filters( "get_object_subtype_{$object_type}", $object_subtype, $object_id );
[1818] Fix | Delete
}
[1819] Fix | Delete
[1820] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function