No meu plug-in, gostaria de adicionar dois botões ao Media Manager (à esquerda de "Inserir na postagem" na seção "media-toolbar-primary") e conectar uma ação do jQuery a ele.
- Primeiro - O botão "Selecionar tudo" permite selecionar todas as imagens disponíveis (apenas imagens), dependendo do valor da opção selecionada (por exemplo, Todos os itens de mídia, Carregados para esta postagem etc.). Portanto, se "Todos os itens de mídia" for selecionado - todas as imagens disponíveis serão selecionadas, se "Upload para esta postagem" for selecionado - somente as imagens anexadas à postagem atual serão selecionadas.
- O segundo - "Inserção personalizada na publicação" - obterá dados de imagens para todas as imagens selecionadas (fonte de imagem em tamanho original, texto alternativo, tamanho, etc, disponíveis) e, ao mesmo tempo, permite envolvê-las em código html adicional - código de retorno para o editor tinymce.
O código retornado para o segundo botão pode ter esta aparência:
<ul>
<li><img src="full/path/to/001.jpg" alt="alt text 1" /></li>
<li><img src="full/path/to/002.jpg" alt="alt text 2" /></li>
<li><img src="full/path/to/003.jpg" alt="alt text 3" /></li>
<li><img src="full/path/to/004.jpg" alt="alt text 4" /></li>
<li><img src="full/path/to/005.jpg" alt="alt text 5" /></li>
</ul>
Até onde eu entendi, a única maneira é usar a exibição de substituição do Backbone apropriada, mas, além disso, é tudo o que sei por enquanto.
Obrigado pela ajuda.
fonte
Não tenho uma resposta completa para sua pergunta, mas aqui está um bom começo. Para personalizar o novo Media Manager, você deve estudar o código javascript Backbone em
wp-includes/js/media-views.js
. Por exemplo, aqui está um pequeno plugin que adiciona um botão "Selecionar tudo" à barra de ferramentas "Inserir a partir do URL":custom.php
:custom.js
:Para o botão "Inserir personalizado na postagem", sugiro usar o código de acesso da galeria. A interface do usuário já existe para selecionar as imagens desejadas e inserir o código abreviado no lugar certo. Tudo o que você precisa fazer é escrever seu próprio formato de código de acesso da galeria.
Dê uma olhada na
gallery_shortcode
funçãowp-includes/media.php
e use opost_gallery
filtro.fonte
Thomas Griffin criou um exemplo de plug-in, New Media Image Uploader , sobre como trabalhar com o novo gerenciador de mídia.
fonte
Acabei de encontrar um caso no WP 3.6 em que a resposta do aesqe (muito útil) resulta em imagens sendo inseridas duas vezes devido ao backbone,
state.get("selection")._byId
incluindo ambosid
ecid
para cada imagem selecionada.Alterar
state.get("selection")._byId
parastate.get("selection").models
corrigir isso para mim, preservando os atributos de cada objeto.Espero que isso poupe a frustração de alguém. Eu teria postado isso como um comentário em vez de uma resposta, mas, infelizmente, não tenho reputação.
fonte