外部リンクに Font Awesome アイコンをつけるカスタマイズ

こんにちは、魚沼情報サービスの対馬です。もうすぐ今年も終わりですね。

外部サイトへのリンクが設定されているテキストに、以下のように のアイコンがついていると、閲覧者に伝わりやすいですよね。

Lightning の使い方、カスタマイズを勉強するなら ベクトレ がおすすめ!!

この記事では、段落などに置いたテキストリンクに自動的にアイコンをつけるやり方を紹介しています。

アイコンを追加する CSS

Lightning には Font Awesome というアイコンフォントが組み込まれているので、少し CSS を書くだけでできちゃいます。

まず、子テーマの style.css などに以下の CSS を追加してみてください。

.entry-body p a[href^="http"]::after {
  margin-left: 3px;
  font-family: "Font Awesome 6 Free";
  content: '\f35d';
  font-weight: bold;
}

上記の CSS により、コンテンツの段落内の http で始まるリンクに外部リンクを示すアイコンがつきます。

サイト内のリンクにアイコンを表示しない CSS

このままだと、サイト内のリンクにも外部リンクを示すアイコンが表示されてしまいますので、以下の CSS によりサイト内リンクにはアイコンが表示されないようにします。

.entry-body p a[href^="https://lightning-free.hp1.work"]::after {
  margin-left: inherit;
  font-family: inherit;
  content: '';
  font-weight: inherit;
}

https://lightning-free.hp1.work の部分をサイトの URL に置き換えてください。

サイト内のリンクに別のアイコンをつける CSS

サイト内のリンクでもアイコンがあった方が気づいてもらいやすいので、三角のアイコンをつけてみましょう。

.entry-body p a[href^="https://lightning-free.hp1.work"]::before {
  margin-right: 1px;
  font-family: "Font Awesome 6 Free";
  content: '\f0da';
  font-weight: bold;
}

https://lightning-free.hp1.work の部分をサイトの URL に置き換えてください。

これで、サイト内リンクは以下のような表示になります。

このサイトを初めてご利用いただく方は サイト案内 をお読みください。

テーブルやリスト内のリンクにアイコンをつける

テーブル table やリスト ul の中に置いたリンクにアイコンをつけたい場合も考え方は上記と同様です。

アイコンをつけたくないときは (インライン画像など)

例えば、以下のように段落内に置いたインライン画像にリンクを設定した場合など、アイコンを表示したくないことがあります。

Lightning の使い方、カスタマイズを勉強するなら ベクトレ がおすすめ!! 詳しくはこちら

クラス link-no-icon のための CSS は以下の通りです。

.link-no-icon a::after,
.link-no-icon a::before {
  margin-left: inherit !important;
  font-family: inherit !important;
  content: '' !important;
  font-weight: inherit !important;
}

Chrome 105 になると...

近々リリース予定の Chrome バージョン 105 では、:has() という疑似クラスがサポートされて、画像を含むリンクを a:has(img) で指定できるようになります。

そうなれば、上記の link-no-icon のようなクラスを指定する手間をかけなくても、リンクを設定した画像にアイコンをつけなくすることが楽にできるようになります。

2022.8.16 現在

Chrome 105 がリリースされました

最近、Chrome バージョン 105 がリリースされて、以下の CSS によりリンクを設定した画像にアイコンをつけなくすることができるようになりました。

a:has(img)::after,
a:has(img)::before {
  margin-left: inherit !important;
  font-family: inherit !important;
  content: '' !important;
  font-weight: inherit !important;
}

ただし、Firefox はまだ has() をサポートしていませんので、現時点でこの CSS を使うかどうかは判断が分かれるところだと思います。

2022.9.6 更新

Firefox でも :has() が使えます

2023年12月19日にリリースされた Forefox 121 が :has() に対応しました。

これで主要ブラウザが :has() に対応しましたので、サイト制作に問題なく使えるようになっています。

":has()" | Can I use… Support tables for HTML5, CSS3, etc

2024.3.11 更新

投稿者プロフィール

対馬 俊彦
対馬 俊彦魚沼情報サービス (新潟県南魚沼市)
WordPress を使用したサイト制作・カスタマイズを全国どこからでも承ります。ベクトルが販売している WordPress テーマ「Lightning」「Katawara」および同社のプラグイン「VK Blocks」「VK Filter Search」のカスタマイズを得意としています。遠方からのご依頼の場合、打ち合わせ・サポートを Zoom や電子メール・電話などを併用して行わせていただきます。

オンラインレッスン形式でのホームページ制作サポートも行っています。お客様ご自身でホームページを開設・運用する上で、うまくいかない部分をサポートいたします。設定やカスタマイズを手伝ってもらいたい、同時に便利な使い方や設定方法、カスタマイズのやり方も知ることができたら...という方にご好評いただいています。

このサイトで行っているカスタマイズのやり方の多くもマンツーマンのオンラインレッスン形式などでわかりやすく説明させていただくことができますので、興味がある方はご連絡ください。

* ドメインやサーバーの契約・申込み
* WordPress やテーマ、プラグインのインストール
* アクションフック・フィルターフック・jQuery・CSS によるカスタマイズ
* ドメインの移管・移転
* 日常の更新作業
なども含めて、サイトの制作・運用全般をお手伝いできます。

また、制作業者様のサイト制作のお手伝いも数多く行っております。いま人手が足りない、ちょっとここだけコーディングを頼みたい、等々… お仕事の依頼をお待ちしています。

ご要望をうかがった上で費用見積り(無料)を提示させていただきますので、お気軽にお問い合わせください。

» ご相談・お問い合わせはこちらからどうぞ

今よりもっといい WordPress サイトにしたいなら Vektor Passport がおすすめ

ベクトルから発売されている有料プラグイン Lightning G3 Pro Unit / VK Blocks Pro を使えば、このサイトで紹介しているようなコードを書かずにかんたんにカスタマイズできることがたくさんあります。

名前に Pro がついているので「制作のプロ向け製品」という印象を受けるかもしれませんが、
*もっといいサイトにしたい
* 効率よく作成・運用・管理をしたい
と考えているコーポレートサイトの担当者にこそ使っていただく価値がある製品です。

Lightning G3 Pro Unit / VK Blocks Pro は Vektor Passport というライセンス製品で販売されています(個々の単体販売はされていません)。これらのプラグインを使うと、便利なカスタマイズ機能やリッチなコンテンツ制作に役立つブロックをたくさん利用できるようになりますので、効率的にサイトを制作・運用したい方はぜひお使いになることをおすすめします。