デザインスキン「Rebuild」の画面右上にも連絡先を表示する

WordPress個別サポート

BizVektorといえば画面右上の連絡先が思い浮かぶのは私だけでしょうか。バージョン0.xでもおなじみのデザインスキン「Default」の例では次のように連絡先が表示されます。

BizVektorの画面右上に表示される連絡先
BizVektorの画面右上に表示される連絡先

バージョン1.0.0で追加されたデザインスキン「Rebuild」を選ぶと連絡先は表示されません(「外観」-「テーマオプション」メニューで「連絡先」を入力しても)。

デザインスキン「Rebuild」では連絡先は表示されない
デザインスキン「Rebuild」では連絡先は表示されない

これはデザインスキン「Rebuild」では連絡先の代わりにグローバルメニューが表示されるようになっているためです。

表示内容を変更するためのフィルターフックがdesign_skins/003/functions_003.phpに記述されています。

add_filter('headContactCustom','rebuild_head_contact_custom');

このフィルターフックを無効にすれば、デザインスキン「Rebuild」でも連絡先を表示することができます。ただし、子テーマのfunctions.phpに次のように記述しても反映されません。

remove_filter('headContactCustom','rebuild_head_contact_custom');

子テーマのfunctions.phpに記述したフィルターフックが最後(親テーマの設定よりも後で)に実行されるように、「テーマのセットアップが終わったら、そのフィルターフックを無効に」と記述する必要があります。コードの例は次のようになります。子テーマのfunctions.phpなどでお使いください。

function my_headContactCustom() {
    remove_filter('headContactCustom','rebuild_head_contact_custom');
}
add_action('after_setup_theme', 'my_headContactCustom', 90);

表示結果は次のようになります。

デザインスキン「Rebuild」の画面右上に連絡先を表示する
デザインスキン「Rebuild」の画面右上も連絡先が表示される

あまりおすすめできませんが、「親テーマを直接カスタマイズしても大丈夫!」という方は次のようにフィルターフックをコメント(無効)にするだけで済みます。

//add_filter('headContactCustom','rebuild_head_contact_custom');

上記の「連絡先が表示されたRebuild」を見て鋭い方は「グローバルメニューが消えた!」と気づいたかもしれません。

Rebuildの「連絡先の代わりにグローバルメニューを表示」を無効にしたのでグローバルメニューが消えたのは当然ですが、違和感がある場合は、上で紹介したフックを無効にするコードを次のように変更します。

function my_headContactCustom() {
    remove_filter('headContactCustom','rebuild_head_contact_custom');
    add_filter('headContactCustom','my_rebuild_head_contact_custom');
}
add_action('after_setup_theme', 'my_headContactCustom', 90);
function my_rebuild_head_contact_custom($headContact){
    $headContact .= rebuild_head_contact_custom($headContact);
    return $headContact;
}

「連絡先の代わりにグローバルメニューを表示する」を無効にした後に、「連絡先の後にグローバルメニューを表示する」というフックを追加しています。

表示結果は次のようになります。

連絡先の下にグローバルメニューを表示する
連絡先の下にグローバルメニューを表示する