web-dev-qa-db-ja.com

投稿の管理カスタム列がメタボックスからデータを入力していない

私のカスタム投稿名は "employee"です。

これがadminカラムを作成してデータを投入するためのコードです。

列は作成されましたが、入力されていません。また、アクションフックの "10、2"の意味は何ですか? N.B.場所と年齢の値はカスタムメタボックスから取得されます。

add_filter( 'manage_employee_posts_columns', 'set_custom_edit_employee_columns' );
add_action( 'manage_employee_posts_custom_column' , 'custom_employee_column', 10, 2 );

function set_custom_edit_employee_columns($columns) {
    unset( $columns['location'] );
    $columns['location'] = __( 'Location', 'tm_cp' );
    $columns['age'] = __( 'Age', 'tm_cp' );

    return $columns;
}

function custom_employee_column( $column, $post_id ) {

    switch ( $column ) {


        case 'location' :
            echo get_post_meta( $post_id , 'location' , true ); 
            break;

        case 'age' :
             echo get_post_meta( $post_id , 'age' , true ); 
            break;

    }
}
4
rushdi

10が優先順位、2が2つの変数が関数に渡されることを意味します($ column、$ post_id)。問題はget_post_metaを直接エコーしようとしていると思います。これを試して:

function custom_employee_column( $column, $post_id ) {
    switch ( $column ) {
        case 'location' :
            $metaData = get_post_meta( $post_id , 'location' , true ); 
            echo $metaData;
            break;
        case 'age' :
            $metaData = get_post_meta( $post_id , 'age' , true );
            echo $metaData;
            break;
    }
}
1
Johano Fierra