php 附加全尺寸gifs.php

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 附加全尺寸gifs.php相关的知识,希望对你有一定的参考价值。

<?php
/**
 * If inserting a gif always place the full size image
 *
 * @link https://whoischris.com/code-sample-keep-gif-animation-when-adding-media-to-post-content-in-wordpress/
 *
 * @param string $html
 * @param int $send_id
 * @param array $attachment
 *
 * @return string
 */
add_filter( 'media_send_to_editor', 'full_size_only_gif', 10, 3 );
function full_size_only_gif( $html, $send_id, $attachment  ) {
  $meta = wp_get_attachment_metadata( $send_id );
  if ( ! isset( $meta['file'], $meta['width'], $meta['height'] ) ) {
    return $html;
  }

  $parts = explode( '.', $meta['file'] );
  $ext = strtolower( $parts[ \count( $parts ) - 1 ] );
  if ( $ext !== 'gif' ) {
    return $html;
  }

  $new_html = '';
  $xml = simplexml_load_string( $html );
  foreach( $xml->attributes() as $a => $b ) {
    switch ( $a ) {
      case 'src' :
        $new_html .= ' src="' . wp_get_attachment_image_url( $send_id, 'full' ) . '"';
        break;
      case 'width' :
        $new_html .= " width=\"{$meta['width']}\"";
        break;
      case 'height' :
        $new_html .= " height=\"{$meta['height']}\"";
        break;
      default :
        $new_html .= " $a=\"$b\"";
    }
  }

  $new_html = "<img $new_html />";

  return $new_html;
}

以上是关于php 附加全尺寸gifs.php的主要内容,如果未能解决你的问题,请参考以下文章

laravel 裁剪器问题不显示全尺寸图像?

php 删除WordPress全尺寸图像插入post +选项并添加最大尺寸以防止用户插入大量i

以全尺寸保存 UIImage,包括从 UIImageView 进行的转换

在WooCommerce中显示附加信息之前,请检查尺寸,属性和/或重量

为啥列表视图的高度是全尺寸?

CSS Sprite 图像和响应式设计。它是不是同时加载全尺寸和响应尺寸?