【Cocoon】PC版グローバルナビに検索アイコンを追加

【Cocoon】PC版グローバルナビに検索アイコンを追加

本ページにはプロモーションが含まれています

目次

CocoonのPC版グローバルナビには検索アイコンがない

当サイトでも使用しているWordPressテーマ「SWELL」では標準設置の検索アイコンをCocoonで設置したい場合、ウィジェットでページ本文中・フッター・サイドバー等には検索アイコンを設置できますが、ヘッダー部分には設置することが出来ません。

CocoonのPC版グローバルナビには検索アイコンがない

Cocoonでもヘッダー部分のグローバルナビ横に検索アイコンを設置する方法です。

フックを “functions.php” に追加

外観テーマファイルエディタfunctions.phpに下記の内容を追加。

/*ヘッダー検索*/
function add_search_icon_to_menu($items, $args) {
    if ($args->theme_location == 'navi-header') {
        $items .= '<li class="search-menu-button-header menu-button">
    <input id="search-menu-input-header" type="checkbox" class="display-none">
    <label id="search-menu-open-header" class="menu-open menu-button-in" for="search-menu-input-header">
      <span class="search-menu-icon menu-icon">
        <span class="fa fa-search fa-search-header" aria-hidden="true"></span>
      </span>
    </label>
    <label class="display-none" id="search-menu-close-header" for="search-menu-input-header"></label>
    <div id="search-menu-content-header" class="search-menu-content">
      <form class="search-box input-box" method="get" action="' . esc_url(home_url('/')) . '">
          <input type="text" placeholder="サイト内を検索" name="s" class="search-edit" aria-label="input" value="">
          <button type="submit" class="search-submit" aria-label="button"><span class="fa fa-search fa-search-box" aria-hidden="true"></span></button>
      </form>
    </div>
</li>';
    }
    return $items;
}
add_filter('wp_nav_menu_items', 'add_search_icon_to_menu', 10, 2);
Note

CSSクラス名は “search-menu-content-header” にしてます。任意のCSSクラス名に変更した場合は、functions.phpstyle.cssの両方のCSSクラス名を忘れずに変更して下さい。

CSSを “style.css” に追加

外観テーマファイルエディタstyle.cssに下記の内容を追加。

/*ヘッダー検索*/
.fa-search {
    color: #000;
}
#navi .fa-search-header {
    color: #222;
}
#navi .fa-search-box {
    color: #222;
}
#navi .navi-in>ul>li:last-child {
    display: none;
}
.menu-drawer .search-menu-button-header {
    display: none;
}
@media screen and (min-width: 1024px) {
#navi .navi-in>ul>li:last-child {
	display: block;	
}	
}
.search-menu-button-header .fa-search:before {
    -webkit-font-smoothing: antialiased;
    -webkit-text-stroke-color: #fff;
    -webkit-text-stroke-width: 0.7px;
}
#search-menu-open-header {
	padding: 15px 15px;
	margin-left: 5px;
	display: flex;
}
#search-menu-content-header,
#search-menu-content-header .search-box {
	max-width: 570px;
	margin-right: auto;
	margin-left: auto;
}
#search-menu-content-header .search-box {
    margin: 0;
}
.search-menu-content-header {
	transition: .3s ease-in-out;
	position: fixed;
	top: 40%;
	z-index: 99;
	width: 90%;
	left: 5%;
	right: 5%;
	-webkit-transform: translateY(900%);
	transform: translateY(900%);
	opacity: 0;
}
.search-menu-content-header .search-edit {
	width: 100%;
	max-width: 570px;
}
/*黒背景*/
#search-menu-close-header {
	display: none;
	position: fixed;
	z-index: 99;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: black;
	transition: .3s ease-in-out;
}
#search-menu-input-header:checked ~ #search-menu-close-header {
	display: block;
	opacity: .5;
}
#search-menu-input-header:checked ~ #search-menu-content-header {
	transition: .3s ease-in-out;
	-webkit-transform: translateX(0%);
	transform: translateX(0%);
	opacity: 1;  
}
#search-menu-content-header .search-edit {
	font-size: 16px;
}
.search-menu-button-header {
	border-right: 0px;
}

検索アイコンの縦位置調整

検索アイコンの縦位置調整

選択するヘッダーレイアウトによって ”検索アイコン” 位置がずれるため、調整の必要があります。
27行目の “padding” の高さの数値を変更して下さい。

#search-menu-open-header {
padding: 15px 15px;
margin-left: 5px;
display: flex;
}

以上でCocoonのPC版グローバルナビに検索アイコンを追加する方法となります。

引用元の「Theme3」様のサイトにて詳しく丁寧に紹介されています。

引用元:Theme3 – CocoonのPCグローバルナビにSWELLライクな検索アイコンを追加
WordPress 歴 。掲載記事は自身の備忘録のためでもあり、掲載内容を使用される場合は自己責任にてお願い致します。

※ 本ページにはプロモーションが含まれています

目次