happy new year

Jan 1st, 2010  Posted in 未分類 | No Comments » 
year 2010 first day is cool

管理画面にログインできない現象と、いつの間にか復旧メモ

Dec 16th, 2009  Posted in 未分類 | No Comments » 

やっと、アップグレードが終わったと思っていたら、管理画面にログインできない現象が発生していました。

wp-login.phpにアクセスしようとしても出来ません。
/wp-admin/にアクセスしても、wp-login.phpにりダイレクトされてしまいます。

wp-login.phpにアクセスできないので、見た目には、XREAの画面に遷移してしまって何がおきたのかわかりません。

wordPressは、mod_rewriteを使っているので、ついhtaccessの設定が間違っていないかどうかが気になりましたが、

wp-login.phpになぜアクセスできないのかを調べることにしました。

使ったのは、exit;だけ、、、、

スクリプトを途中でぶった切ると、大体どのあたりが異常な動作にかかわっているかわかるので、聴診器を当てるように、exit;を置いては、ファイルの後方に移動していきました。

最後まで、いっても結局問題ない。

ちゃんと、ログイン画面が表示されるようになっています。

不思議ですね。クッキーかなんかの問題だったのかな、などと考えつつ、めでたしとする。

このblogも2.8.6にアップデート

Dec 11th, 2009  Posted in 未分類 | No Comments » 

無料ブログでの、アップデートは、どえらい作業になりました。

自動アップデートは、使えませんでした。(以前は、使えていた気がするんだけれど、、思い出せない)
.htaccessとwp-config.phpを除いて、サーバのすべてのファイルを削除して、アップロードし直しました。

上書きしようとしましたが、アップロードできないファイルが続出。

削除してやり直しましたが、それでも、問題なくアップロードできたはずのファイルが、アップロードされていないという現象がありました。

不安定感ありますね。

それでも、アップロードして、何とかアップグレードに成功しました。よかった、よかった

WP アップデートしたら 500エラー

Dec 11th, 2009  Posted in 未分類 | 1 Comment » 

サブドメインで運用しているwordPress2.7.1(?)を2.8.6にアップデートしたところ、

500サーバエラーと表示されて、どうしようもない状態になってしまいました。

修理を行いましたので、そのメモを残します。今回は、通常のMUではないWPです。

たぶん 原因は、

.htaccessファイルへの書き込みエラーが発生、上書きができずに、一部文字化けを起こして500エラーが発生していた模様です。

以下のディレクティブを、.htacessに書き足しておく。

<IfModule mod_rewrite.c>
RewriteEngine On
 
RewriteBase /サイトにあわせる/
 
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
 
 
RewriteRule . index.php [L]
</IfModule>

これで公開画面は、正常に表示ができるようになりました。

続いて、管理画面を確認すると、スタイルが適用されていません。

wordPressのスタイルが適用されなくなる問題は、XREAの場合は、レスポンスヘッダー周りが原因であることが多い

PHP CGIとして動作させる場合には、header()が使えなくなるので、レスポンスヘッダは、text/htmlになってしまい。

このため、レスポンスヘッダをちゃんと確認しないIEはスタイルが適用されているのに、レスポンスヘッダをちゃんと見るFxは、スタイルが適用されない。

という現象が発生します。

だから、スタイルが適用されていないときには、IEとFxで見てみれば、ヘッダがらみの問題かどうかを判定できるので、それなら後は、wp-adminでぃれくとりの.htaccessに

<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<files upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#import
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>

この記述にsiteも、直らないときには、(実際直らなかったので)

<files load-styles.php>
RemoveHandler application/x-httpd-phpcgi .php
</files>

としてみたら、動作するようになりました。

PHPDocumentorでPHPの関数ノート作ったので公開

Nov 27th, 2009  Posted in 未分類 | No Comments » 

wpMU2.8.6 
必要とする方は少ないかもしれませんが、、、
http://www.tenman.info/wordpress_mu_doc/(wordPress MU 2.8.6 Document)

管理画面のthickBoxを流用する

Sep 10th, 2009  Posted in 未分類 | 1 Comment » 

Samples

画像thickbox

ドキュメントブロックthickbox

2009/12/17:
テーマファイルの変更をしたら、テキストをthickbox表示することが出来なくなりました。
原因は、まだわかりません。
私の環境では、一瞬thickboxが表示され、真っ白な画面にリダイレクトされているように見えます。
画像のthickboxは正常に動作しているように見えます。

概要

wordPressは、管理画面のコントロールに使用するなどの理由で、たくさんのjavascriptファイルをすでに組み込んでいます。

このような組み込み済みの、javascript css等を閲覧画面からも利用することができます。
組み込み関数を利用するために

wp-includes/functions.wp-scripts.phpに中にBackPress script procedural APIと題された関数群があります。

thickboxを利用するために

手順

wp_enqueue_script('thickbox');
wp_enqueue_style('thickbox');

を、例えば、テーマディレクトリのheader.phpやfunctions.phpに追記します。

これで、スタイルとスクリプトの設定は完了です。

関数詳細

補足

wordPressMU等で、画像へのパスが間違っていることがあります。
その場合には、wp-includes/js/thickbox/thickbox.jsの

