「ソフトウェア_WordPress」カテゴリーアーカイブ

日付表示改良

 日付をカレンダーにしたのだが、記事内容に休日や事項に関わるものが多いのでこれらを表示できるようにしてみることにした。
 まず土日の場合、日付等の色を変えるようにした。これはcontent.phpを以下のように変更し曜日によって使用するcssを選択するようにした。…が、単純なif文も初めて接する言語(php)では苦労するのであった。
<?php $a = get_post_time('l'); ?>
<?php if ($a == 'Saturday'){echo '<div class=himekuri-w-sat>';} 
elseif ($a == 'Sunday'){echo '<div class=himekuri-w-sun>';} 
else {echo '<div class=himekuri-w>';} 
?>
 次に祝日や時候を表示するようにした。これにはカスタムフィールドをそれぞれ準備しそこにデータが入るようにした(年によって祝日なども日付がずれるのでこのデータを集めるのも実はそれなりに時間がかかったり)。一方でこのフィールドを表示するようこれまたcontent.phpを修正。
 さらに祝日はカレンダーに日の丸が入るようにした。これまた祝日の時用cssを使用するようif文で分岐させた。
 以上、取りあえず日記でやりたい事は一通り準備できたであろうか。

天気表示

 古くは夏休みの絵日記の時代から、日記に天気は付き物である。一方、前のtDiaryでもそうであったが、当日の日記をその日のうちに作成するのであれば天気データを自動で取り込んでくれるプラグインがあるのだが、私のように過去の日記をまとめてアップするような場合に対応できるものはない。
 …なければ作るしか。
 まず過去の天気データだがこれは気象庁が提供しており、地点や期間、データの種類など項目を選んでcsv形式で取得することが出来る。ただし、気温などはアメダス含め各観測点のデータがあるがいわゆる天候は各県1カ所しか記録がないようだ(ついでに言えば昼間と夜間のそれぞれの記録がある)。他にYahoo!天気などでも過去の天気データがあるが天候については「晴」「雨」程度のおおまかな記録になっている。ただし県内数カ所の記録があるのでこれを必要に応じて先ほどの気象庁データに組み込んだ。
 日記データの方では地点名を記載した。後は各日記の日付と地点に対応した天気データを読み込んだcsvファイルを作ればいい、と。WordPressにはカスタムフィールドの機能があるので、まずはフィールドを作成。ここにデータを格納するようにした。そしてcontent.phpに表示させる部分に記述を加えた。
 成果はごらんの通り、と。

コメントのインポート

 過去記事本文のインポートに大体目処が立ったので続いてコメントのインポートに取りかかった。
 本文記事のインポートに使用した「Really Simple CSV Importer」はコメントには対応していないので、既にインストール済みのプラグインである「WP Ultimate CSV Importer Plugin」を使う(実は使い方がわからず数日間他の方法はないかと探していたりもしたが気にするな)。まずデフォルトの状態ではコメントはインポートできない。Settingsタブ内でなにをインポートできるようにするか選択できるのでCommentをEnableにする。
 次にインポートするcsvファイルだが、フォーマットが解らなかったので先にダミーのコメントを入力して同じく「Really Simple CSV Importer」でエクスポートして、これに合わせてみた。ここで注意しなければならないのはcomment_approvedの項目で、ここに「1」を立てておくことで承認済みコメントになる。
 で、やってみると…50件くらいで読み込まなくなった。50件ずつインポートせねばならないのか。
 さて、そして過去の記事をtDiaryとnicky分を両方ともインポートした。ただnicky分はこれから記事の分割やカテゴリ付けなどの作業を進めないとならない。先は遠い。

きょうもいろいろいじってみた

デザインを変えてみる

 デザインを変えるにはstyle.cssをいじってあげればいいのだが、正直数千行に渡る中から該当する個所を見つけだすだけでも大変である。そこで「Styles: TwentyFourteen」というプラグインがあるので使用。これで色とフォントサイズを簡単に変更することが可能となった。
 続いてサイドバーにあるアーカイブの表示が長くなってきたので「Collapsing Archives」というプラグインを導入。適度に折り畳まれ使いやすくなった。

カレンダー表示

 普通の人は一日にワンテーマの記事しか載せないのだろうけど、tdiaryに慣れてしまうと複数の記事を投稿することになってしまう。しかしそうなるとどこまでが一日のまとまりであるかがわかりづらい。
 そこで、タイトルの横に日めくりカレンダー型の日付表示をしているサイトがあるのでこのデザインを真似てみようと思った。
 調べていって、やっていることは単純で日付を表示させてその下にcssでカレンダーの画像を表示させるだけだった。これで記述すべきコードはわかった…が、どこにそれを書き込めばいいのかが解らない。ええぃ、ファイルの数が多すぎるのだ(笑)

style.cssをいじってみる

 取りあえずタイトル文字のでかさが気に入らなかったので(笑)この辺を参照に修正してみた。タイトルは3000行辺りだ。
 しかし色の変更は「Styles: TwentyFourteen」「ShaChiPoCo」といったプラグインでできることを後から知ったのであった。

カレンダーまとめ

  1. カレンダーの画像を準備する。で、ネットの海を彷徨ったがこれだ!というのには当たらなかった。仕方ないのである程度気に入ったデザインをいくつか参考に作った。予めアップロードしておく。
  2. twentyfourteenフォルダ内のcontent.phpの20行目辺りからが記事のカテゴリ、タイトルを表示する機能のようだ。以下のような入れ子にした。

