Nakkan Base

WordPress投稿記事一覧

日別の投稿記事一覧

【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' );

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

いきなりウィジェットの「カテゴリー」が変になった件

カテゴリーのウィジェット、ドロップダウンにしていましたが、「サーバー」というカテゴリーを選択するといきなり404エラーに。

でも他のカテゴリーを選択したときは、普通に表示される。

これってどういうこと?

よく見れば、リンクに「/category/」が現れたりはたまた消えたりしているではないか。

これがちゃんと現れた場合、正常に表示されるけども、消えていると404ページになるわけ。

もしかして完全にウィジェットがおかしいよね?

ちなみにドロップダウンで表示しなければ、全て正常に表示にされる。

絶対ウィジェットが変になったんだ。

もう原因を探るのも時間の無駄かと思い、プラグインを使うことにした。

Category and Subcategory list widget」という、長い名前のプラグインです。

階層部分がちょっと見にくいけど、これで問題は解決しました。

追記:

残念ながら、上記のプラグインではスマホ画面での操作が全く使えないので、新たなプラグインを導入しました。

WP Categories Widget」。

これもレイアウトに不満があったけど、自分でcssを変更してなんとか落ち着きました。

めでたし。

【WordPress】固定ページのテンプレートを作る

固定ページに新たなテンプレートを作る方法は容易い。(はず😅)

新しくphpファイルを作って、その一番上に

<?php
/*
 Template Name : 新しいテンプレート名
*/
?>

これだけで良い。(はず😢)

でも、私の場合、新たなテンプレートがドロップダウン表示されなかった。

なぜ? (ここから私のWhy? は始まった)

テーマファイルにもちゃんと新たなphpファイルはアップされている。

なんなら、

Template Post Type: post

とも追加してみた。でもダメ。

プラグインが邪魔をしているかと思って、色々停止してみた。

いったん他のテーマに切り替えてから再度テーマを戻したり、キャッシュクリアを試みた。

でも全て徒労に終わった。Why?

そしてついに、次のサイト様から解決の糸口を見つけた❗️

★WordPressでテンプレートを作成して固定ページに適用する

つまり、「page-***.php」というファイルを作れば、「Template Name」の設定は必要ないということ。

ちなみに、「***」の部分には、スラッグ名またはIDを入れればOK。

そうかぁ、Template Nameの設定は要らないのかぁ。

眼から鱗とは、このこと。

結局、「できるはず」のやり方がなぜ効かなかったのか原因は突き止められなかったが、まあこれからはこの方法でいきましょう。