ファビコンストレージ-どのフォルダーを使用する必要がありますか?


8

この質問は技術的なものではなく、「イデオロギー」です。WPのどこにファビコンを(「正しい」方法で)格納する必要がありますか?ルート(wp-config.php)が格納されている場所にあるべきですか、それとも現在のテーマのフォルダーにあるべきですか?または、2つのコピーを保持する必要がありますか(私はしたくない)?私はどちらの方法でも機能し、エラーが発生しないことを知っていますが、より良い/正しい/より意味論的な方法などを知りたいです。

回答:


9

テーマを変更したときにファビコンが変更されると予想した場合にのみ、テーマフォルダーに保存します。私にはありません。

ファビコンはサイトID全体の一部であり、CMSの機能ではありません。WP以外のソフトウェアを使用して、サイトのさまざまな部分(フォトギャラリー、フォーラム、Wiki(または上記すべて)など)を実行している場合はどうなりますか?

ファビコンをウェブサイトのルートに置くと、すべてのソフトウェアパッケージが通常は自動的にファビコンにアクセスできます(ただし、個々のテーマからハードコードされたLINKを削除する必要がある場合があります)。


(編集)明確にするため:LINKが指定されていない場合、すべての最新のWebブラウザー(Seamonkeyを除く、それを有効にするオプションは存在します)は、ルートディレクトリ、つまりexample.com/favicon.icoでファビコンを自動的に探します。したがって、LINK要素を追加する理由はなく、追加しない正当な理由もあります。

さらに、LINK要素の形式が間違っている(タイプミスがあるなど)か、そこにあるファイルが破損しているか、ブラウザが理解できない形式の場合、ブラウザはとにかく /favicon.icoを検索するため、ファイルがありません。ログに404エラーが発生します。

リンクが適切なケースが1つあります。それは、サイトのページごとに異なるファビコンが必要な場合です。


プロフェッショナルWebサイトの2/3以上がファビコンリンクを指定しています。いくつかのお気に入りのビュー->ソースを実行します。彼らはすべて間違っていると思いますか?

「彼ら全員が間違っていると思いますか?」上記の私の答えを読んでください。そうすれば、私の考えを正確に理解できます。ファビコンがルートディレクトリに移動できないのには、いくつかの理由があります(回答に1つ記載しましたが、他にもあります)。しかし、実際にファビコンを移動してLINK要素を含める正当な理由がない限り、なぜそうするのでしょうか。他のみんながやっているから?調査したプロのウェブサイトには、そのようにする理由がありますか?あなたは?
Doug

7

常にルートフォルダにある必要があります。明示的にリンクするかどうかに関係なく機能します。

これをテーマの関数として使用して、functions.php明示的にリンクすることもできます。

function my_favicon() {
    echo '<link rel="shortcut icon" href="' . get_bloginfo('wpurl') . '/favicon.ico" />';    
}
add_action('wp_head', 'my_favicon');

1

ここには質の高い答えがありますが、私は異なる観点から2セント投入すると思いました。ルートディレクトリが選択できないWordPress MultiSite環境で多くのブログとサイトを管理しています。このような場合は、WordPress Codexが推奨するように、テーマディレクトリにファビコンを配置するのが最適です。


「コーデックス」が推奨するとおり、ということです。コーデックスはコミュニティ編集可能なwikiです。あなたはそこにあるすべてのものを福音としてとるべきではありません。;)サイトごとにファビコンを実行するカスタムプラグインを作成するのが好きです。しかし、私はプラグインが好きです。
オットー

素晴らしい点@Otto、私は私の答えをより明確にするために編集しました。訂正ありがとうございます。
Matthew Boynes、2012年

0

Faviconは動的ではなく、他のものと「競合」しません。そのことを念頭に置いて、私はheader.php にハードコーディングして、それで終わりです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.