EntryPreviousとEntryNextがうまく機能しない

前後の記事にリンクするEntryPreviousとEntryNextは本当によく使いますが、
2番目の記事でうまく表示ができずにいました。

まずは基本の形。

<mt:EntryPrevious>
  <a href="<$mt:EntryPermalink encode_html="1"$>">
    <$mt:EntryTitle$>
  </a>
</mt:EntryPrevious>

これは全く問題無しです。

さて、うまく機能しなかった形。

<mt:If tag="EntryPrevious">
<mt:EntryPrevious>
  <article class="pager-prev">
    <a href="<$mt:EntryPermalink encode_html="1"$>">
      <h2><$mt:EntryTitle$></h2>
      <figure>
        <mt:EntryAssets type="image" lastn="1">
          <img src="<$mt:AssetThumbnailURL width="200" square="1"$>" alt="">
        </mt:EntryAssets>
      </figure>
    </a>
  </article>
</mt:EntryPrevious>
<mt:Else>
  <span class="pager-prev"></span>
</mt:If>

うまく機能しなかった方は、前の記事の有無でhtmlタグを変更したかったので、Ifでくくっているのですが、
問題はこの条件分岐ではなく、EntryPreviousの位置でした。

以下が修正した形。

<mt:If tag="EntryPrevious">
  <article class="pager-prev">
    <mt:EntryPrevious>
      <a href="<$mt:EntryPermalink encode_html="1"$>">
        <h2><$mt:EntryTitle$></h2>
        <figure>
          <mt:EntryAssets type="image" lastn="1">
            <img src="<$mt:AssetThumbnailURL width="200" square="1"$>" alt="">
          </mt:EntryAssets>
        </figure>
      </a>
    </mt:EntryPrevious>
  </article>
<mt:Else>
  <span class="pager-prev"></span>
</mt:If>

EntryPreviousをaタグの直前に持ってくることで解決できました。

リファレンスと同様にliでくくる実装も過去にも何度もやってますが、
リンクの中身が記事の内容になっているので、最近はマークアップ的に、articleでくくるようにしてます。

でも、このarticleが悪いのか、MT6で出てきた問題か、、そこまで検証してません。。
なにかわかる方がいらしたらご教授ください。

あとでteratailでも聞いてみようかな。

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *

CAPTCHA