Wordpressの最近のブログ記事

すご〜く周回遅れな感じなのですが、メモしておきたくて。

Wordpressのカスタマイズをするときに、親テーマを継承した子テーマを作成してカスタマイズするという方法があります。

子テーマ - WordPress Codex 日本語版

始めるだけなら、全然難しくなくて、たとえばデフォルトテーマのtwenty elevenの子テーマなら、最低限、これだけの内容のstyle.cssを用意すればOKです。

/*
Theme Name:     Kid
Template:       twentyeleven
*/
@import url('../twentyeleven/style.css');


WordPressをインストールしたディレクトリ
└wp-content
  └themes (すべてのテーマが入るディレクトリ)
    └kid (子テーマ自身のディレクトリ; 名称は自由)
      └style.css (子テーマに必須; 名称は style.css)

にアップロードすれば、この子テーマも「外観>テーマ」から選択できるようになります。
function.phpがなくても始められます。

たったこれだけを確認するのに、ひさしぶりだとやっぱり調べてしまうので、メモしとくのは大事。


わかりやすい解説記事はこちらに。

子テーマやカスタマイズの基本の基本についてちょっとおさらいしてみる | Webourgeon

ここから先、できるだけフックでがんばってみようと思ったら、ソースコードをしっかり読む根性がなくなっていて、参考書買いました。


新しいデフォルトテーマ"twenty twelove"の話題も出ているというこの時期、twenty elevenの本を買うのもどうかと思いつつ、ソース読む根性がなくなっているようなので、頼ろうと思います。


新テーマ: Twenty Twelve -- ブログ -- WordPress.com

Twenty Twelve は Theme Foundry の Drew Strojny によってデザインされ、WordPress コミュニティに関わる多くの人たちの協力で完成しました。今すぐ WordPress.com ダッシュボードの「外観 → テーマ」画面からご利用いただけます。インストール型 WordPress.org ユーザーの皆さんにも、もうすぐ公式テーマディレクトリからダウンロードしてもらえるようになりますし、今年後半にリリース予定の WordPress バージョン 3.5 ソフトウェアにも正式にバンドルされる予定です。

[WordPress.com] Password Reset

[WordPress.com] Password Reset
というメールが来ました。

心当たりはないので、だれかが私のIDを自分のものとおもって、パスワード忘れたとか悩んでいたのかもしれません。

自分的には、登録してたことなんか忘れてました。以前のメールを見てみると、2006年に登録したみたい。一緒にメモも見つかったので、ログイン成功。ちょっとプロフィールなど編集してみる(別人ってわかるかな~~と思って)。

この一件で、WordPressのことを思い出したので、ちょうど時間があったこともあり、Movablel TypeのままだったここのブログのWordperssへの引っ越しの作業を進めました。

テーマを入れて、広告をいれて、Google Analyticsとかアクセス解析系のパーツをいくつかいれて・・・ぐらいの程度なので、たいしたことは全然してないので、テスト環境での準備は完了。

スパム対策用のプラグインAkismetを有効にするのに、wordpress.comにもログインしてAPIキーを取得する必要があったけど、今日のメールのおかげで、wordpress.comのアカウントがあることもわかったし、ちょうどよかった(笑)。

で、いよいよ!というときに、ひとつクリアできて問題があるのを思い出してしまいました!
そういえば、これがあったら、年末年始に気持ちが盛り上がっていたときにも、調査のためにちょっと保留と思って、そのまま忘れてしまっていたのでした。

問題とは、ポストスラッグ(投稿スラッグ)のこと。

私がずぼらなのと、好みの問題でどうも・・・というだけで、多分、気にならない人も多いと思う。

ここの場合、MTからWPへURLを引き継いで移行すると、WordPress側の設定の関係で、個別ページのURLは、エントリータイトルから自動で生成されるものになります。

これが、日本語のエントリータイトルだとエンコードされて長いURLになります。これが、好みではないのです。

MTは、タイトルに含まれる半角英数で適当にURLにしてくれるのですが、WordPressはタイトルそのままをきっちりURLにしてくれるみたいです。

で、投稿スラッグを半角英数字で入力しておけば好みのURLにできる・・・ということなのですが、めんどくさがりなので、これが面倒。

面倒だし、まじめにやろうと思っても絶対忘れると思うし、あとから修正するのもいやなので、解決しておきたいなあと思います。

