HOME  >  2023/02

translate by google

2023/02

  • テンプレート一覧(1カラム・フレームあり…

    FullSite-Patternerは、ページ全体のテンプレートを豊富なブロックパターンとしてあらかじめ設定しています。

    ページ全体のテンプレートであるブロックパターンは、1カラム、2カラム(サイドバーが左・右)、コンテンツを包むフレームあり・なし、背景画像あり・なし、その他のさまざまなセットを用意しています。
    (たとえば、1column-frame-backimg、2-column-r-noframe-noimg)

    それぞれのセットには、Front-Pageのほか、下記の各テンプレートが含まれます。
    ブロックパターンを挿入する際に、1column-frame-backimg、2-column-r-noframe-noimgなどのセットを選択し、その中からFront-Page、Single、Index、Page、Search、404などを選んで、取り替えることができます。

    front-page

    single-page

    index-page

    page

    search-page

    404-page

  • ページに共通するテンプレートのブロック構…

    また「FullSite-Patterner」では、初期設定のテンプレートセットをはじめ、多数のページ全体のテンプレート、ヘッダーやフッター、その他のパーツのブロックパターンを用意しています。
    テンプレートや、テンプレートパーツをカスタマイズして変更してしまっても、いつでもブロックパターンから元に戻すことが可能です。

  • ページ全体のテンプレート差し替え(ブロッ…

    「FullSitePatterner」の最大の特徴の一つは、ページ全体を差し替えることができるブロックパターンが設定されていることです。

    サイトのさまざまなレイアウト、デザインごとに、ブロックパターンはテンプレートセット(FrontPage、
    Single、Index、Page、Search、404)
    として複数用意されています。

    初期設定では、1カラム・フレームあり・背景画像あり(1column-frame-backimg)がテンプレートセットとなっています。

    ここでは、ページ全体を別のレイアウト、デザインに差し替える操作を説明します。

    上記が初期設定の1カラム・フレームあり・背景画像あり(1column-frame-backimg)を、2カラム・左サイドバー・フレームあり・背景画像なし(FrontPage-2column-L-frame-noimg)に差し替える操作を行います。

    「外観」-「エディター」メニューから、変更するテンプレートを開きます。
    ここでは「フロントページ」です。

    左上の「リスト表示」アイコン(横3本線)をクリックし、リストを表示させるとわかりやすくなります。

    ページ全体が「グループ」ブロックとなっており、表示崩れを避けるために移動禁止のロックがかかっています。
    しかし削除は可能です。

    縦3点のマークをクリックし、ブロックを操作するメニューを表示させると、一番下に「削除」メニューがあります。

    なお、差し替えは、先に削除をしてから、差し替え後のブロックパターンを挿入してもかまいません。

    逆に同じ階層に入れる場合などには、先に挿入してから、差し替え前のブロックを削除する方が間違いが少ないかと思います。

    ここでは、先にページ全体のブロックを削除しました。
    空の段落だけがある状態となっています。

    空の段落にブロックパターンを挿入するため、メイン画面の段落右側の「+」マークをクリックします。

    挿入するブロックパターンは下記画面で検索することもできますが、ブロック、パターンを「すべて表示」するボタンをクリックすると、左側に「ブロック」「パターン」のメニューが表示されます。

    ページ全体のブロックパターンや、テーマ独自のヘッダー、フッター、その他のパーツは、「パターン」の方にあります。

    パターンは「ヘッダー」「ボタン」などのカテゴリーごとに分類されています。

    ページ全体の分類は、レイアウトやデザインごとのテンプレートセットとして、1つのテンプレートセットで1つのカテゴリーとなるように、それぞれ分類してあります。

    2カラム・左サイドバー・フレームあり・背景画像なし(FrontPage-2column-L-frame-noimgを、ドロップダウンメニューで選択します。

    ページ全体のサムネイルが、FrontPage、Single、Indexなどのページごとに表示されます。

    サムネイルの下にページの種類で始まるブロックパターンのラベルが表示されます。
    上の画像は「FrontPage-2column-L-frame-noimg」です。

    選択状態で上の画像のように、青い線で囲まれて表示されます。

    クリックすると、先ほど「+」ボタンで選択した場所に、ブロックパターンが挿入されます。

    エディター画面右上の「保存」ボタンをクリックすると、ページ全体のブロックパターンを挿入し、差し替えられたテンプレートが保存されます。

    サイトを表示させて確認すると、2カラム・左サイドバー・フレームあり・背景画像なし(FrontPage-2column-L-frame-noimg)に変更されました。

    サイト全体を差し替えるためには、同じ作業を、FrontPage、Single、Indexなどのページそれぞれについて行います。

  • ヘッダー・フッターの差し替え・カスタマイ…

    FullSitePatterner」には、ヘッダー、フッター、ボタンやボックスなどのさまざまなブロックパターンが用意されていることです。

    ここでは、ヘッダーをテーマ独自の初期設定(header-navbar)から、WordPressデフォルトナビゲーション(header-WP-navigation:デザインはカスタマイズ済)に差し替える操作を説明します。

    「外観」-「エディター」メニューから、変更するヘッダーのあるページを開きます。
    ここでは「フロントページ」です。

    ページの構造、デザインにもかかわるため、表示崩れなどの間違いが起きないよう、差し替え前と同じ階層に入れる場合には、先に挿入してから、差し替え前のブロックを削除する方が間違いが少ないかと思います。

    ここでは、先に差し替え後のヘッダーを、差し替え前のヘッダーの前に挿入します。
    差し替え前のヘッダーは最終的に削除するため、前でも後でもどちらでもかまいません。

    ブロックを追加すると空の段落が表示され、ここにブロックパターンを挿入するため、段落右側の「+」マークをクリックします。

    挿入するヘッダーは上の画面で検索することもできますが、ブロック、パターンを「すべて表示」するボタンをクリックすると、左側に「ブロック」「パターン」のメニューが表示されます。

    テーマ独自のヘッダー、フッター、その他のパーツは、「パターン」の方にあります。
    パターンは「ヘッダー」「ボタン」などのカテゴリーごとに分類されています。

    ヘッダーのカテゴリーをドロップダウンメニューで選択し、サムネイル表示される差し替え後のヘッダーをクリックすると、先ほど「+」ボタンで選択した場所に、ブロックパターンが挿入されます。

    差し替え前のヘッダーもあるため、ヘッダーが重複しています。

    差し替え前のヘッダーを削除します。
    表示崩れを避けるために移動禁止のロックがかかっていますが、削除は可能です。

    縦3点のマークをクリックし、ブロックを操作するメニューを表示させると、一番下に「削除」メニューがあります。

    差し替え前のヘッダーを削除すると、下記のようにヘッダーの差し替えが完了です。

    エディター画面右上の「保存」ボタンをクリックすると、ページ全体のブロックパターンを挿入し、差し替えられたテンプレートが保存されます。

    サイトを表示させて確認すると、ヘッダーが変更されました。
    下記の画面ではわかりにくいものの、特にスマホ表示のハンバーガーメニューなどが大きく異なります。

  • パンくずリストの設定・使用方法

    プラグイン「FullSite-Patterner」でパンくずリストを表示させるには、次のphpファイルが関係しています。

    shortcode.phpは、パンくずリストを表示させたい各ページの表示個所に、ショートコードのブロックを配置して、phpファイルの読み込みを行うものです。

    breadcrumb.phpは、パンくずリストをシンプルなpタグのみで囲まれたテキストで生成し、出力します。

    shortcode.phpパンくずリストを表示させるためのショートコードの設定
    breadcrumb.phpパンくずリストを表示させるための処理を行う。

    生成されるパンくずリスト

    個別ページ
    トップページのタイトル(URLへのリンク) > カテゴリーページ等のタイトル(URLへのリンク) > 個別ページのタイトル

    カテゴリーページ
    トップページのタイトル(URLへのリンク) > カテゴリーページ等のタイトル

    固定ページ・検索結果ページ・404ページ等
    トップページのタイトル(URLへのリンク) >ページのタイトル

    パンくずリストの表示

    パンくずリストは、各ページの表示させたい箇所に、phpファイル呼び出しのショートコードを挿入する必要があります。
    ブロックパターン(breadcrumb-with-plugin)でも用意しています。

    ページの表示させたい箇所に、ブロックを挿入します。

    空白の段落が挿入され、右側の「+」マークをクリックして、ブロックを選択します。

    左側メニューの「ブロック」から「ショートコード」ブロックを選択し、挿入

    phpプログラム呼び出しコードを記載します。

      [myphp file='breadcrumb']    

    右上の「保存」ボタンをクリックして、ページを更新すればパンくずリストが表示されます。

    または、「ショートコード」ブロックではなく、左側メニューの「パターン」から、ショートコード記載済のブロックパターン(breadcrumb-with-plugin)を選択して挿入すれば、同じ編集結果となります。

  • WordPressブロックテーマの開発

    2022年末から、WordPressのクラシックテーマを、1カラムのテーマ、2カラムのテーマなど制作していました。
    もとはといえば2021年春頃に、それまでMovableTypeでサイト運営に利用していたテンプレートを、WordPressに移植しようと作っていたものです。

    年末年始にはだいたいの形まで出来上がりましたが、ネットや動画サイトでWordPressの勉強をするうちに、ブロックテーマを作成できないだろうかと思い始めました。

    一番わかりやすかったのは、Youtubeの動画、WEBサイトチャンネルが配信する「WordPressブロックテーマ公式通りに作ってみた!&カンタン解説!」でした。
    ただ、この動画は、2022年春頃のもので、WordPressのバージョンが5.8の時のものであり、現在は6.1.1。

    実際、動画で参考にされていたWordPress公式サイトの解説も少し古くなっていて、しかも詳しく知りたいところまでは書いてなく、参考資料が不十分なものでした。

    ブロックテーマ制作に関する情報はあまりに少なく、一部海外の情報もgoogle chromeの翻訳で読みましたが、やはり不十分なものでした。

    それでも、最初は操作に慣れず苦労したとはいえ、ブロックテーマの操作には触ってみて感覚的に覚えるといった面があったため、試しに作ってみることにしました。

    ほかに参考にした情報は下記の通りです。

    ブロックテーマ WordPress公式サイト
    フルサイト編集に対応したブロックテーマを作ってみる オレインデザイン
    WordPress のフルサイト編集で使えるブロックテーマを作ってみた データベースに接続できません
    WordPressサイトエディター対応のブロックテーマ開発(基本編) Kiwi blog
    WordPressブロックテーマを作ってみた Koro-Koro.com

    というより、正直まともな情報はこのくらいしかありませんでした。

    参考書籍

    2月初旬になって、エビスコムさんの書籍「作って学ぶ WordPress ブロックテーマ」が発売になりました。

    これにより、ビジュアルエディターやコードエディターで編集したはずのテーマが古いバージョンに戻ってしまう、FTPでバックアップしたつもりのファイルが実は古いままのもので、上書きしてしまい、また作り直し、といった失敗の原因もだいぶわかりました。

    後で注意点でも述べますが、WordPressは情報が多いといいながら、公式の情報が不十分、特にβ版のブロックテーマに関してはバグかもしれないものもあり、デフォルトのcssなどブラックボックス的なところもあります。

    1か月近くもかけて大体のところが完成したブロックテーマ開発の備忘録として、残しておいた方がよいと考えていたため、リアルタイムではないものの、作業の経過をメモにしておきます。

    ただし最初のころの作業はひたすらブロックの操作を覚えながらいじっては壊していたようなもので、細部までは覚えていません。

    意外にもフロントページが1日でできる

    前述の動画「WordPressブロックテーマ公式通りに作ってみた!&カンタン解説!」を深夜に布団の中で見た翌日、さっそく、これまでに制作したテーマをブロックテーマで作ることをやってみました。

    動画を見ながら、しかし動画で参照しているWordPress公式サイトの内容が少々違うので、ネットで調べながら、それでもわからずに無闇にいじりながら無謀な作成をしました。

    今でも原因がわからないのですが、一番最初の作業である、WordPress のテーマとして認識させるためのフォルダ構造、index.php と style.cssの作成と、スタイルシートへのテーマヘッダの記入の部分で、恐ろしく手間取りました。

    また、theme.jsonというものはよくわからず、情報も少なく、それでもほとんど空白でも作業は進められました。

    htmlに関しては手打ちもでき、20年近くも使い続けているMovableTypeのタグや、最近ではWordPressのphpも勉強してわかってきていましたが、ブロックテーマの独特のタグは、いまでもなじめません。

    何度も何度もやり直すうちに、動画を見た翌日に、フロントページが出来上がりました。

    レスポンシブとナビゲーション、デザイン上の不満

    さて、せっかくここまで1日で進めながら、いったんブロックテーマは放置し、クラシックテーマの制作に戻ってしまいました。

    レスポンシブデザインが、PCとモバイルの2段階であったこと、そしてナビゲーションのハンバーガーメニューがデザイン的に貧弱であったためです。

    デザイン上の制約があり、スタイルの適用もブラックボックスで、テーマ独自のcssをいじっても思い通りにならないことも多くありました。

    クラシックテーマでは、MovableTypeのテンプレートで使用していたデザインをほぼ再現でき、PC、タブレット、スマホの3段階のスムーズなレスポンシブデザインで、bootstrapのcssから必要な部分だけを抜き出して使っていました。

    ところが作成したブロックテーマでのレスポンシブでは、タブレットサイズ程度に画面を狭めると、かなり見づらくなってしまい、スマホサイズでの表示との落差が大きくなってしまいます。

    bootstrapのcssを適用すれば、クラシックテーマではスムーズな3段階になるのに、ブロックテーマではさまざま試みてもいっこうにできませんでした。

    また、ハンバーガーメニューについては、WordPressデフォルトのナビゲーションでは、バリエーションも少なく、開くときのボタンの位置と、閉じるときの×の位置ともずれて表示されました。

    対処法はあるのかもしれませんが、わかるはずもありませんでした。

    デフォルトのスタイルを一部排除することで、3段階のレスポンシブを実現(※後日追記・スタイルの一部排除の方法は却下)

    それでもあきらめられず、1月前半から中旬にかけて、再度ブロックテーマの制作に取り掛かりました。

    ブロックテーマでは、そのページに適用されるcssのスタイルが、htmlのヘッドに抜き書きのように列挙されて記載されています。
    そのどれかがbootstrapのcssより優先されているとあたりをつけ、さらにWordPressのデフォルトのcssがどこにあるのか、相当に探しました。

    ナビゲーションについてはだいたい分かったものの、レスポンシブは2段階になっている程度のことしわかりませんでした。

    ここでかなり原始的な方法になりますが、ページに適用されているデフォルトのスタイルを、1つ1つはずしたら、どれが影響しているのかわかると思い、調べました。

    クラシックテーマでは、WordPressが勝手に吐き出すデフォルトのスタイルは排除し、すっきりするhtmlソースにするようにしていました。

    MovableTypeでは、自分の意図しないcssが適用されることはなく、すべて管理画面で自分で管理でき、ブラックボックスがありません。

    とにかく、レスポンシブとナビゲーションを解決しないと、自分の中ではブロックテーマは使えないという気持ちで、次の作業を行いました。

    ・デフォルトのcssを排除する方法をネットで調べ、functions.phpに記載して排除する。
    ・そのうえで、排除したcssをテーマ独自のcssに移し、1行ずつ、削除しては表示を確かめ、どれが影響しているのかを特定する。

    ブロックテーマの場合には、誰でもデザインをカスタマイズできるようにしている利点もあるため、デフォルトの仕様を排除するのではなく、残せるだけ残す方法に変えました。

    その結果、bootstrapの3段階のレスポンシブを妨げているのは、たった1行だけと分かりました。
    functions.phpで、下記のようにglobal-stylesをいったん排除。

    
    /* global-stylesのインラインCSS出力を排除する */
    add_action('wp_enqueue_scripts', 'remove_global_styles');
    function remove_global_styles() {
    wp_dequeue_style('global-styles');
    }

    実際に障害となっていたのは、global-styles-inline-cssの中の、

    body .is-layout-flex{display: flex;}

    の1行だけ。
    そこでこの1行を除くglobal-styles-inline-cssを、テーマ独自のcssに記述し、残しました。

    ただしもう1点、レイアウトを崩す原因として、下記のcssも排除しました。

    /* wp-block-columns-inline-cssのインラインCSS出力を排除する */
    function prefix_remove_core_block_styles() {
    	wp_dequeue_style( 'wp-block-columns' );
    	wp_dequeue_style( 'wp-block-column' );
    }
    add_action( 'wp_enqueue_scripts', 'prefix_remove_core_block_styles' );

    実際に排除したスタイルが不明にならないように、テーマ独自のcssの中のコメントアウト内に、排除した10行ほどのスタイルをコメントとして記述してあります。

    いずれもブロックのレイアウトに関するスタイルです。

    (2023/2/21後日追記)

    レスポンシブとナビゲーションのhtmlソースを改善すれば、WordPressデフォルトのスタイルを排除する必要はないのではないかと思い立ち、実行したところ即日、問題解消。

    具体的にはレスポンシブについては、「カラム」ブロックで作成していたため、自動的にis-layout-flexのclassが付与されていたことが原因と思い立ち、「グループ」ブロックで作り直したところ、あっさり解決。

    ナビゲーションについては、テーマエディターで指定していた背景色と文字色が、本来はPCとスマホで白黒逆なのに、どちらにも同じ配色が適用され、スマホでメニューが読めなくなるため、テーマエディターでの色彩指定をリセット。
    cssの指定を少し追加し、問題解消。

    その結果、WordPressデフォルトのスタイルはすべてそのまま適用しても表示に問題が生じなくなり、テーマとしては汎用性が高まることとなりました。

    完成した3段階レスポンシブデザイン

    ハンバーガーメニューのデザインに取り掛かる

    そのあと、ナビゲーション部分のハンバーガーメニューの改善にとりかかりました。

    最初に行った方法は、スマホメニューの「開く」「閉じる」ボタンが、それぞれ

    button.wp-block-navigation__responsive-container-open
    button.wp-block-navigation__responsive-container-close
    でスタイルを定義され、svg画像で表示されていることがわかりました。

    この背景に色を付け、角のまるみを付けて円形のマークが背景に来るようにし、位置調整をして「開く」「閉じる」ボタンが同じ位置にくるようにしました。

    100%満足とは言えないものの、一応は納得できるものが1月中旬にはできていたのですが、今見ると表示位置がずれてしまっています。

    その後半月の間にいじったスタイルの何かの影響でしょう。

    さらに1月中旬以降に、ナビゲーションはやはりbootstrapのnavbarを使ってできないかと考え、再チャレンジすることにしました。

    bootstrapのcssを使ったナビゲーションとハンバーガーメニューは、一例としては下記のようなhtmlソースで、ちょっと複雑です。

    <div class="is-layout-constrained wp-block-group navbar navbar-default navbar-static-top navbar-fixed-top">
    <div class="is-layout-constrained wp-block-group clearfix header-container">
    <div class="is-layout-constrained wp-block-group navbar-header">
    <div class="is-layout-constrained wp-block-group pull-left site-logo">
    <div class="wp-block-site-logo"><a href="https://*****" class="custom-logo-link" rel="home"><img loading="lazy" width="320" height="58" src="https://*****.png" class="custom-logo" alt="ForestCafe-block" decoding="async"/></a>
    </div>
    </div>
    
    <button type="button" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar" class="navbar-toggle collapsed"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
    </div>
    
    <div id="navbar" class="is-layout-constrained wp-block-group navbar-right navbar-collapse collapse menu-global has-white-color has-black-background-color has-text-color has-background">
    
    <ul class="nav navbar-nav menu-global-main has-white-color has-black-background-color has-text-color has-background has-large-font-size">
    <li><a href="https://*****/">■HOME■</a> </li>
    <li><a href="https://*****/">■HOME■</a> </li>
    <li><a href="https://*****/">■HOME■</a> </li>
    <li><a href="https://*****/">■HOME■</a> </li>
    </ul>
    </div>
    </div>
    </div>
    </div>

    面白いもので、一日中さんざんやってできなかったのに、翌日にすんなりできるということが何度もありました。
    朝から悪戦苦闘した結果、夕方には急にできるということもありました。

    bootstrapを使ったソースコードを見ると、ハンバーガーメニューの部分は、ulとliが主体であることがわかります。
    PC用のナビゲーションはできていたので、これをどう実現するか、なぜ実現できないのかを、cssのclassを中心に調べました。

    最初は固定観念として、ヘッダー部分のナビゲーションは、ブロックテーマの「ナビゲーション」ブロックを使うものだと思っていましたが、サイトロゴは普通の画像にし、ナビゲーションは「リスト」にすることで解決しました。

    bootstrapを使ったhtmlコードでは、何重もの入れ子の中に、それぞれのdivにclassが割り当てられているため、ブロックテーマの「グループ」ブロックを入れ子にしました。

    エディターで「グループ」であるdivを選択すると、サイトエディターの右下に、「高度な設定」とあり、クリックすると追加でcssのclassを割り当てられるため、元のhtmlソースをもとにclassを割り当てていきました。

    悪戦苦闘した結果、詳細な経過は忘れましたが、ブロックテーマ独自のスタイルのclassも割り当てられていたため苦労したものの、bootstrapのスタイルを適用したハンバーガーメニューが完成しました。
    夜中までやってできなかったのに、翌日やったら割とすぐにできたという感じです。

    なお、ハンバーガーメニューを開いたときに、左上に出る矢印は、ページのトップに戻るためのボタンです。

    PC表示では右下に固定表示されます。

    これについてもかなり苦労しましたが、テーマ独自のscriptはfunctions.phpで読み込む処理を書くのが原則。

    しかしそれをやっても読み込みはされるものの、スマホでは動作せず、原因がわかりませんでした。
    ようやく、footer部分に入れれば動くことを確認したものの、functions.phpにその読み込み処理を書いても動作せず、やむなくテーマエディターで、「カスタムHTML」を選択して直接scriptの読み込みタグを書き、動作するようになりました。
    (その後解決、functions.phpでの読み込み処理だけで動作するようになったが、結局原因はわからず)

    ただ、ハンバーガーメニューを閉じているときに適切な位置に表示することができていないため、開いたときに表示される形になっています。
    この点はまだちょっとわからないものの、ページトップに戻るボタンは重要性が高くなく、スマホではかえって誤操作のもとになる邪魔なものと考える人もいるため、一応これでOKとしています。

    (※2023/2/21追記)

    ページトップに戻るのボタンは、ナビゲーションメニュー内にテキスト「▲」で設定。

    動作させるためのJavaScriptはタグをhead内に出力させるためのfunctions.php内の記載に誤りがあったことと判明し、問題解消しました。

    具体的には、読み込むJavaScriptのバージョン指定をしていなかったため、勝手にWordPressのバージョンである6.1.1がJavaScriptのバージョンとして勝手に付与されてしまったことと、2つあるJavaScriptの読み込みの順番が悪かったことのせいで、順番を1行逆にして問題解消しました。

    本格的なブロックテーマ制作へ

    ブロックテーマの制作を進めるかどうかは、3段階レスポンシブと、ナビゲーションにかかっていたため、両者が解決したことで、本格的にブロックテーマの開発を進めることになりました。

    1月後半には、単一記事ページ、アーカイブ記事ページ、固定ページ、404ページ、検索ページの作成を進めていきました。

    しかし困ったのは、テーマエディターでデザインを更新したにもかかわらず、翌日にいじると古いバージョンに戻ってしまい、また作り直す羽目になることが何度も起きたことです。

    これはブロックテーマを制作するときのかなりの注意点です。

    結論をいってしまえば、テーマエディターで、ビジュアルエディターであってもコードエディターであっても、テンプレートを更新しただけでは、実際のテンプレートファイルは更新されていないことです。

    ではなぜデザインが更新されるかといえば、記事の内容などと同様に、データベースに保存されているのです。

    したがって、毎日FTPでテーマをダウンロードして保存していましたが、それが最新のバージョンでなかったということになります。

    テーマエディターで更新した内容を、テーマのテンプレートそのものに反映させるには、zip形式でエクスポートする方法もありますが、私の環境かサーバーの環境か、エクスポートしたzipファイルは無効というメッセージが出て開けません。

    やむなく、「ツール」-「テーマファイルエディター」のメニューから、テーマエディターで編集したコードを、コピー&ペーストして更新し、これで最新のテンプレートを残すようにしていました。

    しかし、より簡単な方法があります。

    「Create Block Theme」プラグインをインストールし、「(テーマ名)に上書きする」をチェックして「生成」ボタンを押せば、最新のテーマ編集内容が実際のテンプレートなどに反映されます。

    このプラグインでも私の環境ではなぜかエクスポートがうまくできませんが、最新の編集内容があっという間に保存できるため、何度も壊れてはやり直しということがなくなりました。

    それ以外にも要注意な点があります。

    テンプレートパーツを作成した後で、他のページでテンプレートパーツを使いまわし、その内容をページに合わせ編集するときは、パーツを「テンプレートから切り離す」手順を踏むことが必要です。

    これをしないで編集すると、他のページで使っている同じテンプレートパーツにも変更が反映されてしまいます。

    こうした注意点がわかって、作業が効率的になったのは、エビスコムさんの書籍「作って学ぶ WordPress ブロックテーマ」を入手し、テーマのデザインの大半が完成した2月初旬のことでした。

    本日時点のブロックテーマのデザイン

    現在~今後の開発方針

    今回のブロックテーマのコンセプトとしては、下記のようなものを目指しています。

    1つのテーマで1カラム、2カラム、全幅のページ、背景画像あり&なしなど、数多くのデザインのサイトをあっという間に配置でき、差し替えができるテーマ

    設置方法&使用方法の説明があるサイトのデータをインポートすれば、すぐにサンプルサイトが完成するテーマ

    自動的にメタタグ、canonicalが入るが、自分で入力した場合にはそちらが反映され、構造化データ、パンくずリストなどの機能も自動的に適切に入るため、記事のライティングに専念できるテーマ

    これらのデザイン、機能も1月後半から2月までに多くができ、今後はデザインバリエーションを増やすこととしています。

    テーマ独自のカラーパレットの設定も行いました。

    同時に、公式テーマに認定されるためのテーマチェックを、プラグイン「Theme Ckeck」で行い、1つ1つ解決し、プラグインでのテストには合格したところです。

    なおクラシックテーマ(1カラム、2カラム)についても、もう少しでテストに合格しますが、functions.phpを分割してプラグインに分ければいいだけです。

    昨日は、メタタグ&canonical&構造化データの機能を、funtions.phpから分割してプラグインにし、動作させるところまでを完了しました。

    今後はブロックパターンを利用することにより簡単にデザイン変更ができるバリエーションの制作と、プラグイン化を行う予定です。

    サポートサイトの制作、テーマの国際化なども今後の課題です。

    追加のテストもクリア

    2月20日には、追加で下記のテストを行いました。

    テストデータでの表示テスト

    画像、埋め込み動画、コメント投稿、各国語テキストなど、様々な条件でのテーマの表示、動作を検証する、WordPress推奨のテストデータをインポートして、テストを行いました。

    WordPress6.2ベータ版での表示テスト

    3月末にもリリースされるWorpPress6.2ベータ版での表示テストも行いました。

    いずれのテストもクリアできています。

    最新(2023年2月21日)の機能追加

    メタタグやパンくずリスト、canonical、構造化データなどを自動or手動挿入できるプラグインを、テーマインストール時に同時にインストールするよう促すphpを同梱。

    ・css、functions.php、プラグイン等のソースのコメントの英訳版を制作。

    ・Front-page12パターンのテンプレートパーツを制作。
    ・index、single、page、search、404なども同様に制作予定。

    ・header、footer、loop、メニュー、ピックアップコンテンツ、その他のパーツも制作。

    ・テンプレートパーツはさらに、テーマ独自ブロックとしても設定。

    ・「外観」-「ウィジェット」メニューから、ユーザーがオリジナルでブロックを登録できる機能を追加。

    今後の開発予定

    ・サポートサイト(日本語サイト、英語サイト)の制作中。

    ・readmeテキスト

    ・テーマ独自のテンプレートパーツ、ブロックパターンの追加。

    ダウンロードサイト(無料テーマ、有料テーマ、無料プラグイン、有料プラグイン)の制作。

    ・メールフォームの作成・設定

    (※当面ここまででWordPress6.2対応として公式サイトテーマ申請予定)

    ・Theme-jsonでスタイルの整理。

    ・テーマ独自のブロックパターンの汎用化(プラグインで他のテーマで利用できるもの)※検討中

  • カスタム・ブロックパターンの登録(外観-…

    FullSIte-Ptterner」では、プラグインを使わなくても、ユーザーが独自のブロックパターンを登録することができます。

    ただし無料テーマ、有料テーマそれぞれに登録可能数が設定されます。

    ブロックパターンの登録は、「外観」-「ウィジェット」メニューで行います。

    「Myブロックパターン」カテゴリーに登録されるユーザー独自のパターンは、タイトルとコードの2つをワンセットで登録します。

    登録画面の「+」ボタンをクリックし、ブロックを挿入して独自パターンを作ります。

    下図のように、「カスタムHTML」ブロックを選択して、すべてをhtmlタグのコードで記載して登録することもできます。

    下図のように、見出し、画像、段落、表、投稿タイトル、最新の投稿、最新のコメント、その他のブロックを挿入することも可能です。

    ユーザー独自のタイトル、ユーザー独自のパターンを登録するごとに、画面右上の「更新」ボタンをクリックし、保存します。

    登録したユーザー独自のパターンは、ウィジェットのデータとして、サーバーのデータベースに保存されます。

    登録した独自パターンを使用するときは、ブロックパターンの挿入で、左側メニューの「パターン」の中にある「Myブロックパターン」カテゴリーに表示され、選択することができます。

  • メタタグ(meta tag)の仕様・使用…

    メタタグは、ページの概要(description)キーワード(keyword)などを主として検索エンジンに伝えるデータです。

    プラグイン「FullSItePatterner-seo」インストールし、有効化するだけで、ほかに設定することなく自動的に挿入されるようになります。

    メタタグを生成し挿入するプログラムは、下記のphpファイルです。

    head-tag.phpページの種類を判定して、下記の内のどのファイルを読み込むか判定
    meta-tag-frontpage.php、head-tag-single-php、
    meta-tag-category.php、head-tag-page.php
    head-tag-frontpage.phpトップページ用。meta description、meta keyword、meta canonical。

    meta descriptionは「設定」-「一般」で指定した下記内容を自動挿入。
    「サイトのキャッチフレーズ」-「サイト名」
    meta keywordは「サイト名」を自動挿入。
    head-tag-single-php個別ページ用。meta description、meta keyword、meta canonical。

    meta descriptionは、記事投稿画面で概要を入力した場合には、その内容を挿入。
    入力しないときは「設定」-「一般」で指定した下記内容を自動挿入。
    「記事タイトル」-「サイト名」
    meta keywordは「記事タイトル, サイト名」を自動挿入。
    head-tag-category.phpカテゴリーページ用。meta description、meta keyword、meta canonical。

    meta descriptionは、「カテゴリー名」-「サイト名」を自動挿入。
    meta key wordは「カテゴリー名, サイト名」を自動挿入。
    head-tag-page.php固定ページ用。meta description、meta keyword、meta canonical。

    meta descriptionは、「ページタイトル」-「サイト名」を自動挿入。
    meta keywordは「ページタイトル, サイト名」を自動挿入。

    重要な個別記事には入力できるようにする一方、記事の執筆に専念し、サイト運営を効率化できるよう、自動挿入に重点を置いています。

    なお、テーマファイルエディターで直接、上記の各phpファイルを編集すれば、meta description、meta keywordとして出力される内容を設定することが可能です。

    「FullSite-Patterner」で出力されたメタタグ

    メタタグのデータが不要な場合

    メタタグの機能が不要な場合には、プラグイン「FullSItePatterner-seo」の一部機能を停止することができます。

    ただし「ツール」-「プラグインファイルエディター」メニューから、プラグインフォルダ「fullsite-patterner-seo」フォルダ内の、下記のphpファイルを修正する必要があります。

    fullsite-patterer-seo.phpフォルダ内の下記ファイルを呼び出す設定ファイル
    shortcode.php、canonical.php、head-tag.php
    schema-org.php、ogp.php
    不要な機能は、phpファイルの読み込みをしないよう、
    「ツール」-「プラグインファイルエディター」でこのファイルを開き、
    行頭にスラッシュ2つ(//)を加える

    phpファイルの下記の行の行頭に、スラッシュ2つ(//)を加えます。

    //	require_once FORESTCAFE_PATH . 'head-tag.php';
  • canonicalの仕様・使用方法

    meta canonicalは、主として検索エンジンに、ページのURL、特に重複ページのおそれがある場合に優先して評価してもらうべきページのURLを、ページのhead内に記述し、所定の形式で取得させ、伝えるためのデータです。

    canonicalデータを生成し挿入するプログラムは、下記のphpファイルです。

    canonical.php記事投稿画面にカスタムフィールドcaconicalを表示、入力内容を保存。

    挿入されるcanonicalデータ

    ページのhead内に挿入されるcanonicalデータは、meta canonicalで始まる1行です。

    特に重複ページとなりやすいページは、個別記事ページと、カテゴリーページとの間で、同一・類似記事がある場合です。

    そこで「fullSite-Patterner」では、個別記事の投稿画面に、カスタムフィールド「canonical」を表示させ、入力できるフォームを用意しています。

    必要があるときだけ表示されればよいため、通常は意識する必要はありません。

    Front-pagemeta canonicalはトップページURLを自動挿入。
    Single-pagemeta canonicalは、記事投稿画面のカスタムフィールドに入力した場合には、
    そのURL
    を挿入。
    入力しない場合には、個別ページURLを自動挿入
    Category-pagemeta canonicalはカテゴリーページURLを自動挿入。
    Pagemeta canonicalは固定ページURLを自動挿入。

    個別記事ページとカテゴリーページとのどちらを優先するかは、コンテンツの内容や、検索キーワード、コンテンツの充実度などを参考に決めましょう。

    canonicalデータが不要な場合

    canonicalデータが不要な場合には、プラグイン「FullSItePatterner-seo」の一部機能を停止することができます。

    ただし「ツール」-「プラグインファイルエディター」メニューから、プラグインフォルダ「fullsite-patterner-seo」フォルダ内の、下記のphpファイルを修正する必要があります。

    fullsite-patterer-seo.phpフォルダ内の下記ファイルを呼び出す設定ファイル
    shortcode.php、canonical.php、head-tag.php
    schema-org.php、ogp.php
    不要な機能は、phpファイルの読み込みをしないよう、
    「ツール」-「プラグインファイルエディター」でこのファイルを開き、
    行頭にスラッシュ2つ(//)を加える

    phpファイルの下記の行の行頭に、スラッシュ2つ(//)を加えます。

    //	require_once FORESTCAFE_PATH . 'canonical.php';
  • 構造化データ(schema.org)の仕…

    構造化データは、主として検索エンジンなどに、ページの情報や、ページ内のデータの意味合いを、所定の形式で取得させ、伝えるためのデータです。

    プラグイン「FullSItePatterner-seo」インストールし、有効化するだけで、特別な設定することなく自動的に挿入されるようになります。

    構造化データを生成し挿入するプログラムは、下記のphpファイルです。

    schema-org.phphead内に、schema.orgに準拠した構造化データを自動挿入。

    パンくずリストの構造化データは、下記ページに挿入。
    フロントページ、単一記事ページ、アーカイブページ、固定ページに挿入。

    Q&Aの構造化データカテゴリー(slug)を「qanda」にすると自動挿入。
    タイトルが「Q」、記事内容が「A」として設定済。

    組織の構造化データは、トップページにユーザー情報を自動挿入。

    著者の構造化データは、単一記事ページにユーザー情報を自動挿入。

    FullSite-Patterner-seo」で挿入される構造化データの一例は、下記のようなデータです。

    パンくずリストの構造化データ

    FullSItePatterner-seo」によるパンくずリストの構造化データです。

    組織の構造化データ

    FullSItePatterner-seo」による組織の構造化データです。

    著者の構造化データ

    FullSItePatterner-seo」による著者の構造化データです。

    構造化データが不要な場合

    構造化データが不要な場合には、プラグイン「FullSItePatterner-seo」の一部機能を停止することができます。

    ただし「ツール」-「プラグインファイルエディター」メニューから、プラグインフォルダ「fullsite-patterner-seo」フォルダ内の、下記のphpファイルを修正する必要があります。

    fullsite-patterer-seo.phpフォルダ内の下記ファイルを呼び出す設定ファイル
    shortcode.php、canonical.php、head-tag.php
    schema-org.php、ogp.php
    不要な機能は、phpファイルの読み込みをしないよう、
    「ツール」-「プラグインファイルエディター」でこのファイルを開き、
    行頭にスラッシュ2つ(//)を加える

    phpファイルの下記の行の行頭に、スラッシュ2つ(//)を加えます。

    //	require_once FORESTCAFE_PATH . 'schema-org.php';
  • OGPデータの仕様・使用方法

    OGPデータは、SNSなどに記事を紹介するときに、サイト名や記事タイトル、サムネイル画像などが自動的に取得され、表示されるようにするためのデータです。

    プラグイン「FullSItePatterner-seo」インストールし、有効化するだけで、ほかに設定することなく自動的に挿入されます。

    ODGデータを生成し挿入するプログラムは、下記のphpファイルです。

    ogp.phpSNSなどに表示されるOGPデータを表示。
    トップページ、個別記事ページのhead内に自動挿入。

    OGPデータは、ページのhead内に、次のようなコードで挿入されています。

    OGPデータが不要な場合

    OGPデータが不要な場合には、プラグイン「FullSItePatterner-seo」の一部機能を停止することができます。

    ただし「ツール」-「プラグインファイルエディター」メニューから、プラグインフォルダ「fullsite-patterner-seo」フォルダ内の、下記のphpファイルを修正する必要があります。

    fullsite-patterer-seo.phpフォルダ内の下記ファイルを呼び出す設定ファイル
    shortcode.php、canonical.php、head-tag.php
    schema-org.php、ogp.php

    不要な機能は、phpファイルの読み込みをしないよう、
    「ツール」-「プラグインファイルエディター」でこのファイルを開き、
    行頭にスラッシュ2つ(//)を加える

    phpファイル(fullsite-patterner-seo.php)の下記の行の行頭に、スラッシュ2つ(//)を加えます。

    //	require_once FORESTCAFE_PATH . 'ogp.php';
  • Q&A

    ダウンロード

    ダウンロード販売の決済方法

    特定商取引法

    インストール

    無料版(forestcafe-basic)と有料版(forestcafe-block)との違い

    アップグレード方法

    ブロックテーマのカスタマイズ・一般的な要注意事項

    テーマのカスタマイズ

    プラグインの機能制限

    ブロックパターンの種類

    今後の開発予定