He escrito un complemento en el que tiene un pequeño icono de chat en la esquina inferior derecha, sin embargo, quiero que el usuario pueda elegir una imagen como el icono de Media Library
. ¿Cómo puedo hacer esto con la API de Wordpress? La imagen es una configuración en el complemento (solo cambiable por el administrador)
media-library
Thomas
fuente
fuente
wp.media
para permitir cargas personalizadas, seleccione un archivo multimedia para este requisito. WPSE tiene muchos ejemplos, pero tal vez estas publicaciones lo ayuden a jeroensormani.com/… También encontrará ejemplos de github, especialmente de ocean90 - github.com/ocean90/media-modal-demoRespuestas:
Debe usar
wp.media
para usar el cuadro de diálogo Administrador de medios de WordPress.Primero, necesitas poner en cola los scritps:
Su HTML podría ser algo como esto (tenga en cuenta que mi código usa la ID del archivo adjunto en la configuración del complemento en lugar de la URL de la imagen como lo hizo en su respuesta, creo que es mucho mejor. Por ejemplo, usar la ID le permite obtener diferentes tamaños de imágenes cuando los necesita):
myscript.js
Y la acción Ajax para actualizar la vista previa de la imagen:
PD: es una muestra rápida escrita aquí basada en otra respuesta . No se probó porque no proporcionó suficiente información sobre el contexto exacto en que se usará el código o los problemas exactos que tiene.
fuente
Uso
wordpress-settings-api-class
por Tareq Hasan, Url: https://github.com/tareq1988/wordpress-settings-api-classclass.settings-api.php
en su complemento. (este archivo https://github.com/tareq1988/wordpress-settings-api-class/blob/master/src/class.settings-api.php )'type' => 'file'
como desee para agregar un cargador de medios. (Consulte este ejemplo para comprender mejor https://github.com/tareq1988/wordpress-settings-api-class/blob/master/example/procedural-example.php )fuente
wp.media
control de .Como desea que el icono sea diferente para cada usuario, tendrá que almacenar la imagen en el perfil del usuario. Esto significa que necesita agregar un campo de usuario adicional:
Ahora, esto le brinda la posibilidad de cargar un archivo desde la computadora del usuario. Si desea que el usuario seleccione el archivo de las imágenes existentes, las cosas se vuelven más complicadas, porque entonces debe llamar a la biblioteca de medios en lugar de la carga de archivos predeterminada. Steven Slack ha escrito una excelente publicación sobre cómo hacer esto, de la que no quiero dar crédito al copiar y pegar su código aquí.
En su plantilla debe distinguir tres posibilidades: el usuario no ha iniciado sesión, el usuario ha iniciado sesión pero no tiene icono, el usuario ha iniciado sesión y tiene un icono. Aproximadamente, incluya esto:
fuente
Puede encontrar un código completo con el complemento en esta url: http://blog.adlivetech.com/use-wordpress-media-upload-custom-code/
Fácil de usar, solo copie y pegue el código en el lugar requerido
fuente
Usé esta solución (sin usar la Biblioteca de medios en sí):
Usar image-picker-lib dentro de un modal que establece el valor de una entrada oculta, que se publica en las opciones. Al obtener todos los medios y repetirlos como opciones, puedo permitir que el usuario seleccione un img.
HTML
PHP / HTML
JS
fuente
wp.media
control de .