是否更改默认对象嵌入大小?

时间:2017-03-14 作者:Terrell Anderson

我使用下面的代码来设置帖子中嵌入对象的默认大小。它以前对我有用,但现在不再有用了。

 add_filter( \'embed_defaults\', \'bigger_embed_size\' );

 function bigger_embed_size()
 { 
 return array( \'width\' => 935, \'height\' => 525 );
 }
我还使用了这个css,这样当从移动设备查看时,嵌入对象的宽度将非常高。

embed,
iframe,
object,
script,
video {
margin-bottom: 1.6em;
max-width: 100% !important;
vertical-align: middle !important;
min-height:250px;
}
这些选项都不起作用了,任何人都没有解决方案。

1 个回复
SO网友:alo Malbarez

这就是我精心设计来覆盖默认值的内容,我设置了默认的媒体宽度,选择纵横比(16:9),然后替换视频短码输出。

$defaultMediaWidth = 960;

if ( ! isset( $content_width ) ) {
  $content_width = $defaultMediaWidth;
}
add_filter( \'embed_defaults\', \'bigger_embed_size\');

function bigger_embed_size()
{
  global $content_width;
  $width = $content_width;
  // aspect ratio 16:9
  $r1 = 16;
  $r2 = 9;
  $r = $width / $r1;
  $height = $r * $r2;

  return array( \'width\' => $width, \'height\' => $height );
}

function EMP_video_shortcode_override(
  $output = \'\',
  $atts = [],
  $video = \'\',
  $post_id = 0,
  $library = \'\'
){
  $defaults = wp_embed_defaults();
  $searchfor = [
    \'width="\' . $atts[\'width\'] . \'"\',
    \'width: \' . $atts[\'width\'] . \'px;\',
    \'height="\' . $atts[\'height\'] . \'"\'
  ];
  $replaceto = [
    \'width="\' . $defaults[\'width\'] . \'"\',
    \'width:\' . $defaults[\'width\'] . \'px;\',
    \'height="\' . $defaults[\'height\'] . \'"\'
  ];
  return str_ireplace( $searchfor, $replaceto, $output );
}
add_filter(\'wp_video_shortcode\', \'EMP_video_shortcode_override\', 10 , 5);

相关推荐

如何将Java脚本添加到Custom-Page.php模板?

如何将javascript添加到自定义页面。php模板?如何使从w3schools ajax教程获得的以下javascript在自定义页面上工作。php模板?任何帮助都将不胜感激。工作javascript包含在以下HTML中:<!DOCTYPE html> <html> <style> table,th,td { border : 1px solid black; border-collapse: collapse;&#x