- 「フォーラムガイドライン」に必ず目を通してください。
- バージョンアップデート後に表示がおかしくなった場合は、
「SWELL設定」>「リセット」からキャッシュクリアを先にお試しください。 - フォーラム内検索で過去に同じようなトピックがないか検索してみてください。
フォーラム
WordPressの記事ごとに<body>タグにIDとクラス名をつけたいと思っています。
一般的に下記のように設定すると思うのですが、Swellで下記の条件では、IDが取得できません。
■やりたいこと
・カテゴリーのトップページごとに固有のIDをbodyタグにつけたい
・IDは、指定したURLにしたい(半角英数字しています)
■Swellでうまくいかない条件
・カテゴリーのトップページにブログパーツを利用し、ブログパーツ内に「投稿リスト」を使っている場合
■どうなる?
・ブログパーツ内で一覧表示した記事の「最新記事のURL」がカテゴリートップのbodyタグにIDとして設定される
■header.phpに設定したコード
<body <?php body_class(); ?> id="<?php echo esc_attr( $post->post_name ); ?>">
・Akismet Anti-Spam (アンチスパム)
・Category Order and Taxonomy Terms Order
・Highlighting Code Block
・SEO SIMPLE PACK
・SiteGuard WP Plugin
・WP Multibyte Patch
・XML Sitemap & Google News
・Yoast Duplicate Post
SWELLは#body_wrapにbody_class()関数がすでに付いていますので、テンプレートファイルを編集する必要なくページ固有のクラスをHTMLに出力しています。現在の最新バージョン(2.7.6.1)で試した限り、投稿リストブロックを埋め込んだブログパーツをカテゴリーに設定した状態でもbody_class()にはカテゴリー固有のクラスが出力されました。
標準的な出力で不十分な場合は、テンプレートを直接編集せずにbody_classをフィルターすると良いかと。
参考:body_class | Hook - WordPress Developer Resources
一般ユーザー
SWELL初心者のために、ブロックパターンライブラリーを運営しています。
かんた(@swell_mania )さん、ご返信ありがとうございます。
classは正しく取得できていますが、idはこの書き方では投稿名をIDとして取得できないようですね。
ひとまず、classで対応したいと思います。
ご丁寧な回答ありがとうございます。