无法从数据库获取自定义帖子类型的元数据

时间:2017-01-24 13:29:07

标签: php wordpress custom-post-type shortcode

已尝试使用save_postupdated_post操作。

以下是代码:

function la_add_custom_metabox() {
add_meta_box(
    'la_meta',
    __( 'Dados de Cadastro' ),
    'la_meta_callback',
    'cota',
    'normal',
    'core'
);
}
add_action( 'add_meta_boxes', 'la_add_custom_metabox' );

我的自定义字段:

function la_meta_callback(){

wp_nonce_field( basename( __FILE__ ), 'la_cotas_nonce' );
$la_stored_meta = get_post_meta( $post->ID ); ?>

<div>

 <div class="meta-row">
   <div class="meta-th">
     <label for="credito" class="dwwp-row-title"><?php _e( 'Crédito',    'la-cotas' ); ?></label>
   </div>
   <div class="meta-td">
    <input type="text" class="dwwp-row-content" name="credito" id="credito" value="<?php if ( ! empty ( $la_stored_meta['credito'] ) ) { echo esc_attr( $la_stored_meta['credito'][0] ); } ?>"/>
   </div>
 </div>
</div>

保存在数据库中的功能

function la_meta_save( $post_id ) {
   // Checks save status
   $is_autosave = wp_is_post_autosave( $post_id );
   $is_revision = wp_is_post_revision( $post_id );
   $is_valid_nonce = ( isset( $_POST[ 'la_cotas_nonce' ] ) && wp_verify_nonce( $_POST[ 'la_cotas_nonce' ], basename( __FILE__ ) ) ) ? 'true' : 'false';

    // Exits script depending on save status
   if ( $is_autosave || $is_revision || !$is_valid_nonce ) {
       return;
   }


    if ( isset( $_POST[ 'credito' ] ) ) {
        update_post_meta( $post_id, 'credito', sanitize_text_field( $_POST[ 'credito' ] ) );
    }

 }

 add_action( 'save_post', 'la_meta_save' );

我在互联网上尝试了很多教程,但我找不到我做错了什么。

预期:要插入数据库并显示在自定义编辑页面字段中的数据。

编辑1 :我发现数据正在保存,但未在编辑字段中显示。

1 个答案:

答案 0 :(得分:0)

解决:对于那些感兴趣的人:我没有在save_meta回调上传递$ post

//This solved the problem
function la_meta_callback($post){ ... }