プロが教える店舗&オフィスのセキュリティ対策術

echo '<div class="rssBlock">';
echo '<ul class="wiget-rss">';

でclassを付けているのですが、1つずつ同じものがついています。これを全体につけたいのですが、方法がわかりません…
どのようにつければいいのでしょうか?

//RSS読み込み
$rss_per_page = $block_per_page * $rss_per_block; //ページあたりRSS件数
$rss_offset = ($current_page - 1) * $rss_per_page; //RSSオフセット
$sql = 'SELECT * FROM rss_feed ORDER BY date DESC LIMIT ?,?';
$stmt = $dbh->prepare($sql);
$stmt->bindParam(1, $rss_offset, PDO::PARAM_INT);
$stmt->bindParam(2, $rss_per_page, PDO::PARAM_INT);
$stmt->execute();
$rss_items = $stmt->fetchAll(PDO::FETCH_OBJ);
//投稿読み込み
$group_per_block = 5; //ブロックあたり投稿グループ件数
$posts_per_group = 3; //投稿グループあたり投稿件数
$posts_per_page = $block_per_page * $group_per_block * $posts_per_group; //ページあたり投稿件数
$posts_offset = ($current_page - 1) * $posts_per_page; //投稿オフセット
$args = [
'offset' => $posts_offset,
'posts_per_page' => $posts_per_page,
];
$post_items = get_posts($args);
//表示
for ($i = 0; $i < $block_per_page; ++$i) {
echo '<h2>ブロック</h2>';
echo '<h3>RSS</h3>';

for ($j = 0; $j < $rss_per_block; ++$j) {
$item_index = $i * $rss_per_block + $j;
if ($item_index >= count($rss_items)) {
break;
}
$item = $rss_items[$item_index];
$title = "<a href=\"{$item->link}\">{$item->title}</a>";
if (empty($item->img)) {
$img = 'wp-content/uploads/2021/12/EXt1cESWAAAwdOY.jpg';
} else {
$img = $item->img;
}
$image = "<a href=\"{$item->link}\"><img src=\"{$img}\" width=\"100\"></a>";
echo '<div class="rssBlock">';
echo '<ul class="wiget-rss">';
if ($j >= 0 && $j <= 4) {
echo "<li class=\"sitelink\">{$title}</li>"; // タイトルのみ
} elseif ($j >= 5 && $j <= 8) {
echo "<li class=\"sitelink2\">{$image}<br>{$title}</li>"; // 画像と画像の下にタイトル
} elseif ($j >= 9 && $j <= 12) {
echo "<li class=\"sitelink3\">{$image}{$title}</li>"; // 画像と画像の右にタイトル
}
echo '</ul>';
echo '</div>';
}

A 回答 (2件)

echo の位置を適切に変更する.



ループの中に入れたのはなぜ?
    • good
    • 0
この回答へのお礼

タイトルのみ
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
画像と画像の下にタイトル
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
画像と画像の右にタイトル
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>
<ul><li>~</li></ul>

現在上記のように出力されているのですが、これをタイトルのみに1つ、画像と画像の右にタイトルに1つずつ設置する方法を教えてください。
場所が違うのはわかりますが、自力では解決できないのでアドバイスお願いします。

お礼日時:2022/03/31 18:48

ところどころ Perl っぽくないものが見えるのはなぜだろう....



「1つずつ同じものがついています」とはどういう現象をさしていて, 「これを全体につけたい」とはどうなることを期待しているのか, 簡単な具体例で示してもらえないだろうか.
    • good
    • 1
この回答へのお礼

wordpressなのですがいろいろあってphpと合わせて組んでおります。

現在RSSが下記のように表示されております。RSS1つ1つにdivとulがついているのですが、これをRSS全体に1つだけ設置したいです。
どのように修正すればよいでしょうか?

<div class="rssBlock">
<ul class="wiget-rss">
<li class="sitelink"><a href="http://aqua2ch.net/archives/56557510.html">【スゴい…】富士フイルムさん、光の反射によって生じる発色現象「構造色」のインクジェット技術を開発</a></li>
</ul></div>

お礼日時:2022/03/28 15:35

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!