ブログ - xpressme の「最近の投稿一覧」に画像を...
xpressme の「最近の投稿一覧」にアイキャッチ画像を表示させてみる。
XOOPS の慣例通り、「最近の投稿一覧」ブロックはテンプレートとコードによって構成されていて、
テンプレートは xpressme_recent_posts_list_block.html
コードは blocks/recent_posts_list_block.php
となっている。
テンプレートには使用できる変数名がコメントとして書かれているが、残念ながらアイキャッチ画像は存在しない。
通常であれば、コードである blocks/recent_posts_list_block.php にコードを追加するところであるが、xpressme の場合実際のコードは wordpress の ものがそのまま使われるため、ここにはブロックを中継するためのコードしか存在しない。
wordpress 側の投稿一覧のテンプレートファイルは recent_posts_list_block_theme.php である。
ここに PHP のコードが書かれているので、好きなように編集すればよい。
(ファイルシステムから編集する場合、wordpress のテンプレートは wp-content/themes/テーマ/blocks/ の下にある。)
PHP が分かればなんとなくわかるはずだが、コンテンツごとの変数は以下のようなループ中で設定されている。
while($r->have_posts()){
...
}
まず、このループ中に以下のようなコードを追加する。
ob_start();
the_post_thumbnail('thumbnail');
$thumbnail = ob_get_contents();
ob_end_clean();
次に、以下のデータを設定している部分を探し出し
$row_data = array(
...
)
以下のように、先ほど取得した変数を追加すれば、wordpress 側でのテンプレートの編集は完了だ。
'post_tumbnail' => $thumbnail,
あとは xpressme のテンプレート「xpressme_recent_posts_list_block.html」の適当な場所に、以下のようなコードを追加してやれば良い。
{$content.post_thumbnail}>
意外に簡単で良かった!