web-dev-qa-db-ja.com

L10n.jsはWordPress 3.1で何をするのですか?そして、どうやってそれを削除するのですか?

テストサーバーにWP 3.1 Beta 2をインストールしました。ヘッダに自動的に挿入される新しいl10n.jsファイルが同梱されていることに気付きました。

私は少し掘り下げました、そしてそれはローカライズと関係があります。私は多くの人がこれを使用しないことを推測しているので、私はそれを削除することができる方法を疑問に思いますか?

削除しないことが重要な場合は、私にもお知らせください。

8
Sahas Katta

(名前が示すように)HTMLエンティティを実際の値に変換するconvertEntities()関数が含まれています。これは、主に wp_localize_script() を使用してPHPからJS側にローカライズデータを送信するスクリプトに使用されます。コードベースでl10n_print_afterを検索するだけで、多くのことがわかります。

wp_localize_script()に追加するデータは、変換するスクリプトの前に追加されます(そこで参照されるため、そうする必要があります)。ただし、スクリプト連結子を使用する場合(使用されたすべてのJSファイルを返す要求が1つだけある場合)、この1つのファイルはすべてのローカライズされたデータの後に呼び出されますが、必要なときにconvertEntities()は定義されません。このため、この関数は一般的なutils.jsファイルから分割され、最上位に高い優先度で追加されます。

このため、これを削除しないでください。翻訳可能な文字列を使用するすべてのスクリプトは(まだ英語であっても)使用するため、まだエンティティがある場所を壊す可能性があります。

12
Jan Fabry
if ( !is_admin() ) {
function my_init_method() {
wp_deregister_script( 'l10n' );
}
add_action('init', 'my_init_method'); 
}

function.phpのl10n.jsを登録抹消するために上記のコードを使用してください

4
ZHAO Xudong

'comment-reply'スクリプトをエンキューするときに含まれているようです。あなたはおそらく 'comment-reply'がコメントを有効にすることができるページにのみロードされることを確実にしたいことに注意してください(例えば、スクリプトをキューに入れる前にis_singular()をチェックしてください)。

1
mtekk

インストール時に、このスクリプトが新しい管理者バーと一緒にロードされ、管理者バーを削除することでl10n.jsが削除されたことがわかりました(ただし、Janの答えは "なぜ"に答えるよりインラインなのだと思います)。

バーを削除するのは簡単でした..

remove_action( 'init', 'wp_admin_bar_init' );

これは実際には(他の答えによって証明されるように)質問に対処するものではありませんが、誰かがそのひどいバーを削除したいと思う場合、上記はあなたがそれをする方法です..

1
t31os

それを削除するには、テーマのfunctions.phpファイルに以下を追加してください。

wp_deregister_script( 'l10n');

1
user4751

削除する方法 it:

関数kill_l10n(){[.____。if(!is_admin())
 wp_deregister_script( 'l10n'); 
} 
 add_action( 'wp_print_scripts' 、 'kill_l10n'); 

functions.php または何でも(プラグインなど)にドロップ

私のために働きます。

1
user3566

開発者用ソース のファイルの説明は次のとおりです。

// L10N文字列で使用されているエンティティが正しいことを確認するために使用されます

そしてコミットノートは言う:

L10nヘルパー関数を別のjsファイルに移動して、常に最初に出力できるようにします。

私はまだ3.1で遊んでいなかったので、すべてのページに何が読み込まれるのかわからない。

0
Rarst

うんそれは自動的にwp_headによってテーマの内側にスローされます...私はテーマのfunctions.phpに以下のコードを配置することによってそれを削除します

remove_action( 'wp_head', 'l10n' );

0
Jack