私はWordPressに関する私の最初の深刻な問題にぶつかったところです。Ajaxを楽しんでいる人にとってはこれは大きなことです。
Ajax APIを使用している間、完了までに1.5秒かかるAjax要求があります。
私が同じ正確なコードを使ってカスタムスクリプト(WordPressなし)でそれを実行すると、Ajaxリクエストはたった150ミリ秒かかります。 これは誇張ではない
http://wp.smashingmagazine.com/2011/10/18/how-to-use-ajax-in-wordpress/ の最初のコメントとそれに続く会話を見ると、それがわかります。この遅さはあなたの要求で、WPの全てがロードされているという事実によって引き起こされます...
私は、WordPressの全部をロードするのではなく、Ajax要求をすることを可能にする解決策がそこにあることを願っています。
WordPressでAjaxリクエストをスピードアップした経験は何ですか?
うん、これは完全なWordPress環境を持つためにあなたがそれをロードするのにかなりの時間を費やす必要があるという厄介な問題です。
私は仕事のために(非常に動的なインクリメンタルサーチ機能のために)もっと良いパフォーマンスを必要としていました。
これは非常に限られた環境を提供しますが、パフォーマンスはずっと良く、WP($wpdb
で始まる)とのある程度の互換性が維持されます。
これは私のローダーファイルを起動することです。きれいではありませんが、特定のニーズに対応しています。
<?php
ini_set('html_errors', 0);
define('SHORTINIT', true);
require '../../../../wp-load.php';
require( ABSPATH . WPINC . '/formatting.php' );
require( ABSPATH . WPINC . '/meta.php' );
require( ABSPATH . WPINC . '/post.php' );
wp_plugin_directory_constants();
// stuff goes here
私はこれを見つけました、そしてそれは私のAjaxをスピードアップしました。
function my_deregister_heartbeat() {
global $pagenow;
if ( 'post.php' != $pagenow && 'post-new.php' != $pagenow ) {
wp_deregister_script('heartbeat');
wp_register_script('heartbeat', false);
}
}
add_action( 'admin_enqueue_scripts', 'my_deregister_heartbeat' );