Запрос MySQL выполняется 4 раза внутри цикла

Я включил настраиваемый php на своих страницах с помощью плагина exec-php чтобы я мог запускать более сложные страницы, чем стандартная страница WordPress. До сих пор у меня не было проблем с этим плагином.

Недавно я переместил страницу, которую я использовал независимо от WordPress, в систему WordPress. Теперь вместо запуска запроса mysql INSERT как и следовало ожидать, он запускает его 4 раза, оставляя меня с тремя избыточными строками в моей базе данных. Насколько я могу судить, нет никакой помощи в этом вопросе, кто-нибудь столкнулся с этой проблемой или знал, как обойти это?

Поскольку это может повлиять на ответ, я использую mysql_query() в пользу $wpdb->query() .

РЕДАКТИРОВАТЬ:
С тех пор я переписал страницу, чтобы использовать наиболее подходящую функцию $wbdb ( мой код можно найти здесь ).

Кроме того, я обнаружил, что когда я использую $wpdb->flush(); он вставляет только одну строку, но, похоже, он прерывает цикл, так как он не загружает шаблон.

Использование плагина для запуска PHP-кода внутри вашего контента – это не самая важная вещь, особенно когда указанный код не является идемпотентным .

В принципе, вы не можете гарантировать, что ваш код будет работать только один раз на загрузку страницы, так как несколько разных вещей в системе могут обрабатывать ваш контент и, таким образом, выполнять ваш код несколько раз.

Вместо использования Exec-PHP для хранения кода в постсоциальном содержимом создайте шаблон страницы, содержащий ваш код, а затем присоедините его к рассматриваемой странице. Кроме того, перепишите свой код, чтобы его несколько раз вызывал неправильные результаты (люди часто дважды нажимают кнопки и т. Д. В Интернете).