WordPress 複数サイトで同じフッターを表示させる簡単な方法 1サイト更新で全サイトに反映が可能

概要説明

複数サイトを運用している方にオススメ。フッターやサイドエリアを複数サイトで簡単に共通化させるためのテクニック。ベースとなるサイトで構築が完了したら後は他のサイトから取得して表示させるだけ。一度環境を構築したら1サイト修正するだけで自動的に全サイトに共通部分が反映されます。

ベースとなるサイトでまずは共通化させる表示エリアを構築

記事数の表示や動的な内容も含め複製元のフッターレイアウトをまずは構築しましょう。

htmlコメントにて複製対象を指定

<!--[FOOTER_START]-->
<style>
スタイル定義もインラインに記述します
</style>
フッターコンテンツ
<!--[FOOTER_EMD]-->

style.cssに含めるとスタイル情報の反映が出来ないため共通化したいエリアのスタイル定義はインラインに記述しておくことがポイントです

他のサイトは取得して表示するだけ

footer.phpなど
<?php
$share_footer = '';
$cache_footer = get_db_cache('cache_footer', '86400');
if ( $cache_footer === false ) {
    $foot_data = @file_get_contents('https://functions.fs-create.net/?t='.time()); // キャッシュ対策
    $pattern = '/\<\!--\[FOOTER_START\]--\>([\s\S]*)\<\!--\[FOOTER_END\]--\>/';
    preg_match_all( $pattern, $foot_data, $match );
    if ( isset($match[0][0])) {;
        $share_footer = $match[0][0];
        set_db_cache('cache_footer', $share_footer);
    }
} else {
    $share_footer = $cache_footer;
}
echo $share_footer;
?>

独自キャシュ機能を使用しているため下記のキャッシュ処理が必要になります

この構成にしておくことでカスタマイズが必要なのは1サイトだけ

フッターの調整を行うのは1サイトだけで全サイトのフッターに反映が行えるようになります

キャッシュを1日有効としている関係でサイトごとに変更の反映にタイムラグが発生しますが運用が簡単なのでこちらの方法を採用しています

関連機能

  1. Smart Custom Fieldsの定義をfunctions.phpで行う

  2. アイキャッチ画像の設定機能を追加したい場合

  3. WordPress 永続オブジェクトキャッシュAPC設定を設定して高速化 (エックスサーバー)

サイドバー

よく使うカスタマイズ

最近の記事

アニメの名言集

その人を知りたければ、
その人が何に対して怒りを感じるかを知れ

HUNTER×HUNTER
by ミト

Profile

PAGE TOP
Amazon プライム対象