2019年10月20日
  • Just another WordPress site

WordPress標準デザイン講座(初版)について

WordPress標準デザイン講座は5.xに対応した第2版が出版されたが、内容は初版の方がレベルが高い。

翔泳社から出版されているWordPress標準デザイン講座は、4.x対応の初版本に続いて今年6月5.xに対応した第2版が出版されたが、内容は第2版のまえがきにもあるように初版本の方が高度。中級者になり、自ら公式サイトのマニュアルを調べて高度なテーマの構築やプラグインの開発、本格的なサイトの構築ができるようになる直前の段階まで、引き上げてくれる。

第2版の特長は、記述のようにブロック・エディターの一種であるGutenbergの説明が付け加えられたことだが、初版の特長だったカスタム投稿タイプの詳細な説明がバッサリ、削除されている。また、WordPress高機能化の要(かなめ)とも言えるfunctions.phpについては、初版の方が詳しい。

これからWordPressを本格的に学ぼうとされる方は、初版→第2版と読み進める方が良いと思う。WordPressの使い方を一通りご存知の方なら、初版を読むことをお薦めしたい。サイト管理者はUbuntu Server 18.04LTSとNginx上で、WordPress5.xでも初版のプログラムは動作することを確認した。

初版で気の付いたことについては、後ほど投稿したい。

第一は、「ブログ」というタイトルだけの固定ページを作成し、この固定ページをメニューのひとつの項目にすること。当然、このメニューをクリックするだけでは、空の固定ページしか表示されない。初版本をいろいろ調べてみたが、調べ方が悪いのか、よく分からない。

そこで、Google先生に聞くと、WP_Qeury関数を使えと書いてありました。そして、この固定ページに適用するカスタム・テンプレートを作成する方法ががありました。今回はテンプレート名をpage-blog.phpとします。このテンプレートファイルの冒頭に次のくだりを置きます。

<?php
/* Template Name: ブログページテンプレート_NM */
?>

そうすると、固定ページの記事設定欄の「適用すべきテンプレート」に「ブログページテンプレート_NM」が出てきますので、それを選択すれば、タイトルだけ作成した固定ページにこのテンプレートが使用されます。これが、初版の第5章レッスン16の168頁に記載されている「カスタムテンプレート」です。固定記事に表示に際して、カスタムテンプレートが最優先される仕組みになっています。

次に、そこで、page.phpのソースコードを改良します。まず、WP_Query関数を使って、すべての投稿記事を検索し、タイトルと抜粋のみを10投稿記事だけ表示するコードを書きます。<? endwhile; ?>のあとにはページネーション関数を書いておけば良いでしょう。下記がブログ記事一覧を表示するための主なコードです。

<!– ▼ブログ記事一覧 : 開始 –>
<?php
    $args = array(
                    ‘post_type’ => ‘post’,
                    ‘posts_per_page’ => 10
   );
   $st_query = new WP_Query( $args );
?>
<?php if ( $st_query->have_posts() ) : //もし、記事が1件以上あったら ?>
   <?php while ( $st_query->have_posts() ) : //記事がある間は繰り返す
    $st_query->the_post(); //次の記事のデータをセットする ?>

    ・・・中略・・・
    <?php endwhile; //投稿ループ終了 ?>

   <?php the_posts_pagination(); ?>

<?php else: //もし、表示すべき記事がなかったら ?>
<p>まだ記事はありません。</p>
<?php endif; //条件分岐終了 ?>


これで、ブログ投稿記事10件の一覧ページを作成できます。抜粋を記載するには、初版本にいつも出てくる<?php the_content( ‘&raquo;続きを読む’ ); ?>ではなく、標準の<?php the_excerpt(); ?>を使用しないと、うまく要約を表示出来ないようです。このコードを使ってメニューの一覧記事を表示させた画面が次の画面です。

なお、WP_Query関数はWordPressで最も重要な関数ですが、テーマ構成するhome.phpとかpage.php、single.phpでは暗黙のうちに使用されており、この関数をfunctions.phpで明示的に「フック」(横取り)して好きなページに変えるというのが、テーマ作成や改造の基本のようです(「基礎からのWordPress改訂版(高橋のり著、SBクリエイティブ社発行)」)。

※管理者画面で設定→表示で、固定ページを選択でき、ホームページと投稿ページの固定ページを選択できるようになっています。このうち、投稿ページに「ブログ」の固定ページを選択するとブログ記事一覧が表示されるようです。失礼しましたが、上記の方法がより汎用的であるかと思います。

第二は、カスタム投稿タイプについての取り扱かいが初版と第2版で大きく異なっていることです。

具体的には、初版ではカスタム投稿タイプについての詳細な説明があったのに、それが第2版ではすっぽり抜け落ちてしまいました。WordPressでは標準の状態では、記事の種類としてブログ用の投稿記事と会社紹介用のサイト作成などのために、内容がさほど変わらない固定記事の2種類が用意されています。

しかし、例えばECサイトでの製品詳細紹介ページなどはある程度、掲載する内容が決まっています。商品の分類(カテゴリー)、詳細説明記事、値段、商品画像、買い物かごにいれるボタンなどです。デザイン初版は題材に軽食珈琲店のサイト作成を取り扱っていますので、この場合は軽食喫茶店のメニューが必要です。その場合は、メニューのカテゴリーとしてアイスドリンク、ホットドリンク、フード、フルーツなどが必要になり、各メニュー・カテゴリーに属する商品には当然、来店顧客に提供する商品の詳細説明、画像、値段などが必要になります。

これらの記事はかなり同じような構成になっており、投稿記事でいちいち書くのも面倒です。そこで、こうした類似の構成を持つ記事を簡単に作成できるように、WordPressの4.xでは「カスタム投稿タイプ」と呼ばれる独自の投稿記事の雛形を作成できるようになりました。

このカスタム投稿タイプの投稿記事を作成する方法が第2版では残念ながら、削除されました。名前を聞いただけではなかなか分かりにくいものですが、初版では詳細に説明してあります。基本的には、functions.phpにソース・コードを追加して作成するもので、初版ではその仕方が詳細に説明されています。

このカスタム投稿タイプ投稿記事作成機能は、最近HTML+CSSを知らなくてもサイトを作成できるとの売り文句で登場、一定の支持を集めているWixなどが採用しているブロック・エディタの一種でしかないGutenbergを搭載した以上に画期的な機能追加と思いますが、第2版ではこちらの説明がすっぽり省かれました。なので、サイト管理者としては第2版→初版の順で読むのが、良いと思っています。

なお、初版と第2版の記述の展開は同じです。まず、HTML+CSSでサイトを構築し、それをWordPress標準のPHPテンプレートを使い、テーマとして作成し直し、その後、便利なプラグインの紹介と導入、セキュリティ関係の説明という流れです。双方、コラムがありますが、初版のコラムが充実している感じがします。

コメントを残す

CAPTCHA