[WordPress] VideoPress や YouTube をタイル状に並べる方法についての検討

VideoPressYouTube をタイル状に並べる方法について検討してみました。

以下のような感じの記述を記事に追加し、

<!-- YouTube のタイル状貼り付け -->
<div class="boxlist w33">
<ul class="display-posts-listing">
<li><div class="video-container">[youtube http://www.youtube.com/watch?v=lr1LhYZEprg]</div></li>
<li><div class="video-container">[youtube http://www.youtube.com/watch?v=lr1LhYZEprg]</div></li>
<li><div class="video-container">[youtube http://www.youtube.com/watch?v=lr1LhYZEprg]</div></li>
<li><div class="video-container">[youtube http://www.youtube.com/watch?v=lr1LhYZEprg]</div></li>
<li><div class="video-container">[youtube http://www.youtube.com/watch?v=lr1LhYZEprg]</div></li>
</ul>
</div>

<!-- VideoPress のタイル状貼り付け -->
<div class="boxlist w33">
<ul class="display-posts-listing">
<li>[wpvideo xVUTxVJL]</li>
<li>[wpvideo glR8VamR]</li>
<li>[wpvideo UFmhG10Q]</li>
<li>[wpvideo vXO74xrS]</li>
<li>[wpvideo EuCxGHBE]</li>
</ul>
</div>

以下の CSS を CSS スタイルシートエディタ(レンタルサーバ等の WordPress をお使いの場合はプラグイン「JetPack by WordPress.com 」をインストールすれば CSS を追加できるようになります)へ追加すると、

/* YouTube の動画 */
.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/* サムネイル画像をリスト状に並べる(「display-posts」ショートコード対応版)*/
.boxlist ul.display-posts-listing {
    padding-left: 0 !important;
    text-align: left;
}

.boxlist ul.display-posts-listing li {
    list-style: none;
    display: inline-block;
    vertical-align: top;
    white-space: normal;
    word-wrap: normal;
    font-size: 12px;
    line-height: 1.2;
    margin: 0;
    padding: 2px;
}

.boxlist ul.display-posts-listing li a {
    font-weight: bold;
}

#ie7 .boxlist ul.display-posts-listing li {
    display: inline;
    position: relative;
    width: 500px;
}
/*
.boxlist ul.display-posts-listing li img {
    display: block !important;
    border: 1px solid #d0a600 !important;
    width: 80px !important;
    max-width: 100% !important;
    height: auto !important;
    float: left !important;
    margin: -2px 4px 4px 2px !important;
    padding: 2px !important;
}
*/

@media (max-width: 767px) {
    .boxlist ul.display-posts-listing li .excerpt {
        width: 93%;
    }
}

.boxlist ul.display-posts-listing li .excerpt a {
    font-size: 11px;
    float: right;
}

.boxlist.w100 ul.display-posts-listing > li {
    width: 100%;
}

.boxlist.w50 ul.display-posts-listing > li {
    width: 45.5%;
    margin-left: 1.5% !important;
}

.boxlist.w33 ul.display-posts-listing > li {
    width: 31%;
    margin-left: 1.5% !important;
}

@media screen and (max-width : 980px) {
    .boxlist.w33 ul.display-posts-listing > li {
        width: 45.5%;
        margin-left: 1.5% !important;
    }
}

@media (max-width: 767px) {
    .boxlist.w50 ul.display-posts-listing > li,.boxlist.w33 ul.display-posts-listing > li {
        width: 100%;
    }

    .boxlist.w50 ul.display-posts-listing,.boxlist.w33 ul.display-posts-listing {
        margin: 0 1em 1.625em;
    }
}

以下のような感じで、VideoPress や YouTube をタイル状に並べることができます。

AccessMenuBarApps
デスクトップ(パソコン)

AccessMenuBarApps-2
iPad2

AccessMenuBarApps-3
ipod touch 5

タイル状に並べるための CSS は以下の記事で説明したものを一部修正して使っています。

AccessMenuBarApps-4
ショートコード「display-posts」を使って、サムネイル画像つきの固定ページのリストを id 指定ではなく、固定ページの階層化(ページ属性の項目「親」)を使って表示する

YouTube の動画が iPhone 等でもちゃんと表示されるように以下の CSS を追加(記事「[WordPress.com] YouTube をレスポンシブ対応させるためのCSS」参照)し、

.video-container {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 30px;
    height: 0;
    overflow: hidden;
}

.video-container iframe,
.video-container object,
.video-container embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

YouTube のショートコードを「<div class=”video-container”></div>」でくくってあります。

VideoPress の見てくれが今ひとつな感じですが、そのあたりは CSS で調整すれば OK かと思います。

また、2 カラム等の記事の場合、以下のように動画が小さめに表示されたりします。

AccessMenuBarApps-6

こういった感じのところはテーマ個別に CSS の追加が必要である(「テーマが幅××で 2 カラムの場合は YouTube の幅は○○にしなさい」みたいな命令の修正等)と考えています。


以上、YouTube や VideoPress をタイル状に表示させることができるかざっくりと検討してみました。

#2013