Home > 5 月, 2008

2008.05.10

データベースのバックアップ

2008 年 4 月 27 日管理画面に「WordPress 2.5.1 が利用可能です ! アップデートしてください。」のアナウンスが表示されてから大分経ってしまいました。

アップデートにはデータベースのバックアップがまず必要と云う事でWP-DBManager 日本語版に行ってみました。

しかし、WordPress日本語2.5 では自動で

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /w1/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /w1/index.php [L]
</IfModule>

# END WordPress

と書かれた.htaccessファイルが自動で作成されWordPressのルートに存在します。

これは「パーマリンクとかで既に.htaccessを利用している場合には追記」に該当するのでしょうか?
「AddHandler application/x-httpd-phpcgi .php」を追記といってもどうしたら良いのか解りません。

良く判らないので検索し直し
Wordpress 2.5.1: 2.5 からのアップグレード手順まとめ
というサイトをみつけました。
WordPress のアップグレード/詳細
日本語2.3からWordPress日本語2.5にアップグレードしました。

pluginを使わずにSite mapを作る

pluginを使わずにSite mapを作る。

最初に、サイトマップ用のphpファイルを作成します。
/wp-content /themes /お使いのテーマ名 に page.php なければ index.php をコピーして新しくsitemap.php として保存します。(sitemapは任意の名前でokです。ここでは sitemap.php としました。)

sitemaps.phpファイルの最上部に

<?php
/*
Template Name: sitemap
*/
?>

を追加、保存します。

管理ページ → 投稿 → ページ作成 を開き、右側「ページ」のプルダウンメニューに「sitemap」が表示されているか確認しましょう。

管理ページ→表示 → テーマエディターで「sitemap.php」を編集します。

投稿記事の表示部分当サイトのテーマ「koikikuukan3」では以下の様になっている部分のコードを削除。

<div class="entry-body">
<?php the_content(’Read more &raquo;’); ?>
<?php link_pages(’<p><strong>Pages:</strong> ‘, ‘</p>’, ‘number’); ?>
</div><!– /entry-body –>

ここにカテゴリータイトルとエントリー(投稿記事)一覧を表示するためのコードを書き込みます。

<p>カテゴリータイトル名</p>
<ul>
<?php
$posts = get_posts(’numberposts=00&category=00‘);
foreach($posts as $post) : ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endforeach; ?>
</ul>

00は、表示したい記事数
00 は、表示したいカテゴリーIDです。
カテゴリーIDの確認は、管理ページ → 管理 → カテゴリー で行って下さい。

以下、表示したいカテゴリーの数分、カテゴリータイトルと 0000 を変更し繰り返します。

ご注意!
$posts = get_posts(numberposts=00&category=00);

この部分をこのままコピペして使用すると「Parse error: syntax error」をくらう事になります。欧文半角カンマが邦文のカンマに置き換わってしまうためなので2箇所の半角カンマを欧文半角カンマに修正してご利用下さい。(申し訳ありません)

一度作成すればエントリーは自動で表示されますが、カテゴリーを追加した場合やカテゴリー名を変更した場合には、このページも変更する必要があります。

最後にページ作成にてタイトル「sitemap」と書き込み、「ページ」のプルダウンメニューで「sitemap」を選択し公開します。

僕は「Site02」として設置しています、又「Site map」の方はプラグイン Sitemap Generatorを利用して設置していますがどちらがいいのでしょう?。

カテゴリーの順序を並べ替えるPlugin category-order2.0.1を使用する事でカテゴリーの順序が自由に帰られる事になりました。

こうなるとプラグインで作成したカテゴリーの順序は自由になりません、という事で当サイトでは「pluginを使わずにSite mapを作る」方を採用する事にしました。

2008.05.09

プラグインの整理

このサイトの設置で使用しているプラグイン
■Akismet 2.1.6:コメントスパムをはじくPlugin
■Category Order 2.0.1:カテゴリーの順序を自由に並べ替えるPlugin
■Commented entry list  1.2:コメントとトラックバックを分けて表示するplugin

テーマkoikikukan3を使用するためにはまずはこれを有効化しておく必要があります。

