WordPressテーマ「Xeory Base」のおせっかいなところをカスタマイズする
バズ部のWordPressテーマ「Xeory Base」はSEOに強く使いやすいテーマとして有名だ。ただ、細かいところまでしっかり考えて調整されているが故に、デフォルトの設定が一般的なWordPressテーマのものとは多少異なっていて、個人的にちょっと余計なお世話というか逆に不便だと感じられるところもあったので、修正してみた。
サイト内検索の対象が投稿記事のみになっているのを変更
WordPressのデフォルトでは、サイト内検索の対象は投稿記事と固定ページになっているが、Xeory Baseでは投稿記事だけしか対象にならない。
固定ページもサイト内検索の対象にしたかったので、
wp-content/themes/xeory_base/lib/functions/setting.php (テーマ編集画面では表示されないのでFTPクライアントを使用して編集) 271行目からの
if ( !is_admin() && $query->is_main_query() && $query->is_search() ) { $query->set( 'post_type', 'post');
を以下のように変更。
if ( !is_admin() && $query->is_main_query() && $query->is_search() ) { $query->set( 'post_type', array('post', 'page'));
もし独自に「xxx」というカスタム投稿タイプを作成していて、それらも検索対象にしたい場合は、
if ( !is_admin() && $query->is_main_query() && $query->is_search() ) { $query->set( 'post_type', array('post', 'page', 'xxx'));
のようにarrayに追加。
スマホ表示の時、フロントページでグローバルナビがデフォルトで開かれた状態になっているのを変更
フロントページ(トップページ)に辿り着いた訪問者に目的のページを探してもらいやすいように、グローバルナビを開いた状態で表示しているのだと思われるが、固定フロントページで最初のページを最も見てもらいたいページに設定している場合は、ファーストビューがナビの項目で埋め尽くされていると都合が悪いので、
wp-content/themes/xeory_base.footer.php 45行目からの
<?php if( is_front_page() ){ ?> $('#gnav').addClass('active'); <?php }else{ ?> $('#gnav').removeClass('active'); <?php } ?>
を以下のように変更。
$('#gnav').removeClass('active');
PHPはまだあまりよく理解していないので、この方法はおかしいとか、こうした方がいいとかいうところがあれば教えていただけるとありがたいです。