Create metabox for save values in termmeta table
Question
This is the structure that I use inside a plugin that I create when I have to use a metabox to assign a meta_key and a meta_value to a custom post type
<?php
add_action( 'add_meta_boxes', 'prefix_create_meta_box' );
function prefix_create_meta_box() {
add_meta_box(
'prefix_metabox_id', /*ID DELLA METABOX*/
'TITLE OF METABOX', /*TITOLO DELLA METABOX*/
'prefix_callback_meta_box', /*CALLBACK DELLA METABOX*/
'your_cpt', /*TIPO DI POST CHE VOGLIAMO A CUI VENGA APPLICATA LA METABOX*/
'side', /*POSIZIONE DELLA METABOX:*/
'default' ); /*PRIORITA' DELLA METABOX*/
}
function prefix_callback_meta_box($post) { /*CALLBACK DELLA METABOX*/
/* IMPLEMENTIAMO DELLE VARIABILI PER POTER MOSTRARE POI NEL FRONTEND IL RISULTATO DELLA NOSTRA METABOX
*******************************/
$prefix_metakey_metabox = get_post_meta( $post->ID, 'metakey_prefix_metabox', true );
/*------------------------------------------------------------------------------------------------------------*/
/* IMPLEMENTIAMO IL NONCE PER LA SICUREZZA DELLA NOSTRA METABOX
*******************************/
wp_nonce_field( plugin_basename( __FILE__ ), 'prefix_save_metabox' );
/* FINE IMPLEMENTAZIONE DEL NONCE PER LA NOSTRA METABOX
*******************************/
/*------------------------------------------------------------------------------------------------------------*/
?>
<input type="text" name="prefix_metavalue_metabox" id="prefix_metavalue_metabox" value="<?php echo $prefix_metakey_metabox; ?>" /></td>
<?php}
/*------------------------------------------------------------------------------------------------------------*/
/* HOOK PER SALVARE I NOSTRI DATI QUANDO VENGONO COMPILATI
*******************************/
add_action( 'save_post', 'prefix_save_metabox' );
function prefix_save_metabox( $post_id ) {
/* ELABORA I DATI SE $_POST è IMPOSTATO
*******************************/
if( isset( $_POST['prefix_metavalue_metabox'] ) )
{
/* SALVATAGGIO AUTOMATICO DEI DATI DELLA NOSTRA METABOX
*******************************/
if ( defined( 'DOING_AUTOSAVE' ) && DOING_AUTOSAVE )
return;
/* CHECK DEL NONCE
*******************************/
wp_verify_nonce( plugin_basename( __FILE__ ), 'prefix_save_metabox' );
/* SALVATAGGIO DEI DATI E SANIFICAZIONE DEI CAMPI INPUT E SELECT
*******************************/
update_post_meta( $post_id, 'metakey_prefix_metabox', sanitize_text_field( $_POST['prefix_metavalue_metabox'] ) );
}
}
global $wpdb;
$wpdb->query("DELETE FROM {$wpdb->prefix}postmeta WHERE meta_value = '' ");
obviously these values end up in the post_meta table, I wanted to know how to save them in the termmeta table instead?
0
2 months
0 Answers
14 views
0
Leave an answer
You must login or register to add a new answer .