2017年9月27日水曜日

カスタム投稿タイプでのパンくずリスト対応

前回からの続き

半分自作のパンくずリスト表示コードがカスタム投稿タイプに対応してなかった

前回まででひととおりカスタム投稿タイプ対応はできたかと思ったけど、よく見たらパンくずリストがちゃんと表示されない。カテゴリーのところが空欄になってしまう。

パンくずリストの表示にプラグインを使っていない。ネットを検索して見つけたパンくずリストを表示するソースコードを自分のブログ向けに修正して使っていた。
このコードがカスタム投稿タイプのことを考慮していないコードだった。

パンくずリストを表示するコードはだいたい

if (is_date()) {
...
} elseif (is_category()) {
...
} elseif (is_page()) {
...
} elseif (is_single()) {
...
} elseif ...

という感じになる。
個別投稿での表示は以下のようにしてた。
なお以降のコードでは項目間の区切り文字や<li>とか<span>などは省略しています。

elseif (is_single()) {
  $categories = get_the_category($post->ID);
  $cat = $categories[0];
  if ($cat->parent != 0) {
    // 親子関係をさかのぼる 
  }
  $output .= '<a href="' . get_category_link($cat->term_id) 
             . '">' . $cat->cat_name . '</a>';
...

みたいな感じだったのだけど get_the_category() がカスタム投稿タイプのときに値を返さない。それは当たり前ではある。

カスタム投稿タイプの個別投稿でのパンくずリスト対応

ということで カスタム投稿タイプかの判定があまり良くないとは思うけれど以下のようにした。以前も書いたけど目的のものを得るためにはカスタム投稿タイプやタクソノミー関連は関数が多いので何をどうしたらいいのか調べるのが大変。

$categories = get_the_category($post->ID);
  $cat = $categories[0];
  if (empty($cat)) {
    $cpt = get_post_type();
    $cptobj = get_post_type_object($cpt);
    $output .= '<a href="' . get_post_type_archive_link($cpt) 
               . '">' . $cptobj->label . '</a>';
    $output .= get_the_term_list($post->ID, $cptobj->taxonomies[0]);
  } else {
    // 標準の投稿タイプのときの処理
  }

このコードはカテゴリーの親子関係は考慮していない。
自分のブログではカテゴリーに親子関係を持たせないことにしてるし、過去ブログのインポートのための使っているカスタム投稿タイプなのでとりあえずこれでいいのだ。

カスタム投稿タイプのカテゴリーアーカイブページのパンくずリスト対応

さてこれだとカテゴリーへのリンクがあるけれどこれも実際はタクソノミーなのでタクソノミーを表示するテンプレートが必要となる。それを書いたらそのページでのパンくずリストがちゃんと表示されなかったのでさらにコードに追加が必要だった。

タクソノミーを表示するページでのパンくずリストのためには以下のように  if (is_single()) と同じレベルで if (is_tax()) で判断して表示する。

... elseif (is_category()) {
...
} elseif (is_tax()) {
  $termobj = get_queried_object();
  $cpt = get_post_type();
  $cptobj = get_post_type_object($cpt);
  $output .= '<a href="' . get_post_type_archive_link($cpt) 
             . '">' . $cptobj->label . '</a>'
  $output .= get_taxonomy($termobj->taxonomy)->label 
             . ':' . $termobj->name
}

下の方の get_taxonomy($termobj->taxonomy)->label はいらない人が多いと思うけど一応。

これでやっと自分に必要な最低限のパンくずリストへの追加ができた。

taxonomy.php の作成

taxonomy.phpの内容は 標準の カテゴリー category.php や タグ tag.php とほぼ同じでタイトルを single_cat_title() を single_term_title() にすればいい。

これで「旧ブログを専用のカスタム投稿タイプへインポートする」関連の作業は終了。

たぶんこれでとりあえずOKということにして運用中。旧ブログをインポートし標準の投稿と区別することが目的だったのでこのカスタム投稿タイプに新規投稿などはしないのでこれで十分なはず。

自分、おつかれさまでした。


2017年9月22日金曜日

カスタム投稿タイプのカテゴリーとタグの表示

前回からの続き

カスタム投稿タイプの個別投稿でのカテゴリーとタグの表示

Wordpressでカスタム投稿タイプの個別投稿を表示したらカテゴリーとタグがちゃんと表示されなかった。それは当然で標準の投稿タイプのテンプレート (single.phpから呼び出す)content.php をコピーした content-oldblog.phpにそのあたりの修正をしなかったから。

というわけで以下のように修正する。

<?php the_category(' '); ?>
<?php the_tags('', ', '); ?>
↓
<?php $tax = get_post_type_object(get_post_type())->taxonomies; ?>
<?php echo get_the_term_list($post->ID, $tax[0]); ?>
<?php echo get_the_term_list($post->ID, $tax[1], '', ', '); ?>

こんな感じで。本当はCSSで表示の調整ができるように<div>や<span>を適度に使用しているけどここでは省略した。以下も同じです。

ところでタクソノミー関連の関数がたくさんあって戻り値も複雑で軽く混乱した。
すべてが終わってから考えたんだけどカスタム投稿タイプも標準の投稿タイプのようにカテゴリーとタグを標準で使えるようにすればいいのにと思った。で、the_category() とか the_tags() のような関数もカスタム投稿タイプで使えるようにすれば楽だし統一感もある。the_title()とかはそのまま使えてるわけだし。でカテゴリーとタグだけでは足りない場合にタクソノミーを使えばいいわけで。

サイドバーのカテゴリー、タグ、月別アーカイブのカスタム投稿タイプ対応

カテゴリー一覧とタグ一覧

管理画面のウィジェットにあるカテゴリーとタグクラウドではカスタム投稿タイプのは表示されないので sidebar-oldblog.php にコードを書くことになる。

<!-- カテゴリー -->
<li class="widget widget_categories">
<h2>旧ブログでのカテゴリー</h2>
  <ul>
  <?php wp_list_categories(array(
     'taxonomy' => 'oldblog_cat',
     'title_li' => '',
//     'hide_empty' => false,
    )); ?>
  </ul>
</li>
<!-- タグ --> <li class="widget widget_tag"> <h2>旧ブログでのタグ</h2> <ul> <?php wp_list_categories(array( 'taxonomy' => 'oldblog_tag', 'title_li' => '', // 'hide_empty' => false, )); ?> </ul> </li>

こうして構築中はカスタム投稿タイプへの投稿はすべて非公開にしていたのだけどそうするとカテゴリーやタグが表示されない。そのため確認が行えない。こういうときは 'hide_empty' => false とすれば非公開にしている投稿のカテゴリーやタグも表示される。
で、確認が済んだらコメントアウトした。もちろんその行を削除してもいい。

<li class="widget widget_categories"> とかはサイドバーウィジェットの仕組みに合わせた形にするため。

今思うとパラメータ指定の
'taxonomy' => 'oldblog_cat'
'taxonomy' => 'oldblog_tag'
 のところは上記の single-oldblog.php の修正のように get_post_type_object(get_post_type())->taxonomies;
を使ったほうが汎用性が高まったかな。

月別アーカイブへのリンクリストの表示

<!-- 月別 -->
<li class="widget widget_archive">
<h2>旧ブログの月別アーカイブ</h2>
 <ul>
 <?php wp_get_archives(array(
    'post_type' => 'densan',
   )); ?>
 </ul>
</li>
とする。これにはちょっと気になることがあるけどそれは後の投稿で。

これでサイドバーへの表示の修正は一応完了した。

あとは検索して見つけて使用しているパンくずリスト表示のコードの修正をする。

次回に続く…

2017年9月19日火曜日

カスタム投稿タイプ用のテンプレートを用意しCSSファイル指定の記述をしようとしたら

前回からの続き

インポートしたのでテンプレートを書き始める

Wordpressのカスタム投稿タイプへインポートしただけではどこにも記事へのリンクがない。のでこのままだと直接URLを打ち込むしか投稿を見る方法がない。
この段階ではまだカスタム投稿タイプへの投稿は非公開状態にしているのでまだリンクは用意しない。
Wordpressにログインしていれば
http://ドメイン名/{カスタム投稿タイプ名}
とURLを直接入力すればとりあえず見ることができるのでこれで調整を確認してから公開する。

カスタム投稿タイプの投稿一覧のテンプレートをつくる

まずは一覧表示のために archive-oldblog.php を作成する。
Wordpressは xxxx-{カスタム投稿タイプ名}.php
とすれば該当するカスタム投稿タイプの場合そちらを利用するという仕組みですからね。

これはすでに利用していた 一覧表示用のテンプレートをコピーしたあと修正した。一覧表示では各投稿タイトル・日時・抜粋を表示しているだけなので
ページタイトル表示を the_archive_title() に
抜粋表示を
get_template_part('content', 'excerpt');
↓
get_template_part('content', 'oldblogexcerpt');
のようにカスタム投稿タイプ用のテンプレートを呼び出すようにした程度。

カスタム投稿タイプの個別投稿ページのテンプレートをつくる

つづいて single.php をコピーして single-oldblog.php を作成し内容を修正する。
これも上記同様
get_template_part('content');
↓
get_template_part('content', 'oldblog');
のようにした。

カスタム投稿タイプ用のCSSファイルを用意する だけど…

カスタム投稿タイプであることを判定せずにすます方法を探す

これで最低限の 一覧表示→個別投稿 という流れができた。ここでCSSを追加しようとして考慮不足が発覚した。
通常のCSSファイルを読み込んだ後にカスタム投稿タイプ専用CSSファイルを読み込ませればいいとぼんやり思っていただけだった。

CSSファイルを読み込む記述は<head></head>の中なので header.php ファイル内のことになる。
ということはやっぱりすべての投稿でカスタム投稿タイプかどうか判定することになってしまう。いちいち判定を入れたくないからカスタム投稿タイプを使ったのでこれでは意味がない。

get_headerの呼び出し方で対応

少し考えて get_header() をカスタム投稿タイプ用のテンプレートでは get_header('oldblog') のようにすればいいことに気づいたけどそうすると header.php と header-oldblog.php の内容はほとんど同じでカスタム投稿タイプ用CSSファイル読み込みのための一行があるかないかだけになってしまう。

共通部分を別ファイルにして読み込むという形にするのもやたらファイルが増えてかっこわるい。
すべてをひとつのCSSファイルに入れてCSSのクラスを使って区別するというのがいちばん楽な気もするけどやっぱりCSSファイルは別にしたい。
どうしたものかしばらく考えたけどいい案が浮かばなかったのでCSSファイル読み込みのための一行を追加しただけの header-oldblog.php を用意することにした。
もっといい方法を思いつたら改良したい。

CSSファイル読み込みに関して検索したところ wp_enqueue_style() などを使うのが本来のWordpressの用法だという記事を見つけた。でも最初に勉強に使ったWordpressの本にそんなこと書いてなかったし、自分だけが使うブログなので今のところwp_enqueue_style()などは使わない。


CSSを編集しレイアウトは現ブログと同じにして背景色やタイトルの色などを旧ブログに似た感じにした。

これで完成だと思ったけど

というわけでちょっと惜しいところがあるけれどこれでよしとする。完成だ!と思ったけどよく見るといくつかおかしなところがある。

  • 個別投稿でカテゴリーとタグが表示されない。
  • サイドバーのカテゴリー一覧とタグ一覧が現ブログのものになってる。
  • サイドバーの月別アーカイブが現ブログのものになってる。
  • パンくずリストに抜けが発生している。
まあ当たり前といえば当たり前ですね。
ということでこれらを修正する必要がある。

というわけで次回に続く…


2017年9月18日月曜日

Wordpressでインポートした投稿を区別するためにカスタム投稿タイプを利用した

カスタム投稿タイプ側にインポートしたときの記録

どうやってスマートに通常投稿とインポートした投稿を視覚的に区別するか

Wordpressで現ブログを運営しているところへ旧ブログをインポートしたときに旧ブログであったことを背景色とかで区別しようと思った。
となると現ブログと旧ブログをどのように判定したらいいのか。一番簡単なのは投稿日時で判定することだろう。
でもそれだと現ブログですでに公開した投稿だけでなく今後公開する未来の投稿でも判定することになる。この程度なら技術的にも速度的にもほとんど問題ないだろうけどなんかかっこわるいので避けたかった。

カスタム投稿タイプを使うというアイデア

なんかいい方法はないかなとぼんやり考えているうちに時間は過ぎていった。そしてあるときひらめいた。
カスタム投稿タイプを使えばいいんじゃないか。
そうすればテンプレートファイルはカスタム投稿タイプ専用のをWordpressのシステムが自動的に選択して使うので旧ブログかどうかの判定は必要ない。(あとから考えたらWordpressがカスタム投稿タイプかどうかの処理はあるけど)

これならカスタム投稿タイプのときだけのCSSファイルを追加で読み込んで必要な部分だけ色などを変えればいいじゃない。

とこのときは思ったんだけど実際やってみたらそう簡単な話ではなかった。それはおいおい書く予定。

作業した内容

いったん通常投稿とインポートする

このとき現ブログの延長としてすでに旧ブログをインポートしていた。ただ旧ブログは公開状態にしていなかった。カテゴリーとタグを現ブログにあうようにひとつひとつ調整はしていた。

カスタム投稿タイプを使うことにしたので、このすでにインポートしていた旧ブログの投稿をあとでエクスポートして使うことになる。

カスタム投稿タイプの作成

Wordpressでカスタム投稿タイプを使うにはfunction.phpに以下のようなコードを追加すればいいのだけど今回はプラグイン形式にした。これは単にやってみたかったからというだけの理由。自分しか使わないので必要最小限の記述。
function.phpではなくWordpressのプラグインディレクトリにそれなりのファイル名.phpで置いてからWordpressのプラグインメニューから有効化する。

/**
 * Plugin Name: Oldblog Post Type
 * Description: Custom Post Type for Old blog
 * Author:      kenji2199
 * Version:     0.1
 */
// ********************************
// カスタム投稿タイプ'densan'を設定
// ********************************
function create_post_type_oldblog() {
 // **********************
 // 旧ブログ専用投稿タイプ
 register_post_type(
   'oldblog',
   array(
     'label' => '旧ブログ',
     'description' => '旧ブログからインポートした投稿',
     'public' => true,
//     'show_in_nav_menus' => false,
    'show_in_admin_bar' => false,
     'has_archive' => true,
     'supports' => array('title', 'editor', 'excerpt', 'author', 'comments'),
     'menu_position' => 5,
     'taxonomies' => array('oldblog_cat', 'oldblog_tag'),
   )
 );

  // ********************
  // 旧ブログ専用カテゴリ
  register_taxonomy(
    'oldblog_cat',
    'oldblog',
    array(
      'label' => 'カテゴリー',
      'description' => '旧ブログ用のカテゴリー',
      'hierarchical' => true,  // trueなので階層あり、つまりカテゴリ
      'public' => true,
//      'show_ui' => true,
//      'show_in_nav_menus' => false,
      'show_admin_column' => true,
      'show_tagcloud' => false,
      'update_count_callback' => '_update_post_term_count',
    )
  );

  // ****************
  // 旧ブログ専用タグ
  register_taxonomy(
    'oldblog_tag',
    'oldblog',
    array(
      'label' => 'タグ',
      'description' => '旧ブログ用のタグ',
      'hierarchical' => false, // falseなので階層なし、つまりタグ
      'public' => true,
//      'show_ui' => true,
//      'show_in_nav_menus' => false,
      'show_admin_column' => true,
      'show_tagcloud' => false,
      'update_count_callback' => '_update_post_term_count',
    )
  );
}
add_action('init', 'create_post_type_oldblog');

本来はきちっとパラメータを設定するのが正しいのだろうけど個人ブログであり自分しか使わないのでこれで十分。
基本的にデフォルトの値で十分なところは記述せず、ほんとに最低限必要なところだけ書いている。でもpublicだけは一応明示した。

カスタム投稿タイプの投稿管理画面

あとカスタム投稿タイプの設定の仕方を調べていくと管理画面にカテゴリとタグが表示されないので追加する方法という記事が見つかった。それもしないといけないかなと思ったけれど公式の regsiter_taxonomy() のパラメータの説明に show_admin_column を trueにすれば表示されるとあったのでそれを使った。
ただこれだとカテゴリーとタグの幅が広くてタイトルの幅がちょっと狭くなる。なにか調整する方法はあるとは思うけど今回の旧ブログ用のカスタム投稿タイプに新たに記事を追加しないのでそのままとした。

カスタム投稿タイプへインポートできるようにデータを修正

うまく行ったら今度は旧ブログをインポートする。すでに通常の投稿としてインポートしてあった旧ブログデータをエクスポートする。
それをそのままインポートしても元に戻るだけでカスタム投稿タイプ側にインポートされないのでエクスポートしたデータを少しいじる必要がある。

エクスポートしたファイルは .xml なのでテキストエディタでいくつか修正する。
まずはカスタム投稿タイプへインポートされるように CDATA[post] を CDATA[oldblog] に変更する。
<wp:post_type><![CDATA[post]]></wp:post_type>
↓
<wp:post_type><![CDATA[oldblog]]></wp:post_type>
さらにカテゴリーとタグもカスタム投稿タイプ側になるように修正する。
<category domain="post_tag" nicename="abc"><![CDATA[エービーシー]]></category>
<category domain="category" nicename="xyz"><![CDATA[エクスワイゼト]]></category>
<category domain="oldblog_tag" nicename="def"><![CDATA[デーイーエフ]]></category> <category domain="oldblog_cat" nicename="uvw"><![CDATA[ユブイダブル]]></category>
これらはエディタの置換機能であっという間ですね。
こうして修正したデータをWordpressにインポート。

コメントがインポートされない

ただコメントがインポートされなかった。通常の投稿タイプだとコメントもインポートされたんだけに残念。コメントは基本あきらめることになる。
ただ数が少なければコピー&ペーストで入力したあと管理画面のコメントから日時・作成者・メールアドレスを修正することで再現できる。入力したIPアドレスはここから修正はできないけど。

インポートは終了し後は調整だけのはずだった

あとは通常の投稿タイプの方にインポートした投稿を削除したらとりあえずの作業は終了。
あとはCSSの追加だけ… と思ったら考慮不足があったし、その先もまたいろいろやることがあって大変だった。

次回に続く…



2017年9月17日日曜日

ウェブリブログから移転の際にrel="canonical"をタグを設定した話

ウェブリブログからWordpressにブログを移転したけどウェブリブログへの投稿は消すつもりはなかった。こういうとき内容が重複する投稿が出来てしまうので検索エンジンには移動したことを伝えたほうがいいらしい。
一番正しいのは301リダイレクトすることだけどウェブリブログではそれはできない。無料ブログサービスはたいていそうだと思われる。

次点としてHTMLに
<link rel="canonical" href=".....">
を記述することになる。
ただそれもウェブリブログではできない。

なにか方法はないかと検索してみたけどウェブリブログから引っ越したという記事はほとんど見つからない。そんな中ひとつ有用な記事を見つけることができた。
JavaScriptで埋め込むという方法だ。ウェブリブログならJavaScriptを使える。この方式だとHTMLに直接書いてあるわけではないけれどクローラーはJavaScript実行後のHTMLを見てくれるようだ、とその記事にはかいてあったのでそれを信じることにした。

この記事を見つけてから実際に作業するまでずいぶん長いこと期間を開けてしまったらその間にこの記事がサイトごとなくなってしまった。でもJavaScriptのソースは控えておいたのでここにそのソースを置こうと思う。たぶん問題ないよね。

<script type="text/javascript">
var Hash = new Object();
Hash['1'] = '記事タイトル1;
Hash['2'] = '記事タイトル2';
var URL = "";
var meta = "";
for (var key in Hash){
  if(document.title.indexOf(Hash[key]) != -1){
    //meta = "<link rel=\"canonical\" href=\"http://example.com" + key + "\">" ;
    var meta = document.createElement("link");
    meta.setAttribute("rel", "canonical");
    meta.setAttribute("href", "http://example.com/" + key);
  }
}
document.getElementsByTagName("head")[0].appendChild(meta);
alert(document.head.innerHTML);
</script>

見ての通り特別なことはしていない。
Hash['1']='記事タイトル1';
配列の'1'の部分に移転先のURLからドメインを取ったものを、'記事タイトル1'の部分にウェブリブログでの記事タイトルを記述する。
ウェブリブログでの投稿数が多いと大変かもしれないけどエクスポートで出力されたデータをエディタなどで置換とかをすればそんなに苦労はしない。

このコードをウェブリブログのフリースペースに置けばいい。「表示項目設定」から「サイドバー表示項目設定」にある。フリースペースは4つあってどれを使ってもいいと思う。
一応の注意点として
  • コードを記述したフリースペースは「□表示」にチェックを入れるのを忘れないように。
  • 「フリースペース3」は反映が翌日になること。それ以外は即反映される。
  • フリースペース3に記述するとブラウザでHTMLのソースコードを表示するとこのコードがそのまま見えるけど「フリースペース」「フリースペース2」は別ファイルから読み込む形になるのでHTMLのソースコードでは見えない。
  • 実行後ブラウザでHTMLのソースコードを見ても<link rel=....>は見えない。F12を押すなどして開発者ツールからみると埋め込まれているのを確認できる。
がある。

これを移転先ブログで引っ越した記事を公開直後に実施した。


ウェブリブログに投稿した記事をWordpressにインポートしたとき意外と大変だった話

ウェブリブログからWordpressへ引っ越したときの概要

何年も前にウェブリブログ(旧ブログ)を使っていたけど数年前にWordpress(現ブログ)に移行した。そのときから旧ブログの投稿を現ブログにインポートしようと思っていた。ただちょっと面倒なので引越しに関する情報だけ集めてた。

そして先日思い切ってインポートしたんだけど多少の手間はあっても簡単に終わるとおもった。ただちょっとしたこだわりを入れたら意外といろいろなことをやらなきゃいけなかった、というおはなし。

旧ブログをどうするか

現ブログに移行しても旧ブログは削除せずそのままにしておくことにしていた。なんとなくもったいないし入り口が多い方がいいだろうから。
とすると同じ内容のブログがふたつあることになる。Googleさんはそれをあまり良しとはしてないらしい。ひとつの投稿の文字数がそんなに多いわけではないし閲覧数もごくわずかな自分のブログはそんなこと気にしなくても良さそうではある。
でも一応ちゃんとしておきたい。車がほとんど通らない道でも信号はちゃんと守る、みたいな感覚。

こういうとき301リダイレクトというものをやるのがいちばんいいらしい。けどウェブリブログではそれはできない。次点でrel="canonical"という指定をHTMLのhead部に書けばいいらしいがそれもできない。
検索するとブログの引越しに関する記事はおおいけれどウェブリブログからの引っ越しはほとんど見つからない。そんな中ひとつみつけた記事でJavascriptでhead部に書き込むという方法。なるほど。GoogleさんもJavascript実行後のhead部を見ると書いてある。
といわけでそれを採用。

旧ブログから現ブログへインポート

ウェブリブログがエクスポートしたデータ形式はMT形式。とくに問題はない。テキストエディタで写真のリンク先を修正するぐらい。
写真もダウンロードして現ブログ用のサーバーにアップロード。
インポートしたらカテゴリー・タグ変換ツールを実施。ウェブリブログにはカテゴリーやタグというものはなく代わりにテーマというのがある。これがたしかタグとして取り込まれるのでカテゴリーに変換し現ブログに合うように調整。そのときタグも追加する。
変換は一発でできるけどカテゴリー・タグの調整は記事ひとつずつ行ったので時間がかかった。
この時点では引っ越してきた記事はまだ非公開の状態。とりあえずこのまま公開してもいいんだけどやりたいことがあったので(それは次項で)。
ここまでやってしばらく放置してた。

旧ブログからインポートしたことを明確にしたい

引っ越してきた旧ブログの記事と現ブログで書いた記事を区別できるようにしたい。記事画面の上になにか文言をいれるとか背景の色を変えるとか。
そしてその違いをどう判定するか。投稿日時が旧ブログ最終記事以前であれば旧ブログと判定するのがいちばん簡単なんだろうけどこれだとこれから新しく書く記事すべてでも常に判定する処理が入るのでなんかかっこわるい。
これをどうしたらいいか解決策を思いつくのに時間がかかった。

カスタム投稿タイプを使うというアイデア

どうしたらいいかとずっと思っていたところ思いついたのがWordpressのカスタム投稿タイプという機能。これなら判定処理は必要ないと思った。カスタム投稿タイプ用に背景の色を変えるCSSを追加で読み込ませるようにテンプレートに書くだけだ。
これはいいアイデアを思いついたと思って実行したのだけどこれが簡単ではなかった。全く別のブログの開発するのに近い手間がかかってしまった。

CSSの変更は背景色だけというわけには行かないし、カスタム投稿タイプ用のカテゴリー・タグを表示するテンプレートを用意しないといけないし、サイドバーも全く別のものになるし。自分のブログにさえ対応していればいいと作ったパンくずリストも改造がひつようだし。
まあおかげでWordpressの知識は増えました。ほかに活用する機会は無いけど。

そんなこんなを次の投稿からもう少し詳しく書いていこうと思う。