On this page
wp_xmlrpc_server::set_term_custom_fields( int $term_id, array $fields )
Set custom fields for a term.
Parameters
$term_idint Required-
Term ID.
$fieldsarray Required-
Custom fields.
Source
File: wp-includes/class-wp-xmlrpc-server.php. View all references
public function set_term_custom_fields( $term_id, $fields ) {
$term_id = (int) $term_id;
foreach ( (array) $fields as $meta ) {
if ( isset( $meta['id'] ) ) {
$meta['id'] = (int) $meta['id'];
$pmeta = get_metadata_by_mid( 'term', $meta['id'] );
if ( isset( $meta['key'] ) ) {
$meta['key'] = wp_unslash( $meta['key'] );
if ( $meta['key'] !== $pmeta->meta_key ) {
continue;
}
$meta['value'] = wp_unslash( $meta['value'] );
if ( current_user_can( 'edit_term_meta', $term_id ) ) {
update_metadata_by_mid( 'term', $meta['id'], $meta['value'] );
}
} elseif ( current_user_can( 'delete_term_meta', $term_id ) ) {
delete_metadata_by_mid( 'term', $meta['id'] );
}
} elseif ( current_user_can( 'add_term_meta', $term_id ) ) {
add_term_meta( $term_id, $meta['key'], $meta['value'] );
}
}
}
Related
Uses
| Uses | Description |
|---|---|
| add_term_meta() wp-includes/taxonomy.php | Adds metadata to a term. |
| get_metadata_by_mid() wp-includes/meta.php | Retrieves metadata by meta ID. |
| update_metadata_by_mid() wp-includes/meta.php | Updates metadata by meta ID. |
| delete_metadata_by_mid() wp-includes/meta.php | Deletes metadata by meta ID. |
| current_user_can() wp-includes/capabilities.php | Returns whether the current user has the specified capability. |
| wp_unslash() wp-includes/formatting.php | Removes slashes from a string or recursively removes slashes from strings within an array. |
Used By
| Used By | Description |
|---|---|
| wp_xmlrpc_server::wp_newTerm() wp-includes/class-wp-xmlrpc-server.php | Create a new term. |
| wp_xmlrpc_server::wp_editTerm() wp-includes/class-wp-xmlrpc-server.php | Edit a term. |
Changelog
| Version | Description |
|---|---|
| 4.9.0 | Introduced. |
© 2003–2022 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_xmlrpc_server/set_term_custom_fields