■Contact Form 7 1.7.7.1:メールフォームを設置するためのPlugin
■Mobile Eye 1.0:サイトを携帯から閲覧するためのPlugin
■Permalink Redirect 1.0:パーマリンクアドレスを安定させるのでSEO対策としても有効です。
■Realtime Calendar 1.3:WordPressのカレンダーを休日表示付きにカスタマイズするplugin
■Title Suffix 1.0:サイトのソースに表示されるタイトルの見栄えを良くするplugin
■WP-SimpleGmaps 0.3.3:投稿記事にgoogle mapsをアップするためのPlugin
現在は未使用になっています。
■WP-SlimStat 0.8.7:アクセス解析plugin
WP Multibyte Patch 1.0:文字の取り扱いに関する不具合の累積的修正と強化を行うPlugin
僕にもよくわからないプラグインですがデフォルトで設置されているので「使用」にしています。

■メールフォームを設置するためのプラグイン:PXS Mail Form, modified for Akismet 2.6.1(当サイトではこちらを採用)

Another HTML-lintの指摘

Another HTML-lintによるとこの<a> のアンカーhogehoge は nn行目で異なるリンク先を指しています。
の指摘を受けています。
こんな具合に説明をして下さっているのですが

<a href="http://www.everything.org/">なんでもかん<a href="http://www.uso800.ac.jp/~k16/everything/">なんでもかんでも</a>
もし、このような必要性に迫られたときは、異なるTITLE属性を付けて区別するように薦められています。
<a href="http://www.everything.org/" title="NANDEMO">なんでもかんでも</a>
<a href="http://www.uso800.ac.jp/~k16/everything/" title="KANDEMO">なんでもかんでも</a>

どんな回避策が在るのでしょう?

2008.05.08

サイドバーの折りたたみ

サイドバーのArchivesを折りたたみにするためにHTMLに以下のように記述しました。(折りたたみjavascriptを外部ファイルとして設置する方法)
以下のコードをoritatami.jsとしてサーバーの適当なディレクトリ(設置したWordPressの外部ディレクトリにしておけば複数ののWordPressを遣う場合に便利です。)に保存

function oritatami(id){
obj=(document.all)?document.all(id):((document.getElementById)?
document.getElementById(id):null);
if(obj) obj.style.display=(obj.style.display==”none”)?”block”:”none”;
}

header.phpに以下javascriptを読込むコードを書き込みます。

<!–折りたたみメニューjis読込みここから –>
<script type="text/javascript" src="http://minobu.net/oritatami.js"></script>
<!–折りたたみメニューjis読込みここまで –>

サイドバーArchivesの設置部分を以下の様に書き換えます、これで一応の折りたたみの完成です。

<li>
<h2><a href="URL" onclick="oritatami(’ori1‘);return false" onkeypress="o">Archives</a></h2>
<div id="ori1" style="display:none">
<ul>
<?php wp_get_archives(); ?>
</ul>
</div>
</li>

しかし、この方法だと四角い罫に囲まれたメニュータイトルの文字にリンクが張られています、これをメニュータイトルの文字へのリンクではなく、四角い罫に囲まれた部分全体にリンクが出来ないかと考えました。そこで

<li>
<a href="URL" onclick="oritatami(’ori1‘);return false" onkeypress="o"><h2>Archives</h2></a>
<div id="ori1" style="display:none">
<ul>
<?php wp_get_archives(); ?>
</ul>
</div>
</li>

のようにArchives部分をを<h2>Archives</h2>のようにしてみました。
ori1の部分は他のidと異なる別のidを書いていきます。

なんと現在のこのサイトの左サイドバーにあるCalender部の折りたたみのように、思い通り四角い罫に囲まれた部分のどこをクリックしても折りたたみの開閉が出来ているではあ〜りませんか。
しかしです、この方法ではAnother HTML-lint に「<h2> を n行目の 内に書くことはできません。」と指摘されValidでなくなってしまうのです。

小粋空間さんの以下もすてきなんですがWordPressに流用出来ないものでしょうか?
折りたたみメニュー
サイドメニューの折りたたみ(定義リスト編)
小粋空間: サイドメニューの折りたたみ(v4.0)
小粋空間: サイドメニューの折りたたみ(v5.0:ゆっくり折りたたむ)

携帯サイトに「友達に教える」リンクをつくる

携帯TOP
携帯サイトサンプル

WordPressを携帯から閲覧するpluginの導入でこのサイトも携帯から見る事が出来るようになりました。

ところが、携帯のサイトに寄って頂くためには此のサイトからQRコードを読み取って頂くしか方法がありません。

知り合いが此のサイトのQRコードをを読み取ってそれを次の友達にも教え安くするためには「友達に教える」というリンクが在るページが欲しくなります。