MT風のはしょり方だでもいいし、エントリーIDとか、投稿日時からスラッグを自動で生成してくれるとかでもOK。

探すか、自分でやるか。
プラグインとか、functionとかを試してみるには、手軽な題材だし。

WordPressに移行するためのことばかり書いているのですが、今回は逆にWordPressからMovable Typeへの移行の場合です。
移行してしまっても、どうしても戻したくなるかもしれないし・・・。

これも意外に簡単そうなんです。

Six Apart - 技術情報提供ブログ: インポートの強化だけじゃない!バックアップ機能も追加された Movable Type 4

さっと確かめてみました。

・あらかじめアーカイブマッピングを設定しておけば、URLは引き継がれました。
 あとからではうまくいきませんでしたが、他の設定で影響ありそうなこともあったので、問題ないのかもしれません。

・コメント、トラックバックは大丈夫。タグもOK。

・作成済みの記事のフォーマットが変わっています。改行を変換だったのに、リッチテキスト?HTMLタグ付きのフォーマットなし?になっていました。あらかじめデフォルトを設定しておくかすれば、インポートの画面の設定や、期待の状態になるかもしれません。

・時間が9時間未来にずれていました。ここも、設定でどうにかなるのかもしれません。SQLで一律に9時間遅らせるという手もありかも。

いくつか問題はあるのですが、設定を見逃してるだけな気がします。また、これがほんとだとしても私にとっては実際にすすめる場合にはどれも大きな問題にはならなさそうです。

ここのレンタルサーバXREAでは、PHPはセーフモードのため、ときどき制約があります。

Movable TypeからWordPressへのデータの移行作業のときも、こんなエラーメッセージがたくさんが出ていました。

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit in safe mode in /virtual/studiofu/public_html/test.studio-fu.com/wp-admin/import/wordpress.php on line 366

このメッセージの場合は、スクリプトの実行時間を制限するset_time_limit関数がセーフモードでは使えないということですが、時間制限が実行されないことで支障が出ることはまずないようです。

セーフモードによるWordPressの制限については、こちらに説明がありました。
XREA、CORESERVER.JPについては、具体的に対処法も記載されています。

セーフモードによる制限と対処方法 - WordPress Codex 日本語版

方法 2: PHP を CGI モードで動かす

アップロード処理を行なうスクリプトを CGI モードで動かします。
一般的なサーバの場合

(情報募集中)
XREA、CORESERVER.JP の場合

XREA、CORESERVER.JP の場合、次の内容を書いた .htaccess ファイルを wp-admin/ ディレクトリに置きます。


AddHandler application/x-httpd-phpcgi .php

Movable TypeからWordPressへのデータの移行(Movable TypeからWordPressへURLもタグも移行する方法)が、失敗していた(コメントが一部だけしかインポートされず、トラックバックがなくなってしまっている)ということに気がついたので、やり直しました。

前回紹介したNetScrander » MovableTypeからWordPressに固定リンク込みで完璧に移行する方法で提供されているテンプレートを参考に、以下を変更しました。

・トラックバックがあるかどうかを判定している部分のスペルミスを修正
・MTPingsのブロックタグを追加
・コメント・トラックバックのひとつひとつがwp:comment要素になるように、開始タグ・終了タグとMTCommentsのブロックの関係を変更
・トラックバック元のIPアドレスが固定値だったのを、MTPingIPに変更。
(あと、コメント・トラックバックがオープンである前提になっているので、クローズしてある場合は、そのあたりも変更)

で、修正後のテンプレートはこんな感じになってます。



<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:wp="http://wordpress.org/export/1.0/"
>

<channel>
<title><$MTBlogName$></title>
<link><$MTBlogURL$></link>
<description><$MTBlogDescription$></description>
<language>ja</language>
<wp:base_site_url><$MTBlogURL$></wp:base_site_url>
<wp:base_blog_url><$MTBlogURL$></wp:base_blog_url>

<MTSetVarBlock name="ecount"><$MTBlogEntryCount$></MTSetVarBlock>
<MTEntries lastn="$ecount">
<item>
<title><$MTEntryTitle$></title>
<link><$MTEntryPermalink$></link>
<pubDate><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></pubDate>
<dc:creator><![CDATA[<$MTEntryAuthor$>]]></dc:creator>
<category><![CDATA[<$MTEntryCategory$>]]></category>

