IE6とかIE7とかは知りません

HTML5+CSS3で行こうと考えてから一ヶ月。
ヘッダー部分で止まってるという事実!
そして、HTML5とかCSS3っぽいの使ってない…

dw2010083101 550x224
高さがずれてイヤン

( ゚Д゚)ハッ

dw2010083102 550x258

よし、寝るか!

WordPressのホームページを変更する

WordPressをwordpressディレクトリにインストールすると、ホームページが/wordpress/index.phpになって、ちょっとURLが不格好になる。

こんな感じに。
http://awgnirzard.dynalias.com/wordpress/

そこで、インストールしたディレクトリ以外の場所をホームにして、ちょっとURLの見栄えを良くしよう。

こんな感じに。
http://awgnirzard.dynalias.com/

■ やり方
1.index.phpを設置する。

wordpressディレクトリの中にあるindex.phpをwordpressディレクトリと同じ階層(最上層ディレクトリ)にコピーする。

コピーしたindex.phpを変更する。

<?php
/**
 * Front to the WordPress application. This file doesn't do anything, but loads
 * wp-blog-header.php which does and tells WordPress to load the theme.
 *
 * @package WordPress
 */

/**
 * Tells WordPress to load the WordPress theme and output it.
 *
 * @var bool
 */
define('WP_USE_THEMES', true);

/** Loads the WordPress Environment and Template */
require('./wordpress/wp-blog-header.php');
?>

wp-blog-header.phpはindex.phpと同じ階層でなく、wordpressディレクトリの中にあるので”/wordpress”を追加する。

2.WordPressの設定を変更する
管理画面 -> 設定 -> 一般のサイトのアドレス (URL)を変更する。


変更前:http://awgnirzard.dynalias.com/wordpress
変更後:http://awgnirzard.dynalias.com
※最後に ‘/’ は要らないようです。

「変更を保存」を押下。

3.ページ確認
管理画面の左上のブログタイトルをクリックして、変更したURLでホームページが表示されることを確認する。

WordPressのインストール

■ 動作環境のチェック
WordPressをサーバーにインストールする前に、動作環境をチェックする。
動作環境は

WordPress 日本語版 2.9 以降
 ・PHP バージョン 4.3 以上
 ・MySQL バージョン 4.1.2 以上

です。

PHP、MySQLのバージョンは各レンタルサーバーで確認するか、index.phpに

<?php phpinfo(); ?>

を記述して確認して下さい。
※確認後はphpinfoを記述したファイルは削除すること。

■ MySQLデータベース作成
MySQLにデータベースを作成します。
各レンタルサーバーのデータベース作成方法に沿って作成してください。
データベース名、ユーザー名、パスワードは忘れないように。

自前の人用

# mysql -u root -p
Enter password: (パスワード入力)

// awgnirzardデータベースを作成
mysql> create database awgnirzard;
Query OK, 1 row affected (0.11 sec)

// awgnirzardデータベースにアクセス出来るwordpressユーザーを作成
mysql> grant all privileges on awgnirzard.* to wordpress@localhost identified by 'パスワード';
Query OK, 0 rows affected (0.12 sec)

mysql> exit
Bye

■ WordPressインストール
WordPress | 日本語よりファイルをダウンロード解凍後、wordpressディレクトリをサーバーへアップロード。
サーバーへSSHで接続できる人はwgetしてunzipすると速いよ。

dw2010071401 550x389

■ WordPressコンフィグの設定
wordpressディレクトリの下のwp-config-sample.phpをコピーして、ファイル名をwp-config.phpに変更して編集する。
データベースを作成したときに設定した、データベース名、ユーザー名、パスワードを入力して、アップロード。

// ** MySQL 設定 - こちらの情報はホスティング先から入手してください。 ** //
/** WordPress のためのデータベース名 */
define('DB_NAME', 'データベース名');

/** MySQL データベースのユーザー名 */
define('DB_USER', 'ユーザー名');

/** MySQL データベースのパスワード */
define('DB_PASSWORD', 'パスワード');

■ WordPress初期設定
基本的な所の準備ができたのでブログ名等を設定するためにhttp://サーバー名/wordpress/へアクセスする。

dw2010071402 488x550

サイトのタイトル、ユーザー名、パスワード、メールアドレスを入力して「WordPressをインストール」ボタンを押下する。
※設定したメールアドレスに完了通知メールが送信されてくるので、ちゃんと存在するアドレスを入力すること。

もう一度、http://サーバー名/wordpress/へアクセスし、ブログがちゃんと作成されているか確認する。

管理画面へログイン出来ることも確認するために、http://サーバー名/wordpress/wp-login.phpへアクセスし、先程設定したユーザー名とパスワードでログインする。

以上でインストール完了です。

自動整形のせいで死にたい

