特定のカテゴリのみロックバッジを非表示にする方法はありますか?

こんにちは皆さん、

タイトルにもある通り、一部のカテゴリのロックバッジを削除する方法を探しています。ただし、全てのカテゴリからではなく、特定のカテゴリのみから削除したいのです。

カテゴリのドロップダウンヘッダーについては、カテゴリIDを使ってそのカテゴリのロックアイコンのみを削除する(グローバルに削除するのではなく)ことに成功しました。

しかし、カテゴリ一覧(スクリーンショット参照)や検索機能のカテゴリドロップダウンリストに表示されるバッジのアイコンについては、まだ削除することができていません。

何か良い案はありますか?CSSの扱いにはまだ慣れておらず、自分でのアプローチも尽きてしまいました。

よろしくお願いします!

追記:
以下のスレッドの両方を読みましたが、私にとって有効な解決策は見つかりませんでした:

I think this should do it:

// Hide the lock icon for specific categories on topic lists and hamburger menu,
// and hide the lock icon on all dropdown search results
.search-menu .results .restricted,
[href="/c/MY-CATEGORY-SLUG1"],
[href="/c/MY-CATEGORY-SLUG2"],
[href="/c/MY-CATEGORY-SLUG3"] {
    .fa-lock {
        display: none;
    }
}

Just replace the MY-CATEGORY-SLUG# part with the slugs of the categories you want to have the lock icon hidden.

Unfortunately there isn’t enough to work with in the HTML to pick and choose which categories show the lock icon in the dropdown search results with CSS, so it’s all or nothing for that part. You will need to decide if you want to show or hide the lock for all restricted categories. If you want to show it, just remove this part: .search-menu .results .restricted,

Hopefully that gets you pretty close to what you are looking for!

「いいね!」 11

すみません、古い話題を蒸し返してしまいますが、これがうまくいきません。スラッグが「off-topic」であるラウンジのロックアイコンを抑制しようとしています。私のラウンジはデフォルトのインストールではなく、作成されたカテゴリであり、メンバー以外には表示されないように権限を設定しました。しかし、メンバーはそれがロックされたカテゴリだと誤解するため、そこにロックアイコンを表示したくありません。

これはCSSコードに追加すればよいと仮定しています。

// トピックリストとハンバーガーメニューの特定のカテゴリのロックアイコンを非表示にし、
// すべてのドロップダウン検索結果のロックアイコンを非表示にします
.search-menu .results .restricted,
[href="/c/off-topic"] {
    .fa-lock {
        display: none;
    }
}

ロックアイコンはまだ表示されています。グローバルに置き換えたいわけではなく、カテゴリドロップダウンのロックアイコンも抑制するというアイデアは気に入っています。

こんにちは、これはどうですか?

.category-drop [data-value="ID"] .restricted,
[href^="/c/off-topic"] {
    .d-icon-lock {
        display: none;
    }
}

ID をオフトピックカテゴリIDに置き換えてください。

「いいね!」 1

返信ありがとうございます。これでカテゴリ検索ドロップダウンで非表示にすることができ、素晴らしいです。しかし、カテゴリリストページのように、そのカテゴリのロックアイコンをグローバルに(他のロックされた要素ではなく)非表示にしたいのです。

「いいね!」 1

CSSでタイポをしてしまいました。off-topic の代わりに lounge と入力しました。

「いいね!」 1

まさにそれがやりたいことです。

素晴らしい!うまくいきました。本当にありがとうございます :clap:

「いいね!」 2

うまくいってよかったです!他に場所を見落としていたら教えてください :slight_smile:

「いいね!」 2

@Arkshine
上記のコード例を使用して、メインホームページとサイドバーの2つのカテゴリのロックを解除できました。素晴らしいです!

しかし、カテゴリのドロップダウンメニューには、まだロックが表示されています。これらのカテゴリは、このメニュー以外ではどこにもロックが表示されていません。

Screenshot 2023-08-24 at 2.41.52 PM

何かアイデアはありますか?

編集:
すべてのカテゴリのドロップダウンメニューからロックアイコンを削除できましたが、選択したカテゴリのみから削除する方法がわかりません。以下がCSSです。

.badge-wrapper.bullet span.badge-category, {
    .d-icon-lock {
        display: none;
    }
}

[data-value=“ID”] を使用して同様のCSSを試しましたが、このインスタンスでは機能しませんでした。

「いいね!」 1

CSSでロックアイコンを使用するのは、場所によっては少し難しいことに気づいたので、これを簡単に実現できるテーマコンポーネントを作成しました。これは、パンくずリストのドロップダウンセレクター、ヘッダーバーのパンくずリスト、ナビゲーションサイドバーメニュー、および対応するチャットチャンネルで、選択されたセキュアカテゴリのロックアイコンを非表示にします。 :slight_smile:

「いいね!」 2

@Lillyさん、ありがとうございます。先日、あなたの元の回答を拝見し、編集する時間ができたのですが、あなたがそれを容易にしただけでなく、同じことを達成しようとしている無数の人々を確実に助ける素晴らしいテーマコンポーネントを作成してくれたことに気づきました。あなたの時間と労力に大変感謝しています。とても感謝しています。

「いいね!」 1

どういたしまして、そして素敵な褒め言葉をありがとうございます。Discourseフォーラムの機能を拡張するのに役立つテーマコンポーネントツールを開発することを楽しんでいます。:blush:

「いいね!」 2