<category domain="category" nicename="<$MTEntryCategory$>"><![CDATA[<$MTEntryCategory$>]]></category>
<MTEntryIfTagged>
<MTEntryTags>
<category domain="tag"><![CDATA[<$MTTagName$>]]></category>

<category domain="tag" nicename="<$MTTagName$>"><![CDATA[<$MTTagName$>]]></category>
</MTEntryTags></MTEntryIfTagged>

<guid isPermaLink="false"><$MTBlogURL$>/wp/?p=<$MTEntryID$></guid>
<description></description>
<content:encoded><![CDATA[<$MTEntrybody$>]]></content:encoded>
<guid isPermaLink="false"><$MTEntryPermalink$></guid>
<excerpt:encoded><![CDATA[<$MTEntryExcerpt$>]]></excerpt:encoded>
<wp:post_id><$MTEntryID$></wp:post_id>
<wp:post_date><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></wp:post_date>
<wp:post_date_gmt><$MTEntryDate format="%Y-%m-%d %H:%M:%S"$></wp:post_date_gmt>
<wp:comment_status>open</wp:comment_status>
<wp:ping_status>open</wp:ping_status>
<wp:post_name><$MTEntryBasename$></wp:post_name>
<wp:status>publish</wp:status>
<wp:post_parent>0</wp:post_parent>
<wp:menu_order>0</wp:menu_order>
<wp:post_type>post</wp:post_type>
<wp:post_password></wp:post_password>
<wp:postmeta>
<wp:meta_key>_edit_lock</wp:meta_key>
<wp:meta_value>1221409228</wp:meta_value>

<MTComments sort_order="ascend">
<wp:comment>
<wp:comment_id><$MTCommentID$></wp:comment_id>
<wp:comment_author><![CDATA[<$MTCommentAuthor$>]]></wp:comment_author>
<wp:comment_author_email><$MTCommentEmail$></wp:comment_author_email>
<wp:comment_author_url><$MTCommentURL$></wp:comment_author_url>
<wp:comment_author_IP><$MTCommentIP$></wp:comment_author_IP>
<wp:comment_date><$MTCommentDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date>
<wp:comment_date_gmt><$MTCommentDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date_gmt>
<wp:comment_content><![CDATA[<$MTCommentBody convert_breaks="1"$>]]></wp:comment_content>
<wp:comment_approved>1</wp:comment_approved>
<wp:comment_type></wp:comment_type>
<wp:comment_parent>0</wp:comment_parent>
<wp:comment_user_id>0</wp:comment_user_id>
</wp:comment>
</MTComments>

<MTPings sort_order="ascend">
<wp:comment>
<wp:comment_id><$MTPingID$></wp:comment_id>
<wp:comment_author><![CDATA[<$MTPingBlogName$>]]></wp:comment_author>
<wp:comment_author_email></wp:comment_author_email>
<wp:comment_author_url><$MTPingURL$></wp:comment_author_url>
<wp:comment_author_IP><$MTPingIP$></wp:comment_author_IP>
<wp:comment_date><$MTPingDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date>
<wp:comment_date_gmt><$MTPingDate format="%Y-%m-%d %H:%M:%S"$></wp:comment_date_gmt>
<wp:comment_content><![CDATA[<strong><$MTPingTitle$></strong>
<$MTPingExcerpt$>
...]]></wp:comment_content>
<wp:comment_approved>1</wp:comment_approved>
<wp:comment_type>trackback</wp:comment_type>
<wp:comment_parent>0</wp:comment_parent>
<wp:comment_user_id>0</wp:comment_user_id>
</wp:comment>
</MTPings>
</item>
</MTEntries>
</channel>
</rss>


<追記>トラックバックにいくつか抜けを見つけました。遅くなるかもしれませんが、対処したら修正します。MTEntriTracbackCountでの分岐で、トラックバックが表示されないものがあったので削除しました。理由はわかりません。MTEntryCommentCountも、要素タグとの関係からみると必要ないのでついでに削除しました。</追記>

流行にのっての移行はしないつもりでいたのですが、ここ数日で、WPを使うメリット(自分のスキル的にPHPのアプリケーションであることは便利)に気がついたので、準備中にまずいことに気がつかなければ、移行を進めていくつもりです。

今のところここはまだMTです。

WXRの仕様はどこにあるのかなあ。要素の入れ子の状態はこれでいいのかどうかとか、固定の値がなにを意味しているのか、このままでいいのか、よくわかりませんが、ちゃんとインポートしてくれたようです。

自分の場合は、ウェブページはちゃんとは使ってなくて、ブログだけなので、これでOKでしたが、MTのブログページとWPのページの関係はどうなんでしょうね。

<追記>

コメント欄に出てくる書籍はこちらです。
より完成度の高いテンプレートや、詳しい手順が紹介されています。


WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!
WordPress 2.7対応「導入&カスタマイズ」実践ガイド―個人ブログも企業サイトも簡単&無料で構築できる!吉村 正春

秀和システム 2009-02
売り上げランキング : 3954

おすすめ平均 star
star充実した1冊です!
starWordPress の機能強化にこの1冊

Amazonで詳しく見る
by G-Tools

お試し中のMT→WPのお引っ越し作業ですが、別ディレクトリにインストールしたWordPressに、Movable Typeからエクスポートしたデータをインポートして気がつきました。

あれ、タグは?

エクスポート/インポートをちょっと見てみると、エクスポートしたmt-export.txtには、タグがあるエントリーならTAGSとして出力されているけれど、WPでのwp-admin/import/mt.phpでは、TAGSは処理されていないような・・・。

で、Keywordsとtagsの関係とかタグの処理の仕方などを調べようとしたら、なんと一発でタグもURL(パーマリンク、固定リンク)もさくっと移行できてしまう、目から鱗のすばらしい解に出会いました!

NetScrander » MovableTypeからWordPressに固定リンク込みで完璧に移行する方法

WPからWPへ、WXR(WordPress eXtended RSS)形式のデータを使ってブログ内容を引継ぎできるのであれば、MTでもWXR形式でインポートデータを書き出せばいいんじゃね?
ということで作ったのが、下記のテンプレートデータです。これで、記事本文、コメント、トラックバック、カテゴリー、タグといった移行に必要なデータを全て移行することができます。

Movable Typeからの移行なのに、WordPress型式のデータを生成してインポートに使うというのがポイント!

WXR型式のデータを生成するテンプレートが「mt2wp.zip」として提供されているので、それでインデックステンプレートを新規作成して、適当なファイル名で保存・再構築します。

実は、mt2wp.zipを解凍したテンプレートのままだと、このブログの場合は、最新のエントリーから10件だけのデータとなっていて、移行できたデータが全然足りなかったのです。なので、MTEntriesのlastnを大きい数字に変えてリトライ。

WordPressのインポートのページにある「このインポーターは優秀なので重複したファイルはインポートしません。」との説明の通り、重複したデータを読み込ませても、エントリーは重複しないのでとっても助かります。

カテゴリはIDを使ったURLだったので、さくっと一致させる方法はなさそうなのと、タグのURLはMTだとパラメータのURLだったので、ちょっとやりにくい感じ。カテゴリはスラッグにMTでのURLを引き継げるような内容を手で入れていくとして、タグをどうするかですね。実際のところは、それぐらいは、無視しちゃおかなと思ってます。

現時点で、個別アーカイブは、昨日の日付のエントリーまでは、URLのblogをtestにかえればwordpressに移したエントリーにアクセスできる状態になっています(testのURLは近いうちに削除します)。

ここまではすごく簡単。MTからWPへの移行よりも、WPの設定のほうがハマるんじゃないか(たとえば、パーマリンク設定がうまくいかないと思ったら、サーバが.htaccessの使用が制限されているとか)と思えるぐらい、ほんとに簡単でした。

さて、どっちでいきましょうかねぇ。

<追記>
コメントが一部しかひきつげてない(たぶん各エントリーでひとつめのものだけ)のと、トラックバックが全く持っていけてないことに気がつきました。


<追記2>
WXR型式のデータを生成するテンプレートを修正してみました。
Movabel TypeからWordPressへ:WXR(WordPress eXtended RSS)でURLも移行!

どうしても気になるMovable TypeからWordPressへの移行。

まずは、IDEA*IDEAで紹介されていた手順に従って、MT4からWP2.7への移行のイメージトレーニング。

固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ | IDEA*IDEA

# 前準備としてMovableTypeのテンプレートを使って固定リンクに使われているファイル名をだーっと書き出し。

