0

WordPress MUがインストールされており(v2.6.2)、提供されるすべてのページにJavaScriptファイルへの参照を含める方法を理解しようとしています。調査によると、これの鍵はwp_enqueue_scriptsを使用することですが、これをどこに呼び出すかはわかりません。

すべてのテーマにheader.phpの呼び出しを追加することで、私が望むことを達成できると思います。しかし、これを実行できる場所は1つしかないので、各テーマのheader.phpファイルを更新する必要はありませんか?

JavaScriptを管理ページに含める必要はありませんが、解決策によってこれが発生するかどうかは関係ありません。

4

1 に答える 1

1

WordPress MU は、バージョン 3.0 で WordPress 自体に統合されました。この記事の現在のバージョンは 3.5.1 です。現在のバージョンでそれを行う方法を説明できますが、実行中のバージョンで機能させるには微調整が必​​要になる場合があります。

これにより、ヘッダーにスクリプトが配置されます。

<?php
function my_scripts_method() {
    wp_enqueue_script(
        'any-name-you-want',
        'url/of/script'
    );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method');
?>

wp_enqueue_script()のコーデックス ページは次のとおりです。

*注意: JS ファイルへの URL を構築するときは、これらの関数を調べてください。

これをすべてのテーマのfunctions.phpファイルに追加するか、PHP ファイルとして保存して、必要なプラグインとして使用することができます。必須のプラグインにしたい場合は、wp-content/mu-pluginsディレクトリに配置すると、すべてのサイトで自動的に実行されます。WordPress のより新しいバージョンでは、通常のプラグインにしてネットワークで有効にすることもできますが、そのオプションはあなたのバージョンでは利用できないと思います。

実行しているバージョンに関連して発生する可能性のある問題に関して:

2.6 で追加されたことは知っていますが、対応するフックwp_enqueue_script()についてはわかりません。wp_enqueue_scriptsうまくいかない場合は、次のようにフックしてみてくださいinit:

add_action('init', 'my_scripts_method');

どちらも機能しないwp_enqueue_script()場合は、アクションにフックせずに裸の呼び出しで逃げることさえできます。initこれらのいずれかを使用する必要がある場合は、次の条件で囲み、管理画面に追加されないようにする必要があります。

if ( ! is_admin() ) {
    /* code */
}

正直なところ、アップグレードを検討する必要があります。手間がかかることは承知していますが、古いバージョンの WordPress には既知のセキュリティ問題が複数あります。いくつかの非常に素晴らしい新機能は言うまでもありません。

于 2013-01-25T03:31:10.790 に答える