Pods: Error con los controladores de miniaturas de PDF de WP 4.7.1 {@_src} pasa por pods_image_url agrega sufijo de imagen

Creado en 9 mar. 2017  ·  26Comentarios  ·  Fuente: pods-framework/pods

Tengo una configuración de Pod con un campo Archivo / Imagen / Video.

Cuando un usuario agrega contenido en el CPT y carga un PDF en ese campo, la URL generada muestra una extensión .jpg en el archivo en lugar de un .PDF (por lo tanto, muestra la miniatura jpg en el navegador cuando se hace clic, en lugar de vincular al PDF)

Ej: el archivo que quiero mostrar es
DMB-170119_17-000154-01-08.pdf

pero la URL generada termina con
DMB-170119_17-000154-01-08-pdf.jpg

Esto solo sucede para los PDF que se han cargado dentro de WP 4.7, donde se ha generado una miniatura. Los PDF cargados antes de 4.7 (que todavía tienen el icono gris genérico de WP para un archivo PDF) tienen la extensión de archivo .pdf correcta en la URL.

TemplateMagic Tags Reproduced Bug

Todos 26 comentarios

Olvidé las capturas de pantalla. Aquí está la configuración de mi campo de Pod, la plantilla de Pod y algunos de los resultados.

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 necesitamos un mejor controlador para los enlaces que no son imágenes a archivos adjuntos.

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

Ahora mismo _src y _src.{size} pasan por la función pods_image_url() .

No quiero ser una plaga, solo me pregunto si hay algún movimiento en esto. Yo mismo no soy un desarrollador de complementos, solo fui dirigido aquí desde los foros de WP para llamar la atención.

No hay progreso en una solución para esto, hemos trabajado arduamente en la preparación de Pods 2.7 para la versión beta. Agregaré esto a mi lista para volver a cuando tenga un momento libre en los próximos días.

@portlandian, es posible que pueda usar la solución alternativa en # 3376 de pasar el ID del archivo adjunto a una función y usar https://codex.wordpress.org/Function_Reference/wp_get_attachment_url en su contra, es decir:

{@test_result_pdf.ID,wp_get_attachment_url}

@portlandian
Me pregunto, ¿por qué no estás usando {@test_result_pdf} ?
Esto devuelve la URL del PDF cuando lo pruebo aquí. No es necesario agregar ._src ni nada.

Términos como full o large son todos tipos de imágenes relacionados, solo se muestran porque es un campo de archivo de Pods general. No los necesita para tipos de campo que no sean imágenes.

@ sc0ttkclark
Gracias por una respuesta oportuna. Espero la versión 2.7.

@jimtrue
Gracias por la solución. Yo no me di cuenta. Afortunadamente no lo necesitaré ya que ...

@JoryHogeveen
Solo porque no sabía que funcionaría. Me refiero únicamente a http://pods.io/docs/build/using-magic-tags/ cada vez que uso las plantillas, y nunca vi eso en la sección sobre las etiquetas para obtener las URL de los archivos. Si está ahí y me lo perdí, mal, pero tal vez abordar los archivos que no son de imagen en esa sección podría ser una buena idea. Cambié mi plantilla para usar esa etiqueta y ahora funciona. Problema resuelto.

¡Ustedes son geniales!

@portlandian ¡ Me alegra saber que lo hiciste funcionar!

quizás sea una buena idea abordar los archivos que no son de imagen en esa sección.

@jimtrue ¡ Podría ser una buena idea! :)

Buen punto, pero sí, uno pensaría que @_src obtendría solo la URL del archivo. Básicamente, al no usar ninguno de los dos, solo usar la etiqueta en sí para el archivo, obtiene la 'salida del archivo' como de costumbre. No estoy seguro de que eso funcione si tuviera varios archivos y necesitara [cada archivo_imagen] [/ cada] a través de ellos, porque en ese momento, no hay ninguna 'etiqueta' para llamar a la URL que no sea {@_src}, por lo que todavía tenemos que abordar y corregir esa salida. Esto sigue siendo un error.

Específicamente de Scott's Notes:
Parece que necesitamos un mejor controlador para los enlaces que no son imágenes a archivos adjuntos.

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

En este momento, _src y _src. {Size} pasan por la función pods_image_url ().

@jimtrue
Muy buen punto sobre cada bucle. # 4111 corrige esto.

@ sc0ttkclark Nota: hice el PR contra 2.x.

Oh y @jimtrue .
Comente en el PR (podría ser algo para los documentos)

