我有一个cpt的元框,无法从表单中获取值update_post_meta
cpt declaration:
function hgod_fichas()
{
$labels = array( … );
$args = array(
\'label\' => __(\'Fichas\', \'hgodinho\'),
\'description\' => __(\'Fichamento\', \'hgodinho\'),
\'labels\' => $labels,
\'supports\' => array(\'title\', \'editor\', \'thumbnail\', \'revisions\'),
\'hierarchical\' => false,
\'public\' => true,
\'show_ui\' => true,
\'show_in_menu\' => true,
\'menu_position\' => 5,
\'show_in_admin_bar\' => true,
\'show_in_nav_menus\' => true,
\'can_export\' => true,
\'has_archive\' => \'fichas\',
\'exclude_from_search\' => false,
\'publicly_queryable\' => true,
\'capability_type\' => \'post\',
\'show_in_rest\' => true,
);
register_post_type(\'hgod_fichas\', $args);
}
meta-box declaration:
function hgod_add_metabox($post_type)
{
$post_type = get_post_type();
add_meta_box(
$post_type . \'_metabox\',
__(\'Ficha\', \'hgod\'),
$post_type . \'_render\',
$post_type,
);
}
meta-box callback:
function hgod_fichas_render( $post )
{
$mb = get_post_meta($post->ID);
wp_nonce_field( basename( __FILE__ ), \'_hgod_fichas_mb_nonce\');
?>
<p>
<label for="ficha_tipo">Tipo:
</label>
<select name="ficha_tipo" id="ficha_tipo">
<option value="none" selected disable hidden>Selecione o…</option>
<option value="livro">livro</option>
<option value="texto">texto</option>
<option value="webpage">webpage</option>
<option value="imagem">imagem</option>
<option value="video">video</option>
<option value="audio">audio</option>
<option value="codigo">codigo</option>
</select>
</p>
…
}
Save function
问题在于这里,我无法从nounce中获取值,也无法从select字段中获取值,也无法从我的
hgod_fichas_render()
函数的第一个条件返回:
function hgod_save_ficha($post_id){
if ( ! isset( $_POST[\'_hgod_fichas_mb_nonce\'] ) ) {
return; // RETURN HERE
}
if ( ! wp_verify_nonce( $_POST[\'_hgod_fichas_mb_nonce\'], \'_hgod_fichas_mb_nonce\' ) ) {
return;
}
if ( defined( \'DOING_AUTOSAVE\' ) && DOING_AUTOSAVE ) {
return;
}
if ( ! current_user_can( \'edit_hgod_fichas\', $post_id ) ) {
return;
}
$tipo_ficha = $_POST[\'ficha_tipo\'];
$update_ficha = update_post_meta($post_id, \'_hgod_ficha_livro_autor\', $tipo_ficha);
if ( !$update_ficha ){
wp_die(\'nao salvou\' );
}
}
有人能解释一下吗?