0

現在、WordPress プラグインで作業しています。ショートコードをサポートし、ショートコードが呼び出されると DOM 要素を作成します。

今私の問題: 要素を識別したいです。

したがって、ショートコードが初めて呼び出されると、次のようなものが返されます

<div class="myClass-0"></div>

2回目に呼び出されたとき

<div class="myClass-1"></div>

等々。

この問題に関するアイデアはありますか?手伝ってくれてありがとう

ジュリアン。

4

3 に答える 3

6

静的変数を使用できます。静的変数はその値をグローバルに保持し、関数呼び出し間で保持されます。

function doSomething() {
    static $i = 0;
    ##############

    return $i++;
}

doSomething(); // 0
doSomething(); // 1

これがデモです。もちろん、クラス メソッドでも機能しますが、状況によってはインスタンス変数を使用した方がよい場合もあります。

于 2012-01-26T14:49:35.620 に答える
0

異なるリクエスト間で必要な場合、php には永続的な変数はありません。この要件には、セッションまたはデータベースを使用する必要があります。

于 2012-01-26T14:50:16.940 に答える
-1

あなたのアイデアはどれも私にとって役に立ちませんでした。

WordPress はすべての静的変数と非静的変数を削除するようです。そしてセッション変数も。

今、私は新しいアイデアを得て、乱数を使用して問題を修正しました。私はこの関数を書きました:

function jw_rand($length)
{
    $return = "";
    for($a = 0; $a < $length; $a++)
    {
        $return .= mt_rand(0,9);
    }
    return $return;
}

次に、経由で呼び出します<?php echo("<div class=\"myClass-".jw_rand(5)."\"></div>"); ?>

これは私のクラスを数えません...しかし、少なくともdivを特定できます。そして、この関数の 2 つの同一の結果が得られる可能性は高くないと思います。

でも助けてくれてありがとう。プラグインとショートコードの統合がどのように機能するか、プラグインを一度呼び出すと変数が消える理由を説明して、WordPress のプロが私の質問に答えることができるかもしれません。

ジュリアンに挨拶

于 2012-01-27T15:38:27.193 に答える