1

Wordpressを使用すると、「the_content」にフックを追加できます。私のコードでは、次のようになります。

add_filter("the_content", some_func);

したがって、Wordpressでは、投稿があるたびに「some_func」が実行されます。それで、「some_func」がこのように見えたとしましょう。

function some_func( $content ) {
    return $content . "<div id='my_div'></div>";
}

ID属性を使用するということは、HTML要素が1つしかないことを意味します。何が起こるかというと、この関数はデータベースにあるすべての投稿に対して実行されます。つまり、投稿が2つある場合、IDが「my_div」のdivが2つあり、それらのIDに依存するJavascriptがある場合、Javascriptは正しく機能しません。CSSについても同じです。

したがって、私が必要としているのは、この関数を1回だけ実行する方法です。誰かが方法、多分ラッパー、または私が使用すべき別のフィルターを知っていますか?

4

1 に答える 1

2

私はこれをテストしていませんが、おそらくこれをsome_func関数の先頭に追加できます。

remove_filter( 'the_content', 'some_func' );

理論的には、フィルターを1回呼び出し、最初の呼び出し後にフィルターを削除します。

于 2012-12-10T20:27:45.067 に答える