10:06WordPressの一覧と記事ページを分ける「<!--more-->」タグ。ブログ文化の遺産みたいになっていますが、きちんと設計しないと不思議な挙動に見えるので少しまとめてみます。結論から書くとmoreタグを使わない設計が一番よさそうです。複数の人で運用する場合は特に。moreタグについてまず簡単に「<!--more-->」タグの説明。ブログは一つの記事から「一覧」ページと「記事」ページの2階層が作られます。MORE(続きを読む)ボタン」が置かれます。このmoreタグの問題点を二つほど。問題点1:出力されるHTMLが予測しづらいmoreタグの置き場所によって、HTMLの構造が変化します。変化といっても単にWordPress特有の変換処理(wpautop)が入るだけなんですが、前後関係によってHTMLが変わるため、CSSでのスタイル設計が難しくなります。MOREボタン」を押すと記事ページの「途中」へリンクします。音声ブラウザなど文脈の維持がどうしても必要な場合は別だと思いますが、遷移先がページの途中というのは視覚的にやはり混乱します。この点だけ解決したい場合は、Codexに回避方法があります。一応断っておくと上記は不具合ではなくWordPressの仕様なので、以下は解決方法というより設計方針。方針1:moreタグは使わないWordPressのテンプレートをカスタマイズできる場合は、moreタグを使わない設計が良いと思います。下の条件で「抜粋」欄をうまく使うと運用も楽になります。抜粋の有無は「has_excerpt()」が利用できます。文字数はHTMLタグを取り除いてから数えます。この場合、一覧ページで文章が途切れますが、文章を書きながら区切りを意識しなくて良いというのは大きなメリット。一覧の文章をきれいにしたい場合は「抜粋」欄を使います。方針2:moreタグを慎重に設置するテンプレートのカスタマイズができない場合は日々気をつけるしかありません。妥当と思われる例を一つ。ビジュアルエディタはNG。テキストエディタでHTMLが見えるようにします。具体的には「段落の先頭にmoreタグを入れる」というもの。MORE</a></p>記事ページでは下記のようになります。空のspanタグも無害です。id=”#”></span>記事だけで表示される文章</p>ただし、この方法ではmoreタグの直後に見出しタグ(h1〜h6)が置けません。見出しを置くと記事ページで「空」の段落が作られます。方針3:独自にカスタマイズする既存サイトでmoreタグを既に利用している場合や、むしろ積極的に利用したい場合はカスタマイズしておくと便利です。MOREボタン」に変換しないだけです。するとmoreタグをどのように配置してもよく、過去の記事にも影響しません。moreタグが単に区切り位置として機能します。MOREボタン」を作る記事ページでは「<!--more-->」を削除してから、WordPressの変換処理を通す一覧と記事ページが同じファイルの場合はこんな感じ。$my_content);}(このコードあまり確認していないので間違ってたらすいません。