如何使用CSS设置默认的Wordpress音频播放器?

时间:2014-05-26 18:08:26

标签: css wordpress media-player audio-player

我经常使用Wordpress音频短代码将我的播客剧集嵌入我的帖子中:

[audio src="http://podcastsourcefile"]

不幸的是,默认音频播放器看起来很糟糕。我想用CSS重新设计它。我有一个模型,我可以发送给你看看它应该是什么样子,但这里是基本的要点:

  • 背景颜色:#B27D47
  • 替换播放按钮图像(我可以提供.png文件)
  • 让播放器高75像素,宽100%
  • 围绕播放器的角落

这就是我希望玩家看起来像的样子:

(我有播放按钮的.png文件。)

4 个答案:

答案 0 :(得分:2)

考虑一下:

?attr/tabLayoutSize

这样,您现在可以将整个mediaelement文件夹从wp-include中复制出来,将副本排入队列,而不是原始文件,然后在那里摆弄.css。标有//选项的行显示了如何根据访问者所在的页面使用不同的样式。找到它here

答案 1 :(得分:0)

two filter hooks来解决这个问题。 一个开头,信息非常少,我们将快捷键整个短代码并返回我们自己的自定义HTML代码:

add_filter( 'wp_audio_shortcode_override', 'short1_so_23875654', 10, 4 );

function short1_so_23875654( $return = '', $attr, $content, $instances ) 
{
    # If $return is not an empty array, the shorcode function will stop here printing OUR HTML
    // $return = '<html code here>';
    return $return;
};

到达的参数是:

Array
(
    [0] => ''
    [1] => Array
        (
            [src] => http://example.com/wp-content/uploads/file.mp3
        )

    [2] => ''
    [3] => 1
)

在短代码功能结束时运行的另一个

add_filter( 'wp_audio_shortcode', 'short2_so_23875654', 10, 5 );

function short2_so_23875654( $html, $atts, $audio, $post_id, $library )
{
    return $html;   
}

到达的参数是:

Array
(
    [0] => <audio class="wp-audio-shortcode" id="audio-715-1" preload="none" style="width: 100%" controls="controls"><source type="audio/mpeg" src="http://example.com/wp-content/uploads/file.mp3?_=1" /><a href="http://example.com/wp-content/uploads/file.mp3">http://plugins.dev/wp-content/uploads/2013/10/04_discipline_64kb.mp3</a></audio>
    [1] => Array
        (
            [class] => wp-audio-shortcode
            [id] => audio-715-1
            [preload] => none
            [style] => width: 100%
        )

    [2] => 
    [3] => 715
    [4] => mediaelement
)

答案 2 :(得分:0)

我刚刚在主题编辑器中设置了custom.css样式。

音频短代码的值如下。在我的情况下,我更改了它,因此它不会受到任何Wordpress更新的影响(即使它比其他评论的PHP解决方案更脏)。您可以使用开发工具并按照自己的方式设置播放器样式(我的问题是我不需要100%宽度的播放器)。

.mejs-mute,
.mejs-duration-container, 
.mejs-time, 
.mejs-duration-container,

... {...}

HTML output of Wordpress audio shortcode

答案 3 :(得分:0)

我将样式表另外添加到现有样式表中,就像我在this帖子中所解释的那样:

    function enqueue_mediaelement(){
        wp_enqueue_style( 'wp-mediaelement' );
        //enqueue '/wp-content/my-theme/audio-player-styles.css'
        wp_enqueue_style('my-audio-player', get_stylesheet_directory_uri() . '/audio-player-styles.css', array(), null );
    }
    add_action( 'wp_enqueue_scripts', 'my_enqueue_scripts' );

例如,如果您想为玩家背景着色,您现在可以将以下内容添加到 audio-player-styles.css

 .mejs-container, .mejs-container .mejs-controls, .mejs-embed, .mejs-embed body {
    background-color: #B27D47;
}