Moderador
Mário Valney
(@mariovalney)
WordPress Cleric of Fire
Olá, tudo bem?
Uma forma de se fazer é indicando uma pasta única para o upload em todos os sites:
https://codex.wordpress.org/Editing_wp-config.php#Moving_uploads_folder
Essa é a parte fácil. A difícil é compartilhar as informações entre os sites:
– Itens da biblioteca de mídia são posts do WordPress com o tipo de post attachment e ficam na tabela wp_posts.
– Metadados dos itens de mídia ficam na tabela wp_postmeta normalmente (igual aos outros tipos de post).
Aí temos várias formas de criar uma replicação entre os sites.
1 – Usar o HyperDB para que todos os sites compartilhem uma única tabela de posts. O problema é que queremos compartilhar apenas os registro que tem tipos de post attachment. Não sei se é possível refinar o uso do HyperDB para isso, mas vale o teste.
2 – Criar dependências entre os sites: ao salvar ou excluir um item da biblioteca você envia uma requisição POST para algum endpoint dos outros sites (pode ser via Ajax no WordPress) e aí cada um cria/edita/exclui um item da biblioteca de mídia normalmente.
Você pode usar as actions de salvamento/exclusão de posts, filtrando pelo post_type attachment.
É… complexa a última parte, mas funcionará perfeitamente.
Abraços
Poxa. Valeu mesmo Mário. Vou estudar e testar tudo o que vc me passou e te mando um alô no caso de dar tudo certo.
Isso nos ajudaria muito economizando tempo para abastecer os sites e espaço absurdo no servidor.