Nakkan Base

コード

【WordPress】カスタムロゴの設置

ロゴを設定するには、

=functions.php=

add_theme_support( 'custom-logo' ); 

と記述し、ロゴを設置したい場所に

(例)=header.php=

<header>
    <div class="header_head">

      <h1><?php the_custom_logo(); ?> <?php bloginfo('name'); ?></h1>

…

とするだけ。

これだけで
<a href=”トップページurl” class=”custom-logo-link” rel=”home”>
<img width=”○○” height=”○○” src=”画像URL” class=”custom-logo” alt=”○○○(メディアの「代替テキストで指定)” />
</a>

と書き出してくれます。

ロゴの大きさなどcssで指定するには、

=style.cssなど=

 .custom-logo {
    width: 20px;
    height: 20px;
    vertical-align: text-bottom;
  }

でOK。

【WordPress】タイトル出力

「タイトル=ブラウザのツールバーに表示される文字列」ですが、実を言うと、今まで結構これに悩んでいました。

私のfunctions.phpには、常に以下のコードが書き込んであります。

//タイトル出力   

function title($title)
{
  if (is_front_page() && is_home()) { //トップページなら
    $title = get_bloginfo('name');
  } elseif (!is_front_page() && is_home()) { //トップページ以外なら
    $title = single_post_title('/');
  }
  return $title;
}
add_filter('pre_get_document_title', 'title');

なので、フロントページのタイトルには「サイト名」のみが表示されます。

でもこのコードを書かなければ、「サイト名-キャッチフレーズ」が表示されるんですね!

いやー、知らんかった😳

で、本題は、「キャッチフレーズ-サイト名」にするにはどうすれば良いかということだった。

これがね〜。。。調べてもなかなか出てこないんだよね〜。。。

そしてついに、そのコードをゲットしたのであった❗️

以下を、上のコードの下に付け加えるのである。(💡両方のコードが必要)

function change_document_title( $title )
{
    $title = 'キャッチフレーズ '.$title ;
  return $title;
}
add_filter( 'pre_get_document_title', 'change_document_title' );

これで思った通り、「キャッチフレーズ サイト名」のタイトルが表示されました。

【WordPress】jQueryが動かない時の一番簡単な対処方法

(これ、書いておいたと思っていたけど書いていなかったみたいなので、備忘録として残しておきます)

WordPressのjQueryはすでに独自で備わっているので、コードを書くときに「$」を使ってはならぬという決まりがある。

で、「$ → jQuery」に全て書き換えると良いのだが、それは面倒だし漏れることもあるのでやめておく。

結論。以下で。

「jQuery(function($){ });」でコードを囲む。

<script>
   jQuery(function($){
      $(‘#test’).text();
      $(‘.test’).remove(‘.sample’);
   });
</script>

メニューの表示は、register_nav_menu()を使う

結論から言えば、「add_theme_support( ‘menus’ );」は必要ないという話。

そうじゃなくて、「register_nav_menu()」を使いなさいということ。

この際、複数のメニューを設定するのだと、「register_nav_menus()」となる…のだが、白状すると私、これができなかった(汗)。

一応書いておくと、

register_nav_menus( array(
	'menu-a' => 'メニューA',
	'menu-b' => 'メニューB',
) );

と、すこぶる簡単なことなのですが……なぜかこれがエラーになるので、よくわからないまま次のようにfunctions.phpに書き込んだら正常に表示されました。

=functions.php=

function new_setup_theme()
{
  register_nav_menu('main-nav', 'メインナビゲーション');
  register_nav_menu('side-nav', 'サイドナビゲーション');
}

add_action('after_setup_theme', 'new_setup_theme');

=nav.php=

 <nav id="mainNav">
      <div>
        <?php wp_nav_menu( array( 'theme_location' => 'main-nav' )); ?>
    </div>
  </nav>