WordPress Gutenberg Carga de medios Galería de videos

2 minutos de lectura

avatar de usuario
niklas

Quiero tener exactamente la ventana emergente de carga de medios que se usa al suministrar el gallery atribuir a la <MediaUpload> Componente. La diferencia con Mediaupload normal es que ve una barra lateral a la izquierda, y después de seleccionar los elementos, llega a una vista, donde puede reordenar los medios como en la primera imagen a continuación, no como en la segunda que aparece con el código Soy usando:

<MediaUpload
  onSelect={ this.onSelectMedia }
  /*todo here should be gallery attr but it will disable video selection*/
  allowedTypes={ [ 'image', 'video' ] }
  accept="image/*,video/*"
  multiple
  value={ this.media.map( ( m ) => m.mediaId ) }
  render={ ( { open } ) => (
    <IconButton
      label={ __( 'Edit Media' ) }
      icon="images-alt2"
      onClick={ open }
    />
  ) }
/>

Cuando agrego el atributo de la galería, los tipos permitidos serán anulados de alguna manera por el atributo de la galería y solo se mostrarán las imágenes en la ventana MediaUpload.

Primera imagen, como es

ingrese la descripción de la imagen aquí

Segunda imagen, lo que necesito (pero con imagen + video mostrando)

ingrese la descripción de la imagen aquí

Creo que esto no tiene nada que ver con el MediaUpload componente en sí, pero con la lógica subyacente de que wordpress solo permite archivos adjuntos de tipo image en su incorporado gallery. Tan pronto como agregues el accesorio gallery al componente, el modal de medios se establecerá de forma predeterminada en el marco de edición de la galería. Tal vez sea posible extender el gallery type para permitir también otros tipos mime.

  • sí, eso es lo que sé y ya me imaginé. Estaría dispuesto a imitar la lógica exacta y volver a implementar totalmente el componente MediaUpload o cualquier cosa que me diera ese comportamiento. Pero necesito código o al menos más orientación sobre cómo lograrlo.

    – Nicolás

    18 de junio de 2019 a las 18:11

¿Ha sido útil esta solución?