Pods: Bug com manipuladores WP 4.7.1 PDF Thumbnails {@_src} passa por pods_image_url anexa sufixo de imagem

Criado em 9 mar. 2017  ·  26Comentários  ·  Fonte: pods-framework/pods

Eu tenho uma configuração de pod com um campo Arquivo / Imagem / Vídeo.

Quando um usuário está adicionando conteúdo no CPT e carrega um PDF nesse campo, o URL gerado mostra uma extensão .jpg no arquivo em vez de um .PDF (exibindo assim a miniatura jpg no navegador quando clicado, em vez de vincular para o PDF)

Ex: o arquivo que desejo exibir é
DMB-170119_17-000154-01-08.pdf

mas o URL gerado termina com
DMB-170119_17-000154-01-08-pdf.jpg

Isso só acontece para PDFs que foram carregados no WP 4.7, onde uma miniatura foi gerada. Os PDFs carregados antes de 4.7 (que ainda têm o ícone cinza WP genérico para um arquivo PDF) têm a extensão de arquivo .pdf correta no URL.

TemplateMagic Tags Reproduced Bug

Todos 26 comentários

Esqueci as capturas de tela. Aqui está minha configuração de campo de pod, modelo de pod e algumas das saídas.

voila_capture 2017-03-08_05-52-35_pm2
voila_capture 2017-03-08_05-53-35_pm
voila_capture 2017-03-08_05-59-21_pm

Parece que precisamos de um gerenciador melhor para links que não são de imagem para arquivos de anexo.

https://github.com/pods-framework/pods/blob/2.x/classes/Pods.php#L1452

Agora _src e _src.{size} passam pela função pods_image_url() .

Não quero ser uma praga, apenas me perguntando se há algum movimento nisso. Eu não sou um desenvolvedor de plugins, fui direcionado aqui a partir dos fóruns do WP para obter alguma atenção sobre isso.

Sem progresso na correção para isso, temos trabalhado arduamente na preparação dos Pods 2.7 para beta. Vou adicionar isso à minha lista para voltar quando tiver um momento livre nos próximos dias.

@portlandian você pode ser capaz de usar a solução alternativa em # 3376 de passar o ID do arquivo anexado para uma função e usar https://codex.wordpress.org/Function_Reference/wp_get_attachment_url contra ele, ou seja:

{@test_result_pdf.ID,wp_get_attachment_url}

@portlandian
Apenas me perguntando, por que você não está apenas usando {@test_result_pdf} ?
Isso retorna o url do PDF quando eu o testo aqui. Não há necessidade de acrescentar ._src ou nada.

Termos como full ou large são todos os tipos de imagem relacionados, eles são mostrados apenas porque é um campo de arquivo de Pods geral. Você não precisa deles para tipos de campo diferentes de imagens.

@ sc0ttkclark
Obrigado por uma resposta oportuna e aguardarei o 2.7

@jimtrue
Obrigado pela solução alternativa. Eu não estava ciente disso. Felizmente não vou precisar desde ...

@JoryHogeveen
Só porque eu não sabia que isso funcionaria. Refiro-me apenas a http://pods.io/docs/build/using-magic-tags/ sempre que uso os modelos, e nunca vi isso na seção sobre as tags para obter URLs de arquivos. Se estiver lá e eu não percebi, que pena, mas talvez seja uma boa ideia tratar de arquivos que não sejam de imagem nessa seção. Mudei meu modelo para usar essa tag e agora funciona. Problema resolvido.

Vocês são ótimos!

@portlandian Fico feliz em saber que você fez isso funcionar!

talvez seja uma boa ideia abordar arquivos que não são de imagem nessa seção.

@jimtrue Pode ser uma boa ideia mesmo! :)

Bom ponto, mas sim, alguém poderia pensar que @_src obteria apenas a URL do arquivo. Basicamente, não usando nenhum dos dois, apenas usando a própria tag para o arquivo, você obtém a 'saída do arquivo' normalmente. Não tenho certeza de que funcionaria se você tivesse vários arquivos e precisasse [each image_file] [/ each] por meio deles, porque naquele ponto, não há nenhuma 'tag' para chamar o URL diferente de {@_src}, então ainda precisamos resolver e corrigir essa saída. Isso ainda é um bug.

Especificamente das notas de Scott:
Parece que precisamos de um gerenciador melhor para links que não são de imagem para arquivos de anexo.

https://github.com/pods-framework/pods/blob/2.x/classes/Pods.php#L1452

Agora _src e _src. {Size} passam pela função pods_image_url ().

@jimtrue
Muito bom ponto sobre cada um dos loops. # 4111 corrige isso.

@ sc0ttkclark Nota: Eu fiz o PR contra 2.x.

Ah e @jimtrue .
Comentário no PR (pode ser algo para os documentos)

