どのようにprintf(__()); 作業?


12

今日、私はWordPressとテンプレートの理解を深めるためにテーマに取り組みます。私はこれを発見しました:

<?php 
printf( 
    __('Designed by %s', 'Anyword'), 
    '<a href="http://www.example.com">Blub</a>'
); 
?>

"Designed by Blub"(Blubがリンクされている場所)と表示されていることは知っていますが、__()どういう意味ですか、または文字列が挿入されているのはなぜですか。Anywordとは何ですか?

誰かが私にこの行を正確に説明できますか?

回答:


8

テキストの翻訳に使用されます

2番目の引数は、翻訳を取得するための一種の名前空間(ここではドメインと呼ばれます)です(専用ファイルなどから)。

したがって、Anywordここでは、テンプレートの背後にある人物、または会社、あるいはドメイン/ネームスペースになり得るものを指定する必要があります。

編集:

ワードプレスのドキュメントでは、プラグイン国際化する方法について詳しく説明しています


これをプラグインコードに追加して、言語ファイルがロードされていることを確認します。

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

文字列をフェッチするには、単に__('String name','your-unique-name');翻訳を返すか、翻訳_e('String name','your-unique-name');をエコーするために使用します。その後、翻訳はプラグインの/ languagesフォルダーに移動します。


あなたのプラグイン/テーマについては、your-unique-nameようAnywordです。


テーマにはいくつかの言語ファイルがあります。議論はどのようにして「Anyword」だけにそれらを使用することを知っていますか

私はWPドキュメントのより良い部分で私の答えを更新しました。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.