Как сделать страницу администратора WP вывести csv из базы данных [duplicate]

  1. Добавьте строку вверху вашего скрипта: #! / usr / bin / env python
  2. Переименуйте свой скрипт из script_name.py в имя_файла
  3. сделать script: chmod + x script_name

Строка вверх выбирает тот же python , который вы получаете при вводе python в строке запроса , Вы также можете указать прямой путь:

  #! / Opt / python / 3.6 / bin / python  
7
задан Wally Kolcz 30 January 2014 в 15:03
поделиться

4 ответа

Спасибо, мистер Хантер. Не могу ответить за правильный ответ.

Обернул форму в if (isset ($ _ POST ['submit'])), а затем вызвал мои функции.

2
ответ дан Wally Kolcz 16 August 2018 в 01:15
поделиться

Я отвечаю на эту конкретную часть вопроса OP, используя другой способ, чем принятый ответ, чтобы получить результаты:

Кто-нибудь знает, что должно быть «действие» в форме заставить его перейти к функции ...

сообщение на ту же страницу - через 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.

-3
ответ дан bellasys 16 August 2018 в 01:15
поделиться

используйте этот фрагмент кода:

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
} 
12
ответ дан Mahdi Majidzadeh 16 August 2018 в 01:15
поделиться
  • 1
    Спасибо! Преследовал это все утро. – Nebri 19 May 2016 в 16:23
  • 2
    Я знаю, что это старый комментарий, но как вы показываете результаты того, что вы делали в своем действии - wpse10500_admin_action – Jason Yarrington 3 August 2017 в 16:52

Мне пришлось изменить код, подобный этому, для работы:

add_action( 'admin_post_wpse10500', 'wpse10500_admin_action' );
0
ответ дан Nimesh Jain 16 August 2018 в 01:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: