WordPressで文章を書いている際に過去の自分の投稿にリンクしたいことがよくあります。今までは<a href=”/tech/index.php/archives/12345″>過去の投稿へのリンク</a>のように普通のアンカータグでリンクを貼っていたのですが、これだと万が一パーマリンクのURLの設定を変えた場合に手動で一つ一つリンクを直すのが嫌だなぁと思ってました。
で、これを回避するのが最近見つけたThe Permalinkerというプラグイン。
[permalink id=12345]過去の投稿へのリンク[/permalink]
というように書くと過去の投稿へのリンクを生成してくれます。こういうプラグイン絶対あると思ってたんですが、なかなか見つけられなくて悔しい思いをしていたので、非常に嬉しいです。よかったよかった。
WordPress 2.8がリリースされていたのでアップグレードしてみました。
自分の場合は
- データベースとファイルをバックアップ
- zipファイルをダウンロードして解凍
- rsync -Cavz wordpress/* path-to-wordpress/ してファイルをコピー
- wp-admin の管理画面にアクセス。Database Upgrade Required と言われるのでアップグレード
- 完了
という手順です。
まず何より最初に、2.8はいままでよりもずいぶんスピードアップしています。
とのことだったので、TOPページのレスポンスをYSlowで測ってみたのですが、
で変わってなかったです。もちろんテーマとか使っているプラグイン、ウィジェット次第だと思うので、自分の場合は変化がなかったというだけの話です。
ちなみに管理画面のトップページがなんかおかしい気がします。ナビゲーションの▼クリックしても何も反応しない…
昨日のサーバリプレースでこのブログの移行も行なったのですが、
- データはMySQLのデータベースに保存されているので、mysqldumpしてそれを新しいサーバでインポート
- WordPressのファイルは rsync で一括転送
して動作確認をしていたところ、どうも wp-admin の管理画面からログインすると
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 71 bytes) in /path-to-wordpress/wp-includes/gettext.php on line 91
というエラーが… メモリがオーバフローしているみたいなのでググってみると「php.iniのmemory_limitを増やせば直る」とか書いてあるのですが、それをやっても全然直らずに途方に暮れていました。もしかすると i386 -> amd64 のアーキテクチャ変更がまずかったのか?とあたりをつけて色々試してみたところ、WordPressの管理画面の言語を ja から en に変更したらあっさり直りました!
具体的には wp-config.php の以下の部分を修正。
@@ -29,7 +29,7 @@
// と設定すると、日本語 (UTF-8) がサポートされます。
// (訳注: このパッケージでは日本語 (UTF-8) が設定されているので、そのままお使いの場合は
// 変更する必要はありません。)
-define ('WPLANG', 'ja');
+define ('WPLANG', 'en');
いやはや、もう再インストールを覚悟していたので、問題回避できただけでもよかったです。日本語リソースの ja.mo が悪さをしていたのでしょうか?本当の原因がわかってないのが気持ち悪いですが、とりあえず良しとします。
長らく使用していたiNoveですが、黒とグレーで覆われたカラーがダークな印象を与えているようで嫌だったので、もうちょっと優しい色のテーマを探していました。色々探したところHello :Dがなかなかいい色使いだったので重い腰を上げてテーマを変更。
デフォルトのままだと幾つか気になる点があったので以下の点を変更しました。これでだいぶ見やすくなってかなり満足です。
サイドバーのリンク
右側のサイドバーのリンクはアンダーラインがなくてリンクだと認識されにくかったので、下線を引くように修正しました。
Index: css/default.css
===================================================================
--- css/default.css (revision 33)
+++ css/default.css (working copy)
@@ -350,7 +354,6 @@
#sidebar a {
color: #333;
-text-decoration: none;
}
#sidebar a:hover {
既読リンクの色を変えるように
デフォルトでは未読リンクも既読リンクの色も同じだったのですが、個人的なユーザビリティ哲学として既読リンクはわかるようにしたかったので、これを紫にするように修正。
Index: css/default.css
===================================================================
--- css/default.css (revision 33)
+++ css/default.css (working copy)
@@ -38,7 +38,7 @@
text-decoration: none;
}
-h1 a:hover, h1 a:active {
+h1 a:hover, h1 a:active, h1 a:visited {
color: #fff;
}
@@ -130,6 +130,10 @@
text-decoration: none;
}
+a:visited {
+color: purple;
+}
+
a {
color: #0063DC;
text-decoration: underline;
@@ -269,6 +269,11 @@
text-decoration: underline;
}
+.title h2 a:visited {
+color: #369
+text-decoration: none;
+}
+
.postdata {
color: #690;
margin-left: 0.8em;
パンくず
iNoveではデフォルトで表示されていたパンくずですが、Hello :Dでは表示されないのでこれを表示されるように。
Index: single.php
===================================================================
--- single.php (revision 33)
+++ single.php (working copy)
@@ -3,7 +3,7 @@
<div id="leftcolumn">
<?php if (have_posts()) : ?>
-
+ <div style="padding: 0 15px 5px;" class="post_end"><a href="<?php echo get_option('home'); ?>">Home</a> » <?php the_category(', '); ?> » <?php the_title(); ?></div>
<?php while (have_posts()) : the_post(); ?>
<div class="post" id="post-<?php the_ID(); ?>">
<div class="title">
ページメニューの強制大文字化を解除
ヘッダー部分のページメニューで “Apache” というページがなぜか “APACHE” となっていたのでこれを解除。つーか、ユーザが入力したページ名を尊重しようよ。
Index: css/default.css
===================================================================
--- css/default.css (revision 36)
+++ css/default.css (working copy)
@@ -181,7 +181,6 @@
top: 25px;
height: 35px;
margin: 0;
-text-transform: uppercase;
}
投稿内のh3タグをわかりやすく
投稿内で見出しとして使用するh3タグがあまり見出しとしての視認性を発揮していなかったので、サイドバーで使用されている画像をつけるように修正。
@@ -286,6 +291,8 @@
.entry h3 {
font-size: 1.3em;
+background: url(../images/widget_title.png) no-repeat;
+padding-left: 25px;
}
ロードするjQueryのバージョンを変更
header.phpを見てみると、
タグ内で
Google AJAX Libraries API を使ってjQueryをロードしているのですが、jQueryのバージョンが1.2.6なのでこれを1.3にします。
Index: header.php
===================================================================
--- header.php (revision 35)
+++ header.php (working copy)
@@ -11,7 +11,7 @@
<!--[if IE]><link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/css/ie.css" type="text/css" media="screen, projection" /><![endif]-->
<script type="text/javascript" src="http://www.google.com/jsapi"></script>
-<script>
+<script type="text/javascript">
// Load jQuery
- google.load("jquery", "1.2.6");
+ google.load("jquery", "1.3");
</script>
このエントリのようにはてブのコメントをブログ内で展開するのってどんなプラグインなのだろう、と思って調べたらHatena bookmark anywhereというものでした。というわけで早速インストールしてみてこんな感じになりました。
WordPressでのデフォルトのソースコードの表示がいまいち気に入らなかったので、これを綺麗にカラー表示してくれるプラグインWP-Syntaxプラグインをインストールしました。
で、このプラグインの良い点4つほど。
- 対応している言語が非常に多い。C〜Ocamlまで対応している
- <>などのタグのエスケープが必要ない
- ソースが本文領域からはみ出す場合、横スクロールバーを出してくれる(iNoveはデフォルトではこれを出してくれず表示されなくなってしまう)
- <pre lang=”perl”> とするだけなのでお手軽
ただ、これはiNoveテーマの問題かもしれないのですが、<pre lang=”…”>で囲むと文字サイズが12pxに固定されるという問題があったので、wp-content/themes/inove/wp-syntax.css を以下のように修正しました。
Index: wp-syntax.css
===================================================================
--- wp-syntax.css (revision 8)
+++ wp-syntax.css (working copy)
@@ -41,7 +41,7 @@
float:none;
clear:none;
overflow:visible;
- font-size:12px;
+ font-size:108%;
line-height:1.333;
}
.line_numbers pre {
これで通常の文章と同じフォントサイズでさらに可変になります。このプラグインのおかげでブログにコードを掲載するのが少し楽しくなりましたとさ。
WordPressをインストールしてから1ヶ月の間に試してそこそこ良かったテーマです。色々と試したりしたのですが、最終的に悩んだものは以下の3つでした。
wp.Vicunaはモジュール化されているようでCSSファイルが複数に分かれていてけっこう表示速度が遅かったので、今はiNoveに落ち着いています。昔のおいぬま日報で使っていたような透き通った感じのものがよかったのですが、細部までこだわり出すとなかなかいいものがありませんでした。
なんかいいものがあったら乗り換えたいものです…
コメント