Ao usar códigos de acesso com anexos de PDF ._src retorna uma imagem desde o WP 4.7.
Com essa correção, ele retornará o url do PDF.
Ainda é possível obter imagens de imagens geradas em PDF (WP 4.7) usando ._src.image_size ou ._img.

Observado!! Vou adicioná-los aos documentos antigos e novos

Isso foi corrigido em # 4111

@JoryHogeveen @pglewis Infelizmente, isso ainda está quebrado. Posso confirmar que {@_src} ainda está fornecendo o link para as miniaturas regeneradas para PDFs.

Verifique a conversa neste tíquete em: https://github.com/pods-framework/pods/issues/4580#issuecomment -354883021 para baixo.

Isso parece estar relacionado ao host que cria miniaturas de PDFs. Meu Local do Flywheel não estava fazendo isso, então estava vinculando corretamente aos arquivos PDF, mas no WPEngine (que gera miniaturas), a tag {@_src} está apontando _apenas_ para a miniatura da imagem, não para o PDF. Muito irritante.

@ brian-milnes forneceu uma solução alternativa muito boa que leva ao PDF correto, então talvez seja algo em nosso manipulador para _img e _src é o problema:

Fizemos uma solução alternativa usando
{<strong i="14">@ID</strong>,wp_get_attachment_url}

Se for uma questão de ambiente, devemos primeiro criar um ambiente semelhante para replicar.
Eu sei que o WP Engine tem seu próprio plug-in obrigatório, por exemplo.
Podemos fazer uma lista para isso?

@JoryHogeveen Acho que o problema pode ser que ainda estamos examinando o manipulador de 'imagem' para {@_src}; Não sei por que o WordPress colocaria preferência sobre as visualizações em miniatura de um PDF em vez do próprio PDF, mas talvez este seja um daqueles casos em que precisamos de uma tag {@_file}, se {@_src} for roteado pods_image_url. Precisamos de uma maneira de encaminhá-los para get_attachment_url.

Eu sou bom em fazer uma lista, mas não sei se faz sentido criar uma nova tag apenas para anexos de arquivo (porque eu estou supondo que encontraríamos isso com outros arquivos também) ou se precisamos tornar _src {@_src} mais inteligente.

Minha intuição: {@_img}, _img e qualquer _src.size devem retornar as miniaturas das imagens. _src deve sempre retornar o URL do arquivo.

@ sc0ttkclark Pensamentos?

Ah, e no ambiente de teste, sim, temos um com themer.pods.io ou podemos ativar outro em nosso pods.io host WPEngine se isso ajudar @JoryHogeveen

Agora, o link correto # 4964 - também é um bom exemplo!

hum agora parece que nem {@_src} nem {@permalink} funcionam em um [each]: /

@quasel Fornece seu exemplo de modelo? Eu faço isso o tempo todo e tenho vários agora que estão funcionando perfeitamente.

Só para confirmar, os manipuladores de imagens mudaram nas últimas versões. Este é um problema ativo?
@quasel Você tem um teste rápido disponível para verificar?

Só para confirmar, os manipuladores de imagens mudaram nas últimas versões. Este é um problema ativo?
@quasel Você tem um teste rápido disponível para verificar?

Isso ainda é um problema a partir de 2.7.22, atualizei meu código de modelo / com a solução alternativa por enquanto, mas ainda estou tentando vincular miniaturas para PDFs.

mas ainda está tentando vincular miniaturas para PDFs.

@zushiba O que você quer dizer com "tentativa"? Você pode compartilhar um caso de uso que seria uma saída incorreta?

mas ainda está tentando vincular miniaturas para PDFs.

@zushiba O que você quer dizer com "tentativa"? Você pode compartilhar um caso de uso que seria uma saída incorreta?
Eu tenho um campo de upload de vários arquivos, usado por meus usuários para fazer upload de documentos PDF que são listados em uma página por meio do seguinte modelo.

<h1>{@post_title}</h1>
<ul>
[if form_files]
[each form_files]
<li><a href="{@_src}">{@post_title}</a></li>
[/each]
[/if]
</ul>

Ao enviar 2 PDFs hoje, um dos meus usuários descobriu que, quando o PDF foi carregado, o link resultante na página ia para a miniatura .jpg do PDF, não para o PDF real. Consegui confirmar que os PDFs estavam sendo carregados no servidor e, na interface do painel do item do pod, ele estava vinculado ao arquivo correto, mas o próprio link estava indo para a miniatura do jpg.

Problema corrigido em # 5854
Se os usuários quiserem testar este patch, isso seria ótimo!

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

HmCody picture HmCody  ·  6Comentários

AlexDeat picture AlexDeat  ·  3Comentários

garypaul picture garypaul  ·  7Comentários

sundco picture sundco  ·  5Comentários

benfavre picture benfavre  ·  3Comentários