私はWordpressでテキストファイルを使用して簡単なヒットカウンタのショートコードを書いていますが、何とかファイル書き込みプロセスを何度かトリガしていることがわかりました。ファイルをWordpressショートコードで複数回書くことはできますか?
function sc_page_counter() {
$fname = get_stylesheet_directory() . "/counter.txt";
if (!file_exists($fname)) {
file_put_contents($fname, "0");
}
$ct = file_get_contents($fname);
file_put_contents($fname, ++$ct);
return $ct;
}
add_shortcode('page_counter', 'sc_page_counter');
私は私のfooter.phpに
This site has been visited <?php echo do_shortcode('[page_counter]') ?> times.
をショートコールを入れているのは、counter.txtの現在の内容が20ショートが正しく出力「21」しますが、カウンタをチェックする時にあるとしましょう.txtファイル。今は「25」です。結果は、ローカルで実行しているかプロダクションサーバーで実行しているかによって異なります。
新しい値を書き込むのではなく、文字を追加するだけで、それをさらに試してみました。約32回追加しました。私は現在、なぜこれが起こっているのかを知りません。
は、あなたが任意のページ/ポストでそれを追加してみてくださいました? – Rizwan
いいえ、フッター領域でのみ呼び出されます。私はしようとしましたし、短くはなかったので、関数だけを呼び出しましたが、それは同じことをやっています。 –