47
WordPressのテーマは FirePHPでハックすれば 良かったのか @tanakahisateru

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

Embed Size (px)

Citation preview

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

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

良かったのか

@tanakahisateru

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

自己紹介

タナカヒサテル@tanakahisateru

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

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

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

WordPress 初心者です

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

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

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

え!?

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

ちょ! まじか

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

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

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

しかもDOM構造がズタ切り

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

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

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

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

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

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

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

まじで WordPress 初心者です

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

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

var_dump(get_the_category());

?>

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

これが

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

こうなる

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

いけるか!?

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

けど書く場所によっては

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

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

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

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

もっとひどい場合

?

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

拡大

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

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

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

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

お稲荷さまお助け下さい

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

なってよ!

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

JSerに大人気 Firebug

虫きもいいうな

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

Firebug 拡張 FirePHP

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

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

PEAR

$ pear channel-discover pear.firephp.org

$ pear install firephp/FirePHPCore

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

PEARぺぺぺぺぁ〜?

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

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

これでもいいよ

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

FirePHPCoreをWPの中にコピー

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

wp-config.php を編集

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

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

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

* FirePHP setup

*/

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

require_once("FirePHPCore/fb.php");

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

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

さっきのvar_dumpを

var_dump(get_the_category());

↓FB::log(get_the_category());

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

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

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

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

もっとすごいこと

ここクリック

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

見える! 見えるぞ!

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

さらにすごい機能

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

適当な目印になる名前

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

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

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

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

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

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

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

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

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

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

主電源を切ろう/**

* FirePHP setup

*/

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

require_once("FirePHPCore/fb.php");

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

FB::setEnabled(false); 電源

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

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

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

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

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

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

WPユーザ Aさん

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

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

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

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

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

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

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

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

どっちがいい?

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

WPユーザ Aさん

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

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

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

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

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

おまけ

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

Fox

PEAR

Apple

Bug

PHP