Cuando se utilizan códigos cortos con archivos PDF adjuntos ._src devuelve una imagen desde WP 4.7.
Con esta solución, devolverá la URL del PDF.
Aún es posible obtener imágenes generadas en PDF (WP 4.7) usando ._src.image_size o ._img.

¡¡Señalado!! Los agregaré tanto a los documentos antiguos como a los nuevos

Esto se ha solucionado a partir del # 4111.

@JoryHogeveen @pglewis Desafortunadamente, esto todavía está roto. Puedo confirmar que {@_src} sigue proporcionando el enlace a las miniaturas regeneradas para archivos PDF.

Consulte la conversación en este ticket desde: https://github.com/pods-framework/pods/issues/4580#issuecomment -354883021 hacia abajo.

Esto parece estar relacionado con el host que crea miniaturas de PDF. My Local by Flywheel no lo estaba haciendo, por lo que se vinculaba correctamente a los archivos PDF, pero en WPEngine (que genera miniaturas), la etiqueta {@_src} apunta _only_ a la miniatura de la imagen, no al PDF. Muy molesto.

@ brian-milnes proporcionó una muy buena solución que llega directamente al PDF correcto, por lo que tal vez sea algo en nuestro controlador para _img y _src sea el problema:

Hicimos una solución alternativa usando
{<strong i="14">@ID</strong>,wp_get_attachment_url}

Si se trata de una cuestión de entorno, primero deberíamos crear un entorno similar para replicar.
Sé que WP Engine tiene su propio complemento obligatorio, por ejemplo.
¿Podemos hacer una lista para esto?

@JoryHogeveen Creo que el problema podría ser que todavía estamos revisando el controlador de 'imagen' para {@_src}; No estoy seguro de por qué WordPress pondría preferencia sobre las vistas en miniatura de un PDF sobre el PDF en sí, pero tal vez este sea uno de esos casos en los que necesitamos una etiqueta {@_file} en su lugar, si se enruta {@_src} pods_image_url. Necesitamos una forma de enrutarlos a get_attachment_url.

Soy bueno haciendo una lista, pero no sé si tiene sentido crear una nueva etiqueta solo para los archivos adjuntos (porque supongo que también nos encontraríamos con esto con otros archivos) o si necesitamos hacer que _src {@_src} sea más inteligente.

Mi intuición: {@_img}, _img y cualquier _src.size deberían devolver las miniaturas de las imágenes. _src siempre debe devolver la URL del archivo.

@ sc0ttkclark ¿Pensamientos?

Ah, y en el entorno de prueba, sí, tenemos uno con themer.pods.io o podemos activar otro en nuestro host WPEngine pods.io si eso ayuda a @JoryHogeveen

Ahora el enlace correcto # 4964 - ¡también es un buen ejemplo!

tararear ahora parece que ni {@_src} ni {@permalink} funcionan en un [each]: /

@quasel ¿ Proporciona tu ejemplo de plantilla? Hago esto todo el tiempo y tengo varios ahora que están funcionando perfectamente.

Solo para confirmar, los controladores de imágenes han cambiado en las últimas versiones. ¿Es este un problema activo?
@quasel ¿Tiene una prueba rápida disponible para verificar?

Solo para confirmar, los controladores de imágenes han cambiado en las últimas versiones. ¿Es este un problema activo?
@quasel ¿Tiene una prueba rápida disponible para verificar?

Esto sigue siendo un problema a partir de la versión 2.7.22, he actualizado el código de mi plantilla / con la solución alternativa por el momento, pero todavía estoy intentando vincular miniaturas para archivos PDF.

pero todavía está intentando vincular miniaturas para archivos PDF.

@zushiba ¿A qué te refieres con "intentar"? ¿Puede compartir un caso de uso que sería una salida incorrecta?

pero todavía está intentando vincular miniaturas para archivos PDF.

@zushiba ¿A qué te refieres con "intentar"? ¿Puede compartir un caso de uso que sería una salida incorrecta?
Tengo un campo de carga de varios archivos, mis usuarios lo utilizan para cargar documentos PDF que luego se enumeran en una página a través de la siguiente plantilla.

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

Al cargar 2 PDF hoy, uno de mis usuarios descubrió que cuando se cargó su PDF, el enlace resultante en la página fue a la miniatura .jpg del PDF, no al PDF real. Pude confirmar que los archivos PDF se estaban cargando en el servidor y, en la interfaz del panel de control del elemento del módulo, se vinculaba al archivo correcto, pero el vínculo en sí iba a la miniatura jpg.

Problema solucionado en # 5854
Si los usuarios quisieran probar este parche, ¡sería genial!

¿Fue útil esta página
0 / 5 - 0 calificaciones