web-dev-qa-db-ja.com

WP-FirePHP extensionを使用するには?

http://wordpress.org/extend/plugins/wp-firephp/

私は単にfb('Error message','Lable')を呼び出すことになっていますが、それは常に動作しません。関連するファイルがいつ、どこでインクルードされているのか、クラスが定義されていて、そのメソッドや関数を呼び出すことができない。

たとえば、wp-content\plugins\wp-firephp\FirePHPCore\fb.php自体からfb()を呼び出してhttp://localhost/wordpressを開いても(おそらくファイルがインクルードされることはないために)動作しませんが、http://localhost/wordpress/wp-adminで動作します。それは、wp-firephpプラグインが/wp-adminおよび関連ページでのみ機能することを意味しますか?私は/footer.phpのような管理者以外のページでその機能を使いたかったからです。私はそれを間違っていますか?

2
laggingreflex

私はプラグインの使用をあきらめ、FirePHPをmu-pluginとしてそのまま使用しました。

FirePHP mu-plugin

そしてfirebug.phpファイルは以下で構成されています。

<?php
/*
    Plugin Name: FirePHP
    Version: 0.1
*/

require_once( 'FirePHPCore/FirePHP.class.php' );
ob_start();
$firephp = FirePHP::getInstance( true );

function logit( $var, $title='From FirePHP:' )
{
    global $firephp;
    $firephp->log( $var, $title );
}

それから私は関数を使ってどこからでも(テーマ、プラグイン、コア)それを呼び出します:
logit( $var_to_debug, 'The var contains:' );

6
brasofilo

「もう一つのロガー」以外の異なるFirePHPプラグを使用すると、運が悪くなり、パフォーマンスも悪くなりましたが、これを見ていないことを認めなければなりません。最終的に私は単純に私の開発者用の箱にPEARを設定してFirePHPをインストールしました。

/**
 * FirePHP simple examples
 */

// For FirePHP Object Oriented API
require_once('FirePHPCore/FirePHP.class.php');
$firephp = FirePHP::getInstance(true);

または

// Procedureal API
require_once('FirePHPCore/fb.php');

上記のコードは私の開発サイトの1つのwp-config.phpファイルからのものです。 FirePHPを起動する2つの異なる方法を示しています。 両方ではなくどちらか一方を使用することを忘れないでください。

起動方法に応じて、さまざまな方法でFirePHPを呼び出します。

オブジェクト指向APIの場合

global $firephp;
$firephp->log( $var, "Label" );

手続き型APIの場合

FB::log( $var, "Label" );

それではちょっとオフトピックの答えの後に:

プラグインのドキュメントを再確認し、手続き型APIスタイルの呼び出しを使用しないことを確認してください。手続き呼び出しはオブジェクト指向APIでは機能しませんし、その逆も同様です。

もう一つの選択肢は 'Yet Another Logger'プラグインを試すことです。

1
Steve