/*
 * Thickbox 3.1 - One Box To Rule Them All.
 * By Cody Lindley (http://www.codylindley.com)
 * Copyright (c) 2007 cody lindley
 * Licensed under the MIT License: http://www.opensource.org/licenses/mit-license.php
*/
 
 
var tb_pathToImage = "http://example.com/wp/wp-includes/js/thickbox/loadingAnimation.gif";
var tb_closeImage = "http://example.com/wp/wp-includes/js/thickbox/tb-close.png";
2009/9/27パスの記述を修正しました。
理由:
/wp/wp-includes…から始まる指定だと、アーカイブ表示のときに、画像が表示されなくなるため。

tb_pathToImage,tb_closeImageのパスを変更する必要があります。

以上でthickboxを利用することができます。

現在利用しているテーマファイル名を調べる。

Aug 26th, 2009  Posted in 未分類 | No Comments » 

カレントテーマファイルの情報(style.css)のコメント欄に記載しているものを、取得したい。
と思いましたが、そのような日本語情報は、少なかったので、メモに残しておきます。

現在使用しているテーマの名前は、以下のようにして求められるようです。

$name = get_current_theme();

詳細は、includes/theme.php より、

/**
 * {@internal Missing Short Description}}
 *
 * @since unknown
 *
 * @return unknown
 */
function current_theme_info() {
	$themes = get_themes();
	$current_theme = get_current_theme();
	$ct->name = $current_theme;
	$ct->title = $themes[$current_theme]['Title'];
	$ct->version = $themes[$current_theme]['Version'];
	$ct->parent_theme = $themes[$current_theme]['Parent Theme'];
	$ct->template_dir = $themes[$current_theme]['Template Dir'];
	$ct->stylesheet_dir = $themes[$current_theme]['Stylesheet Dir'];
	$ct->template = $themes[$current_theme]['Template'];
	$ct->stylesheet = $themes[$current_theme]['Stylesheet'];
	$ct->screenshot = $themes[$current_theme]['Screenshot'];
	$ct->description = $themes[$current_theme]['Description'];
	$ct->author = $themes[$current_theme]['Author'];
	$ct->tags = $themes[$current_theme]['Tags'];
	return $ct;
}

また、以下の関数でも取得できるようです。

<?php
    $theme_data = get_theme_data(ABSPATH . 'wp-content/themes/default/style.css');
    echo $theme_data['Title'];
    echo $theme_data['Author'];
?>

続々 XREA無料サーバにWordPress MUを設置 (完結編のつもり)

Aug 5th, 2009  Posted in 設置 | 1 Comment » 

前回完結のつもりで書いたエントリは、残念ながら、完結にいたりませんでした。

原因を追いなおして、もう一度やり直しました。
2.8.2(2)にアップデートして動作確認しました。

続 XREA無料サーバにWordPress MUを設置 (完結編のつもり)
から 修正点は以下のとおりです。

#wp-admin/.htaccess
<files async-upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
<Files plugin-install.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<Files update-core.php>
AddHandler application/x-httpd-phpcgi .php
</Files>
<files upload.php>
AddHandler application/x-httpd-phpcgi .php
</files>
#import
<files admin.php>
AddHandler application/x-httpd-phpcgi .php
</files>
LayoutIgnoreURI *

管理画面の、スタイルシートが、Firefoxなどのブラウザで適用されないなどの問題は、
XREA無料サーバが、mod_layoutを使って挿入しようとする広告により、スタイルシートが、text/htmlになるためと考えています。
管理画面を操作すると、カテゴリの追加などでも、赤枠表示が出てエラーになる現象も同様と思います。もっと、きめ打ちする必要があるのかもしれませんが、ログイン後に表示されるものなので、LayoutIgnoreURI * を追加しています。

#wp-content/.htaccess
 
LayoutIgnoreURI *blogs\.php

もともとの、LayoutIgnoreURI blogs.phpは、書き方が悪く動作していない様子でした。

 
LayoutIgnoreURI *\.gif
LayoutIgnoreURI *\.png
LayoutIgnoreURI *\.jpg

同様に書き方を改めました。

以上で、ajax css アップロードなどが正常に動作している様子です。

なんかおかしい

Aug 4th, 2009  Posted in plugin, 基本, 未分類 | 3 Comments » 

XREA無料サーバでwordPressMU ちょっと動作がおかしいです。

ajaxでのエラーも出ているようなので、近々もう一度調べたいと思います。

画像などのヘッダが、text/html担っている様子です。
画像ファイルは、そのままあるようですが、表示できなくなっている様子

クラスになったウィジェット

Aug 4th, 2009  Posted in 未分類 | No Comments » 

2.8.2にアップデートして、ウィジェットのページが、だいぶ変わっていることに遅ればせながら気づき、
そういえば、クラスになったウィジェットをためしてみようと思いました

ウィジェットAPIのページを見れば、できそうです。

ウィジェットのページは、以下のようになっています

ウィジェットタイトルと簡単な説明書きを表示するようになっているわけですが、最初に紹介したページには、概要やタイトルをどのように記述すればいいか、見つけることができなかったので、方法をメモしておきます。

コンストラクタを、以下のように変更すると、表示できるようです。
 
 /** constructor */
    function hogeWidget() {
	$widget_ops = array( 'description' => 'ここにウィジェットの説明文') ;
 
        parent::WP_Widget(false, 'ウィジェットのタイトル',$widget_ops);	
    }

※クラスファイルは、PHP4のクラスを作らないとだめなようです。PHP5の function __construct() { といった書き方はできませんでした。