#! / usr / bin / env python
script_name.py
в имя_файла
chmod + x script_name
Строка вверх выбирает тот же python
, который вы получаете при вводе python в строке запроса , Вы также можете указать прямой путь:
#! / Opt / python / 3.6 / bin / python
Спасибо, мистер Хантер. Не могу ответить за правильный ответ.
Обернул форму в if (isset ($ _ POST ['submit'])), а затем вызвал мои функции.
Я отвечаю на эту конкретную часть вопроса OP, используя другой способ, чем принятый ответ, чтобы получить результаты:
Кто-нибудь знает, что должно быть «действие» в форме заставить его перейти к функции ...
blockquote>сообщение на ту же страницу - через blank form action - различные действия могут быть выполнены на основе одной и той же формы ,
if ( isset($_POST['custom_action']) ){ if ( $_POST['custom_action'] == 'update'){ if ( isset($_POST['Submit']) ) { //form validation and gather into a single object $valid; //I put this in a class, so self::update_main_config($valid); //otherwise you can just update_main_config($valid) } if ( isset($_POST['Submit_Default']) ) { //no form validation needed & defaults handled via custom wp_option, this could also be static function very easily //secondary action group such as self::restore_config_defaults(); } } }
На основании пользовательской страницы администрирования, которую я использую для одного из моих плагинов, я условно устанавливаю контекст для того, что, как я ожидаю, произойдет. Моя страница настроек администратора представляет новые значения и может восстанавливать значения по умолчанию ... но также может влиять на другие модули, основанные на пользовательском вводе. Я показываю, как использовать довольно простые условные выражения для создания более сложных контекстов отправки. Что делать, если загрузка была фото, а администратору нужен контроль для публикации произвольного профиля пользователя, но мы хотим повторно использовать тот же код, чтобы позволить зарегистрированному пользователю публиковать свой собственный профиль pic? Вот почему контексты, и именно поэтому я считаю, что моя методология актуальна.
Я увлекаюсь повторным использованием кода и пользуюсь одним функциональным циклом для обработки любого отдельного контекста - и снова, используя один скрытый ввод формы или потенциально несколько элементов управления на основе user-or-admin события, можно изменить контекст с использованием той же формы и теоретически 1 или более кнопок отправки. Я действительно хотел, чтобы две кнопки отделяли действия в сознании подателя, поэтому я показал этот метод.
Вот соответствующий HTML
<form name="config_actions" action="" method="post"> <input type="hidden" id="custom_action" name="custom_action" value="update" /> <input type="submit" id="my_main_action" name="Submit" value="Update" /> <input type="submit" id="my_secondary_action" name="Submit_Default" value="Restore Defaults" /> </form>
. Использование простого javascript для условного ввода ввода # custom_action в значение, подходящее для создания моего контекста. Для этого примера он проверяет, когда custom_action установлен в «update», хотя в моем коде я также использую другие контексты, также основанные на ответах формы.
Мой предыдущий пример получил -2 (!) Я использую $ _POST ['action'], что означает ввод [name = "action"] не следует путать с формой [action = ""], поскольку мой прежний код подразумевал - так что это было плохо. Здесь я более четко вижу, что у меня есть скрытый менеджер контекста ввода с именем «custom_action», и у меня есть две кнопки отправки с именем «Отправить» и «Отправить_Default», которые эффективно запускают одну и ту же форму, потому что они оба типа = submit.
используйте этот фрагмент кода:
add_action( 'admin_action_wpse10500', 'wpse10500_admin_action' );
function wpse10500_admin_action()
{
// Do your stuff here
wp_redirect( $_SERVER['HTTP_REFERER'] );
exit();
}
add_action( 'admin_menu', 'wpse10500_admin_menu' );
function wpse10500_admin_menu()
{
add_management_page( 'WPSE 10500 Test page', 'WPSE 10500 Test page', 'administrator', 'wpse10500', 'wpse10500_do_page' );
}
function wpse10500_do_page()
{
?>
<form method="POST" action="<?php echo admin_url( 'admin.php' ); ?>">
<input type="hidden" name="action" value="wpse10500" />
<input type="submit" value="Do it!" />
</form>
<?php
}
Мне пришлось изменить код, подобный этому, для работы:
add_action( 'admin_post_wpse10500', 'wpse10500_admin_action' );