これは簡単。
昔、MT→MTの引っ越しで、この手のことをやってます。
もっとスマートな方法はないものかと思いつつ、エクスポート元の旧MTでURLを書き出し、インポート先の新MTでもURLを書き出し、.htaccessに書いておくリダイレクトのリストを作り上げたのでした・・・。

# WordPressをインストール。各種設定。

これも心配なし。

そして、MTでエクスポートしたデータをWPでインポート。このあと、移行前後でURLをそろえるための作業になります。

# 1.で用意したファイルを使い、WordPressのDBを直接いじってwp_posts.post_nameを一気にUpdate。

ん、まずい。レンタルサーバ(XREA)だと、mysqlを直接いじれない。
けど、phpMyAdminでSQLを実行できるかも。

# 固定リンクを互換性のあるように設定。

これはOK。

# 画像ファイルをごっそりコピー。
# 画像ファイルおよびアーカイブにアクセスできるように.htaccessをごにょごにょ。

これも大丈夫。以前にMT→MTで引っ越ししたときに経験済み。
最近は、Flckrばっかりでこのサーバにないとか、MTのファイル管理を使ってないのも幸いかも。

ということで、流れは問題なさそうなので、このブログのデータをエクスポートしたデータを、test.studio-fu.comというサブドメインに割り当てた別ディレクトリにインストールしたWordPressにインポートしてみました。

続く。


どうも、Movable Typeから、Wordpressへの移行が流行りそうで、その流行に乗ってしまいそうで、前に書いた以上にウズウズしてきています。

えいやとやってしまいたい方はこちらのブログの記事が参考になるかと。手順や、移行によるメリット、デメリットなどがまとめられています。

固定リンクを変えずにスムーズにMovableTypeからWordPressに移行するまでの作業ログ | IDEA*IDEA
ブログをMovableTypeからWordPressに移行しました - trick7
ブログをMT(3.32)からWordPressに移行しました : akiyan.com


アクセスによる負荷対策よりも、ちょっとしたカスタマイズを楽しむ優先度が高いなら、動的生成は大きな魅力(MTのダイナミックパブリッシングは制約が多い感じ・・・)。
管理のためのプラグインに使いたいものが多いのがうらやましい。
携帯対応も大きなアドバンテージ。

移行の手順の詳細な解説も、先に紹介の記事に続いて、これからさらに増えていきそうですし、特にMT3系からMT4系へのアップデートに悩んでいる方なら、確かにWordpressの今回のバージョンはチャンスだと思います。

うちでは、MT4にはアップデートずみですが、ほとんどいじってないから移行の障害は少ないし、MTのアップデートもこれまでは、仕事の待ち時間とかに、かっとなってやってしまったなんてことが多いので、ここしばらくは、本気でやばそうです。
おさえて、おさえて。

お試し中のWordPressにプラグインをいれはじめました。人気のプラグインは、なるほどねぇ、という感じ。

そのなかのひとつが Ultimate Google Analytics plugin 。
Goole Analiticsのアクセス解析コードを自動挿入してくれるもの。

それだけではなく、記事中のリンクのクリック数をカウントするためのスクリプトを挿入してくれたりする、手作業では仕込みが面倒なデータが取れるようになっているとか、管理者でログイン中は解析コードを表示せず、自分が作業中のアクセスを省いたデータが簡単に得られるようになっていたりと、実用的な高機能ぶりです。

ログインの判定とか、プラグインならでは気の利いた動作に、軽く衝撃を受けました。
(WordPressに限らず)プラグインっておもしろいんだなあ。

WordPress 2.7 をインストールしてみました。

日本語版がすでに公開されていたのでダウンロード。

wp-config.phpは手元で作成して、アップロード。
後はアクセスするだけで完了。

成功しました !

WordPress がインストールされました。もっと何か作業をしたかったですか ? がっかりさせてゴメンナサイ。これだけです !

おっしゃるとおり、あっけなかったです。

たまーに使ってみていますが(前回は2.5が発表されたとき。その前は2.3だったかなあ)、基本的に書くと言うことが苦手なので、なにかといろんなサービスやツールは使い切れない感じ。

今回は、WordPressのカスタマイズというテーマで続けてみたいと思っています。
ある程度準備できたらリンクします。
と、宣言しておけばやれるかも。

このサイトについて

アーカイブ

Powered by Movable Type 5.14-ja