Discordコミュニティを作りました! 参加する

フォーラム

トピックを立てる前にチェック
  1. フォーラムガイドライン」に必ず目を通してください。
  2. バージョンアップデート後に表示がおかしくなった場合は、
    「SWELL設定」>「リセット」からキャッシュクリアを先にお試しください。
  3. フォーラム内検索で過去に同じようなトピックがないか検索してみてください。
bodyに任意のid名を指定したい(ブ...
 
通知
すべてクリア

bodyに任意のid名を指定したい(ブログパーツ&投稿リストを利用するとうまくいかない)

3 投稿
2 ユーザー
0 Likes
1,107 表示
matsui
(@matsui)
投稿: 8
メンバー
Topic starter
 

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 ); ?>">
確認項目
利用規約に同意します*, ガイドラインを読み、内容を把握しています*, よくある質問を先にチェック済みです*, 過去に同じようなトピックがないか検索済みです*, WordPress更新後、SWELLは最新版にしましたか?, Googleなどでも検索してみました, 自分で追加したコードに問題がないかチェック済みです
問題が確認できるページのURL
利用中のSWELL本体のバージョン
2.7.5.1
利用中のPHPバージョン
7.4.33
OS
MacOS
利用中のWordPressバージョン
6.2.2
利用中のサーバー会社
Xサーバー
ブラウザ
Chrome
利用中のプラグイン一覧

・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

 
投稿済 : 06/06/2023 4:06 pm
かんた
(@swell_mania)
投稿: 670
Https://webrent.xsrv.jp/
 

SWELLは#body_wrapにbody_class()関数がすでに付いていますので、テンプレートファイルを編集する必要なくページ固有のクラスをHTMLに出力しています。現在の最新バージョン(2.7.6.1)で試した限り、投稿リストブロックを埋め込んだブログパーツをカテゴリーに設定した状態でもbody_class()にはカテゴリー固有のクラスが出力されました。

標準的な出力で不十分な場合は、テンプレートを直接編集せずにbody_classをフィルターすると良いかと。

参考:body_class | Hook - WordPress Developer Resources

一般ユーザー
SWELL初心者のために、ブロックパターンライブラリーを運営しています。

 
投稿済 : 07/06/2023 7:30 am
matsui
(@matsui)
投稿: 8
メンバー
Topic starter
 

かんた(@swell_mania )さん、ご返信ありがとうございます。

classは正しく取得できていますが、idはこの書き方では投稿名をIDとして取得できないようですね。

ひとまず、classで対応したいと思います。

ご丁寧な回答ありがとうございます。

 
投稿済 : 07/06/2023 9:23 am
共有: