web-dev-qa-db-ja.com

WPDBを使用して生のXMLを出力すると、wp-blog-header.phpが原因で失敗する

私はプラグインをコーディングしています。このプラグインの特定のファイルの1つは、プラグインのカスタムDBテーブルからデータを取得し、最小限の処理で生のXMLとして出力することになっています。

問題は、ファイルが直接開かれたときにWPDBクラスが機能するようにするために、wp-blog-header.phpにrequireを追加しなければならなかったことです。これはうまくいきましたが、ファイルをインクルードすると<html>、<head>、および<body>タグが出力され、XMLの特定の部分が多少複雑になります。

私ができる方法はありますか?[A] wp-blog-header.phpのタグスピット動作を抑制しますか? [B]他の方法でWPDBを動かしましょうか。

それとも、プラグインのこのファイルでDBアクセスにWPDBを使用しないでください。

編集:誤警報です。 FirefoxはWordpressではなく、ユーザーの最後にタグを追加していました。大きな臭いがしてすみません。

1
SoItBegins

wp-load.phpを含めます。notwp-blog-header.phpいっそのこと、標準的なWordPressの要求の実行にフックし、早く死ぬ。

isset( $_GET['my_conditional_check'] ) && add_action( 'plugins_loaded', 'my_xml_output' );
function my_xml_output()
{
    // do my stuff
    exit;
}

これはWordPressを実行してからmy_xml_output()を実行し、リクエストが実際に解析されてテンプレートがロード/レンダリングされる前に終了します。

http://example.com/?my_conditional_check
1
TheDeadMedic