Работаю со списком пользователей. Файл user-rows.php
вызывается в каком-то в цикле. Можно прописать прямо в user-rows.php (и работает) require PLUGIN_URL . '/some_plugin_file.php';
, а можно куда-то прописать require_once
, чтобы подключался файл плагина один раз.
Собственно, вопрос: куда лучше прописать, чтобы подключение файла плагина не происходило несколько раз для каждого выводимого пользователя и после обновления плагина код не слетел?
Здравстсвуйте.
<form action="change_tarif" method="POST" id="change-tarif"> Change tarif: <select> <?php require STRIPE_PAYMENT . '/settings.php'; foreach ($products as $key => $product) { echo '<option value="' . $key . '">'. $product_name[$key] .'</option>'; } ?> </select> <input type="submit" value="Change" class="change-plan"> <input type="submit" value="To free" class="convert-to-free"> </form>
Строка с require
происходит каждый раз при вызове user-rows.php
для каждого выводимого в списке пользователя. Хотелось бы, чтобы require
происходил один раз до вызова user-rows.php
.
Простите, что отвлекаю. Не нашел, как подключить php-файл через хук. Порыскал в интернете, потыкался сам в functions.php, своем плагине и на целевой странице.
Пробовал, например, так в page-dashboard.php ( на ней [wp-recall] ) подключить require_once STRIPE_PAYMENT . '/settings.php';
- не сработало, а вот догадаться, как через хук файл подключить не могу сообразить. Ну не просто же add_action, в который require вставить. Раз уж тема есть, может быть подскажете строчкой кода и где вписать?
Список пользователей шорткодом создается.
Спасибо.
Так пробовал - не работало и не работает (сейчас еще раз проверил). Думал, может что не так делаю, поэтому решил здесь спросить. Значит делал правильно.
После того, как код показали, подумал, что может быть хук 'wp' срабатывает слишком поздно или константу с URI плагина вордпресс не видит. Но, нет, однако не срабатывает, хотя var_dump показывает, что константа определяется.
Что ж, благодарю. Пока буду инклюдить прямо в user-rows.php
Если решу - отпишусь.
Есть 2 хука:
do_action( 'rcl_include_template_before', $temp_name, $path );
и
do_action( 'rcl_include_template_after', $temp_name, $path );
до темплейта срабатывает, а второй после.
Попробуйте в нем что-то делать и распечатайте $temp_name, $path - по ним можно проверять что вы в нужном шаблоне и выполнять что либо