CSS不会影响微件输出

时间:2018-07-21 作者:Dev john

所以我对wordpress的开发还很陌生,所以如果我做了一些非常愚蠢的事情,请不要生气,我很抱歉。

所以我的CSS有问题,因为某种原因,它不会影响小部件的内容输出,可以在movieposterdisplay类文件中看到。我想做的是使用CSS使输出的youtube视频自动调整大小以适合容器。我想知道的是为什么CSS不会影响HTML代码,以及修复它的解决方案。提前感谢您的帮助。

movieposterdisplayfile

require_once(plugin_dir_path(__FILE__).\'/includes/movieposterdisplay- 
  scripts.php\');

require_once(plugin_dir_path(__FILE__).\'/includes/movieposterdisplay- 
  class.php\');

function register_movieposterdisplay(){
  register_widget(\'Movie_Poster_Display_Widget\');
}

add_action(\'widgets_init\', \'register_movieposterdisplay\');
movieposterdisplay脚本文件

<?php
function mpd_add_scripts(){

wp_enqueue_style(\'mpd-main-style\', plugins_url().\'/movieposterdisplay/css/style.css\');

wp_enqueue_script(\'mpd-main-style\', plugins_url().\'/movieposterdisplay/js/main.js\');
}

add_action(\'wp_enqueue_scripts\', \'mpd_add_scripts\');
movieposterdisplay类文件(文件包含小部件输出)

<?php
class Movie_Poster_Display_Widget extends WP_Widget {

function __construct() {

parent::__construct(
  \'movieposterdisplay_widget\', // Base ID
  esc_html__( \'Movie Widget\', \'mpd_domain\' ), // Name  
  array( \'description\' => esc_html__( \'Displays Movie/TV posters, overviews and trailers.\', \'mpd_domain\' ), ) 
  );
}

public function widget( $args, $instance) {
echo $args[\'before_widget\']; 

  $trailer_key ="http://www.youtube.com/embed/" .$this->display_trailer($instance, $first_movie_result)."?enablejsapi=1";
  ?>

  <div class="youtubeplayer">
    <iframe 
    id="player" type="text/html"
    src="<?php echo $trailer_key;?>"
    frameborder="0" allowfullscreen="allowfullscreen">
    </iframe>
  </div>
  <?php 
echo $args[\'after_widget\'];
} 
样式。css

.youtubeplayer {
  position: relative;
  padding-bottom: 75%; 
  padding-top: 25px;
  height: 0;
  border: 5px solid red;
}

.youtubeplayer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

2 个回复
最合适的回答,由SO网友:Dev john 整理而成

问题是由于movieposterdisplay脚本文件中的文件路径不正确。在主php文件中正确加载文件时require_once(plugin_dir_path(__FILE__).\'/includes/movieposterdisplay- class.php\'); 因为它已经分配了正确的插件文件夹名称。它没有正确排队,因为代码是wp_enqueue_style(\'mpd-main-style\', plugins_url().\'/movieposterdisplay/css/style.css\'); 我之前更改了文件夹名称。

因此,我认为它加载正确,运行良好,但它只是加载正确。

SO网友:Shubham Vijay

幸运的是,发现和诊断问题相当容易。转到站点上的任何页面,在Chrome中,右键单击并选择“Inspect”。这将打开一个包含各种代码的新窗口。找到元素并展开它。在那里,您将看到一长串元素。这些是从各种来源排队的许多样式表。如果操作正确,每个插件都应该有一个标识ID。很可能,您会注意到您的插件样式比主题样式更晚。

值得注意的是:如果你开始添加CSS并发现自己不得不添加,你也会知道你有这个问题!对你所有的风格都很重要。一般来说,只要所有内容都正确排队,就不需要这样做。

结束

相关推荐

防止在可视和HTML编辑器之间切换时更改标记

这个问题我已经问过好几次了,但没有一个解决方案对我有效。基本上,在TinyMCE和HTML编辑器之间切换时,我的标记会被破坏。我在页面上有一个嵌套列表,如下所示:<ul class=\"pageitem accordion-menu\"> <li class=\"accordion-menu\"><a class=\"accordion-child\" href=\"#\">Parent Link</a> <ul c