0

次のように、Wordpress の投稿にメタデータ キーを作成しました: prettyAd、prettyName、prettyLink。各キーの値を取得して、サイトのヘッダーにあるグローバル変数にロードしたいと考えています。

次のように、WordPress テーマのヘッダーにグローバル変数を設定しています...

<script type="text/javascript">
    var prettyAd = "<?php echo get_post_meta($post->ID, 'prettyAd', true); ?>";
    var prettyName = "<?php echo get_post_meta($post->ID, 'prettyName', true); ?>";
    var prettyLink = "<?php echo get_post_meta($post->ID, 'prettyLink', true); ?>";
</script>

ページが読み込まれると、次のように出力されます...

<script type="text/javascript">
    var prettyAd = "http://mydomainname.com/ad-placeholders/ad.png";
    var prettyName = "Pet Store Shop";
    var prettyLink = "http://mydomainname.com/advertise/";
</script>

その後、上記の変数セットにアクセスしたい外部 JavaScript ファイル (prettyphoto.js - バージョン 3.1) が読み込まれます。

<script type="text/javascript" src="http://mydomain.com/wp-content/themes/wpnavigator/scripts/prettyphoto.js"></script>

上記のファイルが変数にアクセスできるようになったら、それらを参照した次の html にロードしたいと思います。

<p>
    Sponosor: <a href="var prettyLink" target="_blank">var prettyName</a>
</p>
<p>
    <a href="var prettyLink" target="_blank">
        <img src="var prettyAd" width="468" height="60" alt="Sponsors Ad" />
    </a>
</p>

私が理解していることから、変数を src および href 値として直接ロードできないため、JavaScript でタグ全体をコンパイルする必要があります。

だから私が助けを求めているのは次のことです。

  1. header.php で設定されたグローバル変数を prettyphoto.js ファイルに呼び出すにはどうすればよいですか
  2. これらの変数を使用して上記の HTML を出力する関数を作成するにはどうすればよいですか。
  3. グローバル変数を使用するよりもこれを行うためのより良い方法はありますか、それとも唯一の方法ですか。
4

2 に答える 2

0

私は通常、この種のことにはwp_localize_scriptを使用します。これには、異種のjs変数を1つのグローバルアクセスポイントにラップするという利点があります。

ここのチュートリアルで始めることができます。 http://betterwp.net/wordpress-tips/script-localization/

于 2012-08-18T06:04:53.090 に答える
0

非常に簡単な方法は、html では次のようになります。

<p>
 Sponosor: <script type="text/javascript">document.write('<a href="' + prettyLink + '" target="_blank">' + prettyName + '</a>');</script>
</p>

ただし、ロードされたスクリプトにアクセスする必要があり、そのスクリプトの内部にいる場合は、ウィンドウからアクセスできます。

var LinkText = window["prettyName"];
于 2012-08-17T23:48:40.987 に答える