タグ: 子テーマ

  • [WordPress] 親テーマを変更せずテーマをカスタマイズ – 子テーマを作り変更したを加える – 手始めは、content.phpの編集

    [WordPress] 親テーマを変更せずテーマをカスタマイズ – 子テーマを作り変更したを加える – 手始めは、content.phpの編集

    親テーマと子テーマ

    いつまで続くか分からない当サイトの構築ですが、プラグインやphpファイルの変更など、他のblogerさんの記事を参考にさせてもらっていいます。

    今回は、WordPressテーマ: Twenty Twentyを親テーマとして子テーマを作りました。

    テーマの編集

    作った子テーマが有効になっていれば、「テーマの編集」画面の右上にある「編集するテーマを選択」にその子テーマのリストが出てきます。図1のように、twentytwenty_child (この名前は、実質的にフォルダ名)があるので、このテーマが有効化していれば、表示されます。以下、図1の説明です。

    style.cssの編集

    表示の体裁を変更する場合は、style.cssのコードの変更、コードの追加が必要です。以下のコードは、当サイトの目次の体裁を定義したものです。

    /** 見出し
    */
    /* h2
    #contentを付けると左端に表示されるのが、幅に従った左端に改善できる
    */
    
    h1,
    .heading-size-1 {
    	font-size: 3.2rem;
    /*	font-weight: 800;
    	line-height: 1.138888889;
    */
    }
    
    h2 {
    	font-weight:600;
    	font-size:3.0rem;
    	color: #fff;
      background: #2a49a8;
      padding: 15px 30px;
    }
    h3 {
    	font-weight:500;
    	font-size:2.8rem;
    	/* 見出しの飾り */
      padding: 0.25em 0.5em;
      color: #2a49a8;
      background: transparent;
      border-left: solid 50px #2a49a8;
    }
    h4 {
    	font-weight:500;
    	font-size:2.6rem;
    /* 見出しの飾り */
    	border-bottom: solid 3px black;
    	
    }
    h5 {
    	font-weight:500;
    	font-size:2.4rem;
    /* 見出しの飾り */
    	/* border-bottom: solid 3px black; */
    	
    }
    
    h6 {
    	font-weight:500;
    	font-size:2.2rem;
    /* 見出しの飾り */
    	/* border-bottom: solid 3px black; */
    	
    }
    

    content.phpの編集

    表示の構造自体を変更する場合は、content.phpのコードの変更、コードの追加が必要です。

    content.phpが、WordPressにおける投稿や固定ページの表示を行っているメインのphpプログラムです。図1の例では、content(org).phpやcontent([番号])が、確認できると思います。

    これは、プログラミングに際し、僕が格闘した結果の残骸です。捨てられずに残しています。content(org).phpは、オリジナルファイルです。元に戻す場合は、このファイルをcontent.phpに名前を変更したして置き替えます。

    基本的に、子テーマでのこれらの修正は、親テーマの上書きになっているようです。

    ファイルの複製や名前の変更は、WordPressからはできません。端末ソフトを使ってサーバーに入り、コマンドにより名前を変更したり、複製したりする必要があります。

    当サイトでは、自宅のSynology NASにWordPressを導入しているので、Synology NASにログインして、DiskStation Managerのもとで、名前の変更、複製をします。その後、WordPressにログインして、「テーマの編集」画面に入れり、該当するするphpファイルのプログラムの内容を修正・追加していきます。

    修正した後は、左下にある更新ボタンで修正内容を保存します。その結果は、直ぐにblogに反映されるので、サイトをSafariやChromeで表示して確認します。

    このcontent.phpでのコードのミスは、即座に表示を崩していまうことを意味しますが、以下に記述したように元のコードに戻したり、追加したコードを削除して元に戻せば表示も元に戻ります。

    画面が崩しれたりした場合、「テーマの編集」画面から、Ctrl + zにより元に戻して、更新ボタンを押せば、元に戻ります。

    WP テーマ編集
    図1. content.phpの編集
    content.phpの編集と言っても、使用しているThemeごとに異なります。当サイトでは、WorpPress version 5以降で公式テーマになっているTwenty Twentyを使っています。標準のcontent.phpでは、表示のが味気ないので、coverタイプ (content-cover.php)をcontent.phpに置き換えています。同じTwenty Twentyのcontentではが、コードを確認してみるとだいぶ作りが異なっていました。

    functions.phpの編集

    オートセーブとリビジョン機能

    親テーマでは、標準で有効となっている編集時のオートセーブ機能とリビジョン機能ですが、子テーマの「functions.php」にコードを追加することで、無効化することが可能です。以下のリンクをご参照ください。

    macoblogさんより

    https://macoblog.com/wp-writing-autosave/

    まとめ

    親テーマと子テーマの関係性が、まだよくわかっていません。

    • 親テーマと子テーマは、themeフォルダに別フォルダで保管される。
      • 今回の場合、元からあった親テーマである「twentytwenty」と今回作ったフォルダとしての子テーマ「twentytwenty_child」を作りました
    • 編集するfunctions.phpやhead.phpなどのファイルを、親テーマからコピペしておく。
      • 同じ定義のものは、親テーマで定義されるので、小テーマでは削除します。ほとんどが削除されたになります。
    • 親テーマと子テーマの関わりをfunctions.phpに記載とておく。
      • 小テーマが使われるように定義 : 参照
    • 子テーマにない定義、値など
      • 親テーマの定義、値などを小テーマが引き継ぐ
    編集情報
    ID 7726
    2020/01/21 Mr.はりきり
    2020/07/23 追記(concent.phpの編集)

    以上