Word pressのテーマは firephpでハックすれば 良かったのか

Preview:

Citation preview

WordPressのテーマはFirePHPでハックすれば

良かったのか

@tanakahisateru

自己紹介

タナカヒサテル@tanakahisateru

PHPのフレームワークを開発しています

Pinoco https://github.com/tanakahisateru/pinoco

WordPress 初心者です

「テーマのカスタマイズなんて、基本HTMLとCSSじゃねーの?」

え!?

ちょ! まじか

<?php のほうが多かった...

しかもDOM構造がズタ切り

→ インクルード・スパゲッティ地獄orz

ロジックとレイアウトが混在APIがぜんぶグローバル関数だと!?

(オブジェクト指向知ってる人は逆に難しい)

あんまり言うとそろそろ怒られそうだな...

まじで WordPress 初心者です

echo / var_dump で調査に挑んだ<?php

var_dump(get_the_category());

?>

これが

こうなる

いけるか!?

けど書く場所によっては

本文ブロックとヘッダの狭間で

ひどいや、IE6にだってこんな仕打ちされたことないのに

もっとひどい場合

?

拡大

僕はただ head.php でタイトルを変えたかっただけなんだ

俺はもう普通のWeb制作に付いていけないのか、このまま負けるのか...

お稲荷さまお助け下さい

僕と契約してプログラマーに

なってよ!

JSerに大人気 Firebug

虫きもいいうな

Firebug 拡張 FirePHP

インストールFirefox::Addons でさくっと

PEAR

$ pear channel-discover pear.firephp.org

$ pear install firephp/FirePHPCore

PEARぺぺぺぺぁ〜?

(おっと、ここはPHP初心者勉強会だった)

これでもいいよ

FirePHPCoreをWPの中にコピー

wp-config.php を編集

ユーザ設定ファイルだからアップデートのとき上書きされる心配ないよね、ないよね。

wp-config.php の最初で/**

* FirePHP setup

*/

require_once("FirePHPCore/FirePHP.class.php");

require_once("FirePHPCore/fb.php");

ob_start(); // バグったときのおまじない

さっきのvar_dumpを

var_dump(get_the_category());

↓FB::log(get_the_category());

これだけ。ほんとこれだけ。

まるで JS の console.log みたいに

もっとすごいこと

ここクリック

見える! 見えるぞ!

さらにすごい機能

FB::trace('content-single');

適当な目印になる名前

関数呼び出し履歴どーんス タ ッ ク ト レ ー ス

これでぜんぶわかる!俺も WordPress と戦えそうだ

カタカタカタカタ......

「あ、途中でいいから公開してよ」

「え! いまデバッグ用のFB::logいっぱい入れてるとこなのに...」

主電源を切ろう/**

* FirePHP setup

*/

require_once("FirePHPCore/FirePHP.class.php");

require_once("FirePHPCore/fb.php");

ob_start(); // バグったときのおまじない

FB::setEnabled(false); 電源

FB::logそのまま放置しててもOK

え、なんもしてませんよ、まっさらですよ

言うよね、みんなそう言うんだよね。

「プラグインでどうにか できませんか」

WPユーザ Aさん

プラグインだと...(1)

これはエンジンの情報全部出ちゃうんだね。

プラグインだと...(2)

これはプラグイン単品で同じようなことができる。ただし、● プラグインをロードする処理より前をデバッグできない。● マスタースイッチを切る箇所がない。● アンインストールするとFB::log が全部エラーになる。

●require_once って2行書くだけ。●プラグイン入れていろいろハマる。

どっちがいい?

「プラグインでどうにか できませんか」

WPユーザ Aさん

結論コードを書いたほうが幸せになるよ。

プログラム言語のほうが難しいなんて迷信は今日から捨てよう。

ありがとうございました。

おまけ

偶然見つけたフリーのイラストが完璧すぎて怖い。

Fox

PEAR

Apple

Bug

PHP

Recommended