Crear un metabox para subir múltiples imágenes


Respuestas:


7

Eso depende completamente de lo que quiere decir con "adjuntar".

Cada publicación de WordPress ya puede tener múltiples archivos adjuntos de medios: fotos, documentos, etc. Usted los carga utilizando el cargador incorporado y todos se marcarán como "adjuntos" a esa ID de publicación específica.

Puede referirse a estos más tarde programáticamente en otro lugar. Por ejemplo, el siguiente código enumerará todos los archivos adjuntos para una publicación específica (código de Snipplr ) :

$args = array(
    'post_type' => 'attachment',
    'numberposts' => null,
    'post_status' => null,
    'post_parent' => $post->ID
);
$attachments = get_posts($args);
if ($attachments) {
    foreach ($attachments as $attachment) {
        echo apply_filters('the_title', $attachment->post_title);
        the_attachment_link($attachment->ID, false);
    }
}

Se puede acceder a toda esta funcionalidad a través del botón predeterminado "Agregar medios" en el extremo derecho de "Cargar / Insertar" en la nueva pantalla de publicación. Después de agregar una imagen, puede hacer clic en "Seleccionar archivos" nuevamente y cargar una segunda imagen. Luego un tercero. Luego un cuarto. Tantos como quieras.

Cada una de estas imágenes se "adjuntará" a la publicación ... incluso si no se insertan en el contenido.


Por alguna extraña razón, solo puedo obtener ese código para generar el primer archivo adjunto en la plantilla, aunque el resto esté adjunto. ¿Algunas ideas? Aquí está el código ... dl.dropbox.com/u/497583/code/wp-attactments.txt
agileapricot

Necesita usar algunas variables diferentes. Estás usando ambos $posty $argsal menos en dos contextos diferentes, lo que hace que sea muy difícil descubrir exactamente qué es lo que estás tratando de hacer en cualquier momento. Pero
probé

6

Aquí hay un tutorial completo con archivos de origen que hacen exactamente lo que desea,
puede cargar múltiples imágenes clonando el campo de entrada y también puede obtener una vista previa, eliminar imágenes con ajax, agregar múltiples metaboxes a múltiples / diferentes tipos de publicaciones y más.

http://www.deluxeblogtips.com/2010/05/howto-meta-box-wordpress.html


Secundo esto. Funciona a las mil maravillas.
Manny Fleurmond el

Si bien ese enlace que proporcionó ahora está inactivo, el proyecto en referencia se ha transformado en un complemento / biblioteca amigable para desarrolladores. Ver: wordpress.org/plugins/meta-box y github.com/wpmetabox ... Parece un gran producto.
Kerry Randolph

2

También recomendaría visitar http://www.wpalchemy.com . WPAlchemy es una "clase" increíble (cerca de un complemento) para agregar fácilmente meta cuadros personalizados a su sitio. Lo uso ampliamente y me ha impresionado la facilidad de uso y el compromiso del desarrollador y la creciente comunidad.


0

Sí, es muy posible. Vea una respuesta que obtuve sobre metaboxes. Básicamente, solo querrás agregar un gancho save_posty verificar el campo nonce.

function my_save_post_callback( $post_id, $post )
{
    if ( empty($_POST) || !isset($_POST['my_custom_metabox']) || !wp_verify_nonce( $_POST['my_custom_metabox'], plugin_basename( __FILE__ ) ) )
    {
        return $post->ID;
    }

    // Handle the upload here

}
add_action( 'save_post', 'my_save_post_callback', 1, 2);
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.