そこで別に携帯用のページを作成し、そこから携帯ブログへのリンクと「友達に教える」というリンクを作成する事にしたらどうでしょう。

なるべく携帯ページの下の方の位置に置くのがいいと思います。

「友達に教える」というリンクは以下のように作成しました。

<a href="mailto:?body=ここに自分のサイトのURL">友達に教える</a>

ついでにお問い合わせ先も作成しておけば安心感も与える事が出来るかも?

<a href="mailto:ここに問い合わせ用メールアドレス">お問い合わせ</a>

2008.05.06

IEの後方互換モード

何も言いたくなくなります。
ただただInternet Explorer のおかげで多くの人が無駄に時間を浪費させられているという事だけなんです。

たとえ車が全部電気や水素で走る事になったとしても、後方互換で当社の車は「ガソリンでも走ります」と言っていつまでも人類がガソリンへの依存体質から抜け出せないようにして自分のシェアを守りつづけるのでしょうか?

標準準拠・後方互換モード各々の CSS 解釈の違いをまとめた …
標準準拠と過去互換モード
文書型宣言とブラウザの表示モード
またもやIEの後方互換に・・・
インターネットエクスプローラ(InternetExplorer:IE)とxhtml
マイクロソフト、IE8で方針転換–ウェブ標準準拠モードをデフォルトに

google mapsの表示テスト

別サイトに設置したgoogle mapsの表示をTest your web design in different browsersを使用して
MSIE 5.5、MSIE 6.0、MSIE 7.0、Firefox 2.0、Opera 9.27の5種類のブラウザで確認してみます。

他のサイトでgoogle mapsのみのページを作成しobject要素を使いブログに設置した場合。
google maps表示
MSIE 5.5、MSIE 6.0、MSIE 7.0、Firefox 2.0、Opera 9.27の5種類のブラウザでレイアウトに問題がありそうなものの全て表示出来ているようです。

google mapsのマイマップで作成した地図をobject要素を使いブログに設置した場合。
google my map
テスト画像で見る限りMSIE 5.5、MSIE 6.0、MSIE 7.0は全滅です、Firefox 2.0、Opera 9.27については全く問題はありません。

この地図はgoogle mapsのマイマップで制作したもののgoogleで提供されている「埋め込み地図」用コードをobject要素を使いブログに設置しただけなのですが、googleのコードがInternet Explorerにはあわないのか?又はInternet Explorerがgoogleマイマップに対応してないかのどちらかという事になるのでしょうか?

2008.05.05

プラグインのバックアップ

管理画面→プラグインを覗いてみるとサイトマッップ作成用プラグインの「Dagon Design Sitemap Generator」の所に「新しいバージョンの Dagon Design Sitemap Generator が利用可能です。バージョン3.13をこちらからダウンロードするか、または自動アップグレードを実行してください。」とありました。

おう、自動アップグレードなんてすばらしい!と早速ページに飛び
ホスト名:ーザー名:パスワード:
を書き込み「開始」ボタンをクリック

エラー: サーバー接続中にエラーが発生しました。設定を確認してください。

となりアウト。入力項目の内容はFetchで接続する時と全く同じなので間違いはないはずなので僕の場合「自動アップグレードの実行」は不可のようです。

結局旧プラグインを削除、新しいプラグインをに入れ替えました。

あ〜あ!もう3時になっていまいました。
アップグレードはもうちっと勉強してからになりますか?

2008.05.03

XML 宣言

XHTML では冒頭に XML 宣言を記述することが推奨されています。
当サイトでは以下のコードとなるのですが

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

「<?」が「<?php」の省略タグとみなされ「Parse error: syntax error, …」というエラーや画面に何も表示されないエラーがあります。そこで

<?php echo(’<?xml version="1.0" encoding="utf-8"?>’) ?>

のように記述すると云う事になります。

しかし、シェアNo.1のWinIE6 には DOCTYPE 宣言より前に何か文字列があるとQuirks モードになってしまうバグ?があります。

IE6でのXML宣言の問題と回避方法を採用する事になります。

■Standards モード:仕様どおりに解釈するモード。CSS をきちんと書けば、きちんと解釈される。
■Quirks モード;CSS をきちんと書かなくても間違いを補完するモード。(仕様どおりに書かれた CSS では制作者の意図どおりに表示されない場合があります。”後方互換モード”)

参考:ボックスモデルと DOCTYPE スイッチ