WordPressにはHTMLの自動整形があるんだが、頭があまりよろしくない…
頼んでもないところに勝手にbrタグ入れたりする。
普通に記事を書くだけなら、ソースが汚くなるだけで大した問題はない。
ただ、PHPを記事上でも動くようにして、formとかを使ったプログラムを書いていると、フォーム内にbrタグが出てきたりする。
どう頑張っても、出て来る。

自動整形機能を無効にすればいいんだけど、無効にするような設定なんてない。
親切の押し売り状態である。

そこで、WP-UnFormatingというプラグインを入れて、このふざけた自動整形をぶち壊す。

BeLive » [WP-Plugins]WP-UnFormating 1.x : Blog Archive

インストール有効化して、自動整形をさせたくないところを[unformat][/unformat]タグで囲めば、その部分だけ自動整形されなくなる。

ただし、全体的にpタグで括られるので…

[unformat]
<p>テストですか?</p>
<p>テストですよ?</p>
<p>テストですね!</p>
[/unformat]

記事本文を上記のように書いて投稿すると、実際のページは

<div class="post_contents">
    <p>
        <p>テストですか?</p>
        <p>テストですよ?</p>
        <p>テストですね!</p>
    </p>
</div>

こんな感じに、pタグが入れ子になってしまうので、最初のpタグ開始と最後のpタグ終了は外しておきましょう。01

[unformat]
テストですか?</p>
<p>テストですよ?</p>
<p>テストですね!
[/unformat]

本文だけ見ると、気持ち悪いけどね。

  1. pタグは入れ子に出来ません。 [戻る]

たまにはチェック

たまにはAnother HTML-lint gatewayでチェックしてみる。

98点だった。

さて、修正するか。

WordPressに403を

WordPressはテーマに404.phpがあると、404エラーの時404ページを表示してくれる。

/index.php?error=404

上記にアクセスすると、404ページが表示されるわけだが…
?error=404ってどう見てもGETパラメータである。
ということは、だ。
403にしたら、403ページが表示できるようになるんじゃないか?

こっち見んな!

WordPressの管理ページがある/wp-adminに機械的にアクセスがあったので拒否る事にする。

/wp-admin以下に.htaccessを設置する。
そして中身を下記のようにする。

AllowOverride   Limit
Order           Deny,Allow
Deny from       All
Allow from      127.0.0.1 203.135.

1行目でアクセス制御を行うディレクティブ(Order, Allow, Deny)を有効にする。
2行目でAllow(許可)とDeny(拒否)のどちらを先に評価するか設定。
3行目で全て拒否。
4行目で許可するIPを設定。
上記では127.0.0.1(ループバックアドレス)と203.135.???.???を許可する。

許可されてないIPで接続して、403ページが表示されたらおk。
っていうけど、許可されてないIPから接続するのって意外と難しいよね。
ホームページテスト【外部からの表示確認】
とかで確認するといいかも。

WPAdsを使わない時のために

広告等をランダム表示できるプラグインWPAdsをテーマに組み込んでいて、その組み込んだゾーンが空になった場合、何も出力されなくなるので、空divになってしまったり、テーマが崩れる事があるので、その対策。

wpadsはprint文が書いてあるだけなので、wpadsの中で呼んでるget_wpadsを使う。
get_wpadsだとhtmlを返してくれるので、これを変数に入れてissetで中身が入ってるかどうかがわかる。

うちの場合はこんな感じ。

<?php $wpads = get_wpads('header'); ?>
<?php if(isset($wpads)): ?>
<div id="ad">
    <div id="ad_inner">
        <?php echo $wpads; ?>
    </div>
</div>
<?php endif ?>

get_wpads(‘header’)の結果を変数$wpadsに代入。
変数$wpadsが空じゃなかったら、周りのdiv要素とechoで変数$wpadsの中身を出力。

ウィジェットでPHPを実行する -Executable PHP widget-

WordPressのウィジェットは、手軽にサイドバーにテキストやHTMLを追加できるけど、PHPが実行できない!

PHPが実行できたらもっと便利!
わざわざ、テーマにPHP追加しなくてよくなるしね。

ってことで、ウィジェットでPHPが実行できるプラグインを追加。

WordPress › PHP Code Widget « WordPress Plugins

インストールして有効化するとウィジェットに「PHP Code」が追加される。
これに思う存分PHPを書きなぐれば、実行結果がサイドバーに表示されてウマー。

今回、ウィジェットでPHP実行して何がしたかったかというと、WPAdsをウィジェットで表示させること。
サイドバーに広告をビローンと何個も表示させるのは見苦しいのでな。

uptime!! v0.3

WordPressプラグインで管理ページ以外のところにフックを使ったことがなかったので、試しにthe_contentにフックしてみた。

とりあえず、記事に書かれた任意のhtmlコメントを置換してみることに。
“<!– uptime!!#uptime –>”で連続稼働時間
“<!– uptime!!#idletime –>”でアイドル時間

ま、実用性はないよねぇ…