LoginSignup
0
0

More than 5 years have passed since last update.

Wordpress:マルチサイトで子ブログの記事一覧を表示しアイコンをつける

Posted at

要件

マルチサイト化した親ブログのindexに子ブログa、b、cの記事一覧をブログ名のアイコン付きで表示し、かつ子ブログaの場合はブログ名のアイコンではなく、カテゴリーのアイコン付きで表示したい。

各ブログの表示

とりあえず子ブログa、b、cの表示についてはこちらのサイトを参考にさせていただきました。
CattleMute マルチサイト内で複数のブログ記事を表示するコード

アイコンの画像ファイル名はブログidを引用し[icon_0n.gif]としました。

<img src="icon_0<?php echo $entry->site_id; ?>.gif">

該当するブログのidがファイル名に入ります。

子ブログのカテゴリ

アイコン画像の記述部分を子ブログaとそれ以外にif文で出し分けます。
子ブログaのアイコン画像ファイル名はカテゴリスラッグを引用し[icon_a_hoge.gif]としました。

<?php if ($entry->site_id == a): ?>
<img src="icon_a_<?php echo $cat_slug; ?>.gif">
<?php else: ?>
<img src="icon_0<?php echo $entry->site_id; ?>.gif">
<?php endif; ?>

子ブログaの場合該当するカテゴリのアイコンが表示され、その他の子ブログはブログ名のアイコンが表示されます。

完成したソース

<dl>
<?php
$entries = get_multisite_posts(array(a, b, c));
foreach($entries as $entry){
get_multisite_posts_prep($entry);
$category = get_the_category();
$cat_slug = $category[0]->slug;
?>
<dt><?php echo get_the_time('Y年n月j日') ?></dt>
<dd>
<?php if ($entry->site_id == a): ?>
<img src="icon_a_<?php echo $cat_slug; ?>.gif">
<?php else: ?>
<img src="icon_0<?php echo $entry->site_id; ?>.gif">
<?php endif; ?></dd>
<dd><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></dd>
<?php get_multisite_posts_prep(); } ?>
</dl>

初投稿でした。わかりやすく説明するの難しいですね…
ご参考になれば幸いです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0