さらにWordPress

csvでのインポートその3

 前日まででまだ画像が表示されないケースや余計なダブルクォーテーションが表示されるといった問題が残っていた。調べていくとどうもcsvファイルの作りの問題ではなくプラグインとサーバーの相性があったりするようだ。結局、csvインポートを行うプラグインを変更した。ここまで「CSV Importer」というのを使っていたが「Really Simple CSV Importer」というやつである。こいつはさすが国産、素直に読み込んでくれた。なおダブルクォーテーションについては日本語文についても特になしでも問題なかった。ただし、カテゴリが複数になる場合など、文中にカンマが含まれる場合は必要になる(そりゃそうだ、カンマ区切りのcsvだもんな)。
 今後コメント欄のインポートも必要だがその機能はないようなので「WP Ultimate CSV Importer」という別のプラグインを使用する予定(まだ使い方がよく分かっていない)

cssファイルを改変する

 やはり文字の大きさや表示などは個人の好みがある。とはいえまたすぐテーマを変えたりする可能性もあるので必要最小限に止めておくことにしよう。
 css変更による画面の変化をリアルタイムで確認できる というプラグインがあったので使ってみた。…まず変更したい部分がcssファイルのどこにあるかを見つけるのが問題だ(3000行以上もあるって…)これはfirefoxに要素を表示させる機能があるのでこれで当たりをつけた。が、このプラグインで変更を保存するとなぜが画面がバグって真っ黒になってしまった。自分とは相性が悪いとあきらめ放棄する。
 その後は変更画面で修正しては確認…を繰り返す。

追加css

 上記とは別に、テーマとは別に追加したいcssもある。このページだと書籍紹介の辺りとかですな。これは「Custom CSS Manager」というプラグインがあった。インストールしてcssを記述すれば終わりである。

携帯用画面を準備する

 これは「Ktai Style」というプラグインがありこれまたあっさり終了。

WordPress移行作業の続き

csvによるインポートその2

 一言でデータ移行といっても5年分ぐらいあると一件一件手作業で…という訳には行かないので、まずtdiaryのデータをまとめてExcelにコピペ、これにマクロをかませてWordPressの方で読み込めるcsvファイルに整えてあげる…という方法を取った。ついでに言うと改行コードの制御もうまくいかないので元からあったbrタグを生かすことにした。しかしここで昨日あったダブルコーテーションの問題に引っかかるので(Excelのcsvファイルで保存すると区切りはカンマしか入らない)、1列分のセルの内容をダブルコーテーション&カンマ&ダブルコーテーションで一つのセルに結合し、これをテキストエディタにコピペし文字コード指定でcsvファイルとして保存する、という一見回りくどいやり方を取ることに。また画像は先に所定のフォルダにアップしておくことに。
 結果はまだ微調整が必要だがログの移動は可能との結論に至った。
 あと、気づいたことだが、WordPressの記事の並び順は基本的に時間降順になるようだ。日記として使うには(1日1記事なら問題にならないのだが)日付降順時間昇順にならないと読みづらくなる。一応自由に並び替えできるプラグインもあるのだが、今回はこちらの思い通りの順番に並んでくれるよう記事を投稿した時間のデータを調整することにした。
 さて、今回はtdiaryだったが、そうなると昔nickyで書いていた日記のデータも移行可能ってことになるのかな。いやさらにその前のhtml直打ちのも…マァ今後の課題と言うことで。

日記引越指令

 ぱぱんだ先生がtdiaryのサポートを終了するそうなので、新たに使用する事になるWordPressへの引っ越しの準備を始めた。古い日記はそのまま残すという考え方もあるが、後から検索したりデータベース的に使用することなども考えるとやはり記事の統一を行うべきとの結論に(割とあっさり)至った。

いかに記事を移すか

 さて、まず考えなければいけないのがtdiaryで書いてきた日記を移すことである。ぐぐってみるとperlのプログラムを使って一度Movable Typeの形式に変換してからWordPressに取り込む、という手が使われているようだ。早速PCでperlが動く環境にしやってみた(ここまで数時間かかっている)…が、どこにファイルが吐き出されているのやら、どのみちこちらが望む様式に整っているとも思えず、このやり方を放棄する。
 次に、そもそもWordPressにはインポート、エクスポート機能があるので、これで出てくるファイルの形にtdiaryのデータを整えてあげればいいのではないかと考えてみたのだが、やってみるとxlm形式でどこにどのデータを格納すればいいのか複雑で解析できなかった。よってこの方式も放棄する。

csvファイルでのインポート

 で、いろいろ調べている間にどうやらcsvファイルで一括インポートできるプラグインがあることを知る。これなら後はこっちでtdiaryのデータをうまいこと変換してcsvファイルを準備してあげればいいだけだ。
 光明が見えたところでプラグインをインストールして作ってみたcsvファイルで動作チェック。ここでも「文字コードはUTF-8」「日本語はダブルコーテーションで囲っていないといけない」といった罠にはまりつつ、ようやっと目星がついたら寝る時間だった。
 …そういや遙か昔、nickyをやめて日記システムを模索していたときに「WordPress試せないか」と相談したら「これ以上メンテするソフトを増やすなゴルァ」と言われたような記憶があるが忘却の彼方に捨て去ることにしよう。