Existe uma maneira de permitir que meus usuários definam a área de corte de uma miniatura de postagem? As miniaturas sempre são anexos de postagem existentes. Prefiro não criar um anexo extra por miniatura.
As miniaturas da postagem devem ter 200 x 100 pixels e provir de uma das imagens usadas na postagem. Portanto, no meu mundo ideal, quando você clica no link "Definir imagem em destaque", obtém uma visão geral das imagens já incluídas e, quando clica em uma delas, pode definir a área de corte (movendo ou redimensionando, mas mantendo a proporção de 2x1). Quando você clica em "OK", a nova miniatura da postagem é salva com o anexo original (no _wp_attachment_metadata['sizes']['post-thumbnail']
campo de metadados, por exemplo), não como um novo anexo. O uso de uma imagem que já é usada como miniatura da postagem para outra postagem não deve ser permitido, ou pelo menos dar um aviso.
Acredito que o editor de imagens incluído não atenda às minhas necessidades, pois você pode optar por editar todas as versões da imagem ou a miniatura normal, mas não apenas a miniatura da postagem. Também acho um pouco confuso saber quais versões estou editando, então acho que meus usuários terão ainda mais problemas com isso.
Existe um plugin que faça o que eu quero ou que possa ser facilmente estendido às minhas necessidades?
Atualização: UI de exemplo
Gosto muito da interface do seletor de imagens do Catálogo de endereços do Mac OS X: você seleciona uma imagem e redimensiona um cortador de miniaturas de proporção fixa por meio de um controle deslizante. Você também pode arrastar a imagem base. Você pode expandir essa ideia para vários tamanhos de imagem (eu tenho um post-thumbnail
e post-thumbnail-1/2
é metade desse tamanho, por exemplo). Deixe o usuário selecionar os tamanhos que ele está editando agora com caixas de seleção e desenhe os retângulos de corte apropriados na tela.
fonte
Respostas:
O código ainda está uma bagunça, mas parece funcionar, mesmo no IE 8. Planejo liberá-lo no repositório, mas, enquanto isso, você pode jogar com a minha versão atual . Para acessá-lo, clique em "Editar imagem" ao adicionar ou editar uma imagem, substituindo o editor de imagens usual (eles são muito difíceis de combinar). Como a maior parte da área administrativa usa a miniatura regular e minha versão atual edita a miniatura da postagem, pode parecer que o código não tem efeito, mas tente exibindo uma miniatura da postagem e você deverá vê-la mudar.
Esse plug-in requer o meu On-Demand Image Resizer , que também é uma bagunça, para fazer o redimensionamento real.
fonte
Sua melhor aposta é usar um corte de imagem baseado em javascript e depois o php combinado com o ImageMagick ou o Image GD.
Teria que ser escrito em suas funções ou como um plug-in, pois não conheço nenhum plug-in wordpress disponível no mercado, o que é surpreendente.
Há um corte de imagem YUI com opção de salvamento baseada em php http://developer.yahoo.com/yui/examples/imagecropper/conn_crop.html
Aqui está um tutorial diferente sobre como usar um cortador de jquery com o php
http://www.webmotionuk.co.uk/php-jquery-image-upload-and-crop/
Uma terceira opção muito semelhante ao link acima, usando o mesmo cortador jquery, mas um código diferente. http://www.leonkessler.com/blog/?p=132
Aqui está outro usando o jcrop do jquery, http://www.talkincode.com/jcrop-extension-implementation-in-php-932.html
Quem quer um novo plug-in, isso certamente seria popular :)
fonte
Supondo que você já tenha adicionado suporte para miniaturas posteriores, enquanto fala da opção "Imagem em destaque".
Nesse caso, você tem uma opção para adicionar um novo tamanho de imagem à matriz de upload. Então, por padrão, você tem miniatura, média, grande. No código a seguir, isso adiciona uma quarta imagem a essa variedade, com base no tamanho que você deseja. Este pedaço de código seria adicionado ao seu arquivo functions.php.
"new-thumb" = o nome da nova imagem personalizada
"200" = largura
"100" = altura
"true" = opção de recorte rígido. Isso forçará uma imagem a ser cortada na largura / altura definida. Sem, apenas aumenta para proporção.
Agora, para exibir a nova miniatura em uma página ou matriz de postagem, insira o seguinte no seu HTML
fonte
Você pode usar CSS para ter grande flexibilidade, corrigir miniaturas no seu tema (se desejado) e evitar confusão de arquivos:
http://www.seifi.org/css/creating-thumbnails-using-the-css-clip-property.html
Lembre-se de que toda a imagem será carregada; portanto, não use seus originais de 3 MB para isso.
Atualização conforme solicitação de janeiro: se você deseja recorte dinâmico, considere:
fonte
Existe um plug-in mais antigo chamado WP Post Thumbnail que às vezes usamos. Não é perfeito, e existem alguns pequenos bugs com a versão mais recente do WP (não é atualizada desde 2008, portanto não é necessariamente confiável). http://wordpress.org/extend/plugins/wp-post-thumbnail/
fonte
Acredito que você esteja procurando por isso: http://wordpress.org/support/topic/scissors-for-wordpress-29-also-works-on-30-hurray
Eu não tentei isso, mas deve oferecer a funcionalidade que você está procurando.
A página original do plugin aqui. http://wordpress.org/extend/plugins/scissors/
Também estou precisando disso para um projeto em que estou trabalhando.
fonte
Eu acho que a solução definitiva para esse problema seria modificar o plugin em http://www.seoadsensethemes.com/wordpress-wp-post-thumbnail-plugin/
e personalize-o para que qualquer tamanho de imagem personalizado definido em seu arquivo functions.php (use
add_image_size( 'new_thumb', 200, 100, true );
) seja usado automaticamente e obtenha o código para substituir (ou estender) o link "editar" quando você desejar modificar uma imagem.Utilizando essa abordagem, o wordpress pode continuar a criar seus tamanhos de imagem aplicáveis, como normalmente faz, mas se você deseja modificar especificamente a área cortada de qualquer imagem específica, poderá fazê-lo, o que, por sua vez, substituirá a imagem gerada automaticamente para esse tamanho. Hmmm ... embora isso pareça uma leitura confusa, é exatamente o que sinto que está faltando.
Atualmente, acredito que o plug-in salva esses tamanhos de imagem personalizados em um campo personalizado dentro de uma postagem em vez de na postagem de uma imagem aplicável.
fonte
Decidi cortar miniaturas usando o "wp_get_attachment_image" nativo ... aqui está um exemplo de galeria de imagens, com miniaturas cortadas
http://wpworks.wordpress.com/2010/12/27/image-gallery-with-image-crop/
Cumprimentos
fonte