如何在 metabox 中列出自定义类型 post?

How to list custom type post in metabox?


我在 Wordpress 中创建了 2 个自定义类型 post。现在我要在其中一个中创建自定义元数据框到 select posts 来自第二个自定义类型 post 并将其显示在前面。我找不到解决这个问题的方法,我试过查询 post 但没有显示任何内容。

请检查代码以创建名为公司地址的 Metabox,例如卖家自定义 post 类型。

Meta box company address for seller custom post 添加类型:

/**
 * Meta box company address for seller custom post type added
 */      
function wdbs_add_seller_metaboxes() {
    add_meta_box(
        'wdbs_seller_company_address',
        'Company Address',
        'wdbs_seller_company_address',
        'seller',
        'normal',
        'default'
    );
}
add_action( 'add_meta_boxes', 'wdbs_add_seller_metaboxes' );

元框字段公司地址html:

/**
 * Meta box field company address html 
 */
function wdbs_seller_company_address() {
    global $post;
    wp_nonce_field( basename( __FILE__ ), 'seller_fields' );
    $company_address = get_post_meta( $post->ID, 'company_address', true );
    echo '<textarea type="text" name="company_address" class="widefat" rows="6">' . esc_textarea( $company_address )  . '</textarea>';
}

保存卖家元字段:

/**
 * SAVE SELLER METAFIELDS
 * Saves values for company address meta field
*/ 
function wdbs_save_seller_meta( $post_id, $post ) {
    // Return if the user doesn't have edit permissions.
    if ( ! current_user_can( 'edit_post', $post_id ) ) {
        return $post_id;
    }
    if ( ! isset( $_POST['company_address'] ) || ! wp_verify_nonce( $_POST['seller_fields'], basename(__FILE__) ) ) {
        return $post_id;
    }
    $seller_meta['company_address'] = esc_textarea( $_POST['company_address'] );

    foreach ( $seller_meta as $key => $value ) :

        if ( 'revision' === $post->post_type ) {
            return;
        }
        if ( get_post_meta( $post_id, $key, false ) ) {
            update_post_meta( $post_id, $key, $value );
        } else {
            add_post_meta( $post_id, $key, $value);
        }
        if ( ! $value ) {
            delete_post_meta( $post_id, $key );
        }
    endforeach;
}
add_action( 'save_post', 'wdbs_save_seller_meta', 1, 2 );