スタンドアロンスクリプトでWPDBを使用するには?質問する

スタンドアロンスクリプトでWPDBを使用するには?質問する

WPDB は非常に優れたクラスであり、wp-config.php で指定された構成もあるため、再度指定する必要がないため、WPDB を使用して WordPress に接続しようとしています。

この WPDB インスタンスを使用する必要があるバックグラウンドで実行するために、メインの WordPress から分離された小さなスクリプトを作成します。

これをアーカイブするにはどうすればいいでしょうか?

どのような助けでも大歓迎です。

ベストアンサー1

WordPress のコア機能のみをロードする最善の (最も高速で安全な) 方法は、SHORTINIT次のようなフラグを使用することです。

define( 'SHORTINIT', true );

require( '/path/to/wp-load.php' );

//Here you can use WordPress core features, for example the $WPDB object

これについての詳細と何がロードされるかを確認するには、 のコードを確認してください/wp-settings.php。次のセクションがあります。

// Stop most of WordPress from being loaded if we just want the basics.
if ( SHORTINIT )
    return false;

これは、これより後のものは何もロードされないことを意味し、見てのとおりかなり多くのものがあります。フットプリントは、をロードするだけよりもはるかに小さくなり、たとえば直接wp-load.phpインクルードする場合とは異なり、WordPress コアのすべての組み込み関数にアクセスできます/wp-includes/wp-db.php。WP コアの多くの関数は他のファイルにも依存関係があり、必要な操作を実行するためにどのファイルを含める必要があるかを正確に把握するのは面倒な場合があります。にはSHORTINIT必要な依存関係が含まれているため、心配する必要はありません。

必要なものが正確にわかっている場合、たとえば WPDB だけの場合、最も速い方法は、もちろん必要なファイルだけを含めることですが、SHORTINITWP コアと依存関係をロードするためのより安全で標準化された方法を提供します。WordPress では、SHORTINITプラグイン、プラグイン API の大部分、テーマ、テーマ機能、およびほとんどの管理機能とフロントエンド機能はロードされません。これは、一般的な WordPress インストールで重いコードがある場所です。ほとんどの場合、SHORTINIT必要なファイルだけを含める場合と比較して、速度/パフォーマンスのわずかなトレードオフに見合う価値があると思います。また、ほとんどの場合、フルロードと比較してパフォーマンスが大幅に向上します。

おすすめ記事