web-dev-qa-db-ja.com

順番にWordpressのホームページにJavaScriptファイルをロードするには?

私はquicktagsプラグインを使用しています。これはホームページにはロードされていませんでしたが、現在はそうしていますが、それは間違った場所で行われています。どうすればこれを解決できますか?

基本的なコメントのクイックタグではなく、quicktags.min.jsファイルを最初にロードする必要があります...

私はこのスクリプトを使っています:

add_action( 'wp_enqueue_scripts', 'ron_scripts' );
function ron_scripts(){
   if(is_home()){
     wp_register_script( 'quicktags', '/wp-includes/js/quicktags.min.js?ver=3.5.1');
     wp_enqueue_script( 'quicktags' );
     wp_register_script( 'basic-comment-quicktags', '/wp-content/plugins/basic-comment-quicktags/quicktags.js' );
     wp_enqueue_script( 'basic-comment-quicktags' );
     } else {

    }
}

希望通りに動かすためにはどうしたらいいですか?

編集:だから今私は使用しています:

function quicktags_script() {
    wp_register_script( 'quicktags-min', '/wp-includes/js/quicktags.min.js?ver=3.5.1');
    wp_enqueue_script( 'quicktags-min' );
wp_register_script( 'basic-comment-quicktags', '/wp-content/plugins/basic-comment-quicktags/quicktags.js' );
     wp_enqueue_script( 'basic-comment-quicktags' );
}

add_action( 'wp_enqueue_scripts', 'quicktags_script' );

…….

すべてのスクリプトの下にbasic-comment-quickタグを付けることができますか?

編集2:

quicktags-minquicktagsに変更しても、l10nエラーは表示されず、ページソースに表示されます。今回私はこのエラーを得ます:Permission denied to access property 'toString'

1
Johan

Functions.php:edit:最初にquickpgsスクリプトをすでにwp "quicktags"に登録されているものとは異なる名前で登録してください。 Codex をご覧ください。

function quicktags_script() {
    wp_register_script( 'quicktags-min', '/wp-includes/js/quicktags.min.js?ver=3.5.1','','',true);
    wp_enqueue_script( 'quicktags-min' );
}

add_action( 'wp_enqueue_scripts', 'quicktags_script' );

これでフロントエンドのすべてのページのスクリプトが読み込まれます。フロントページにのみ読み込むには:

function quicktags_script() {
    if(is_front_page()){
        wp_register_script( 'quicktags-min', '/wp-includes/js/quicktags.min.js?ver=3.5.1','','',true);
        wp_enqueue_script( 'quicktags-min' );
    }
}

add_action( 'wp_enqueue_scripts', 'quicktags_script' );

Wp_register_scriptの最後のパラメータ$ in_footerをtrueに追加するだけです(編集済みの回答を参照)。または、basicktagsレジスタ関数の3番目のパラメータとして 'quicktags-min'を追加してください。

wp_register_script( 'basic-comment-quicktags', '/wp-content/plugins/basic-comment-quicktags/quicktags.js','quicktags-min' );

これは最初にquicktags-minそして次にbasictagsをロードします。

1
Tolea Bivol

wp_register_script の3番目のパラメータは$deps--依存関係です。ちなみにwp_enqueue_script$depsパラメータも受け付けます。

wp_register_script( $handle, $src, $deps, $ver, $in_footer );

$depsは、登録されているスクリプトが依存するスクリプトの配列です。依存関係は、の前に依存しているスクリプトをロードします。あなたがものを正しく登録するならば、WordPressはあなたのために物事をまわります。

function quicktags_script() {
    wp_register_script( 
       'quicktags-min', 
       '/wp-includes/js/quicktags.min.js?ver=3.5.1'
    );

    wp_register_script( 
       'basic-comment-quicktags', 
       '/wp-content/plugins/basic-comment-quicktags/quicktags.js',
       array('quicktags-min')
    );

    wp_enqueue_script( 'basic-comment-quicktags' );
    wp_enqueue_script( 'quicktags-min' );
}

add_action( 'wp_enqueue_scripts', 'quicktags_script' );

それがあなたの最初の質問があなたが望んだように聞こえたものです。さて、あなたは「すべてのスクリプトの下にbasic-comment-quicktags」を入れる方法を尋ねる書き直しました。そのためには、おそらくwp_enqueue_scriptsフックを優先してスクリプトを非常に遅くエンキューしたいでしょう。スクリプトを通常どおりに登録し、次のようにエンキューすることができます。

function enqueue_bcquicktags() {
    wp_enqueue_script( 'basic-comment-quicktags' );
}
add_action( 'wp_enqueue_scripts', 'enqueue_bcquicktags', 1000 );

また、5番目のパラメータ$in_footerを調べると、スクリプトがページのフッターに読み込まれます。それがなければ、それはページの<head>に最後にロードされるべきです。

1
s_ha_dum