Adjuntar archivos Metabox

4

¿Alguien sabe cómo crear un simple botón "adjuntar / examinar" que se puede colocar en un metabox que al hacer clic en él abriría una caja de luz donde el usuario podría ver todos los archivos de medios? Él quiere adjuntar y hacer clic en el botón "adjuntar" en la parte inferior. Después de hacer clic en "adjuntar", el metabox de la publicación se actualizará con todos los archivos que seleccionó ...

    
pregunta NetConstructor.com 19.11.2010 - 16:35

3 respuestas

2

Para la parte de abrir una caja de luz, busque algo y luego ejecute algo dentro de una acción: Wordpress ya tiene esto incorporado. Por lo que pide, es básicamente el cuadro grueso que se abre como en el editor de publicaciones cuando busca Una imagen en la galería.

Encontrará todo el código que necesita para eso en wordpress. Lo único que debe hacer es recopilar el trozo de código más complejo, empaquetarlo en un complemento por sí mismo y modificarlo para que se ajuste a sus necesidades. Esos componentes no son muy reutilizables por sí solos, por lo que no hay una API que pueda haberte facilitado esto. Bueno, eso no es realmente cierto, puede usar tb_show() para mostrar el thickbox para ejemplo .

Pero en general, esto no es trivial. Probablemente estés buscando algo que sea más fácil de adoptar. No lo sé. Una vez jugué con la caja gruesa < - > Publicar la comunicación del editor (que podría ser más compleja con lo que necesita), y hay mucho que pensar para hacer las cosas. Pero para el escenario que describe, a menudo es necesario, para indicar a la página que está abriendo la caja para actualizar algo después de que se haya realizado la selección en la ventana emergente.

Para el metabox, deberías encontrar suficientes fragmentos de código para crear uno, así que estoy bastante seguro de que ya hay código para eso.

    
respondido por el hakre 19.11.2010 - 20:54
2

Tal vez algo aquí ayude ..

enlace

    
respondido por el t31os 19.11.2010 - 22:09
1

enlace

Estos chicos han creado una increíble biblioteca para tipos de campos personalizados en WP admin. Creo que es exactamente lo que está buscando: hace que la creación de campos de carga de imágenes sea trivial.

Esto permite que los metaboxes se descalifiquen para cualquier tipo de publicación programáticamente con control preciso.

Hubo una solicitud de más detalles. A riesgo de duplicar el conocimiento, aquí hay un ejemplo de la documentación (con algunas modificaciones para usar el control de archivos). un metabox de imagen:

function be_sample_metaboxes( $meta_boxes ) {
$prefix = '_cmb_'; // Prefix for all fields
$meta_boxes[] = array(
    'id' => 'test_metabox',
    'title' => 'Test Metabox',
    'pages' => array('page'), // post type
    'context' => 'normal',
    'priority' => 'high',
    'show_names' => true, // Show field names on the left
    'fields' => array(
        array(
            'name' => 'Test Text',
            'desc' => 'field description (optional)',
            'id' => $prefix . 'test_image',
            'type' => 'file'
        ),
    ),
);

return $meta_boxes;
}
add_filter( 'cmb_meta_boxes', 'be_sample_metaboxes' );


add_action( 'init', 'be_initialize_cmb_meta_boxes', 9999 );
function be_initialize_cmb_meta_boxes() {
if ( !class_exists( 'cmb_Meta_Box' ) ) {
    require_once( 'lib/metabox/init.php' );
}
}

Lo que hago es poner esto en mi posttype_my_post_type_name.php donde estoy creando el tipo de publicación. Solicite esto al archivo functions.php después de que haya requerido la biblioteca metabox.

    
respondido por el Will 10.09.2012 - 09:47

Lea otras preguntas en las etiquetas