从表单调用php文件并使用wp函数

时间:2015-01-26 作者:atlMapper

我正在构建一个条带插件,我被困在这个小问题上。

问题:表单调用我的进程。php页面获取表单输入变量,处理Stripe标记,最后调用Stripe来根据成功完成的所有参数构建新客户。调用此工作表后,此工作表中的wp函数均未定义。

我的理论是,当表单请求php工作表时,服务器会清除其缓存并重新加载请求的工作表,这会转储我需要的所有wp全局变量。

问题:how do I call from my form to my custom php sheet, and still have access to the wp global functions? 小褶皱,表单内置另一个插件

我希望这是有意义的,如果我需要进一步澄清,请告诉我。

文件夹结构:

plugins
 -->other plugin
    -includes
      --template-functions.php(form is built here)
 -->my plugin
    -includes
    -languages
    -lib
    -custom-form-processing.php
代码:表单内置template-functions.php

<form id="<?php echo $form_id; ?>" action="<?php echo plugins_url() . \'/lmf-stripe/includes/process-customer.php\' ?>" method="post">
--inner form bits here
<script src="https://checkout.stripe.com/checkout.js" class="stripe-button"
    data-key="<?php echo $newKey; ?>"   data-amount="<?php echo $amount*100; ?>" data-description="<?php the_title_attribute(); ?>"></script>
</form><!--end #<?php echo esc_attr( $form_id ); ?>-->

process-customer.php

<?php
function setCustomer()
{
if (isset($_POST[\'action\']) && $_POST[\'action\'] == \'stripe\' && wp_verify_nonce($_POST[\'stripe_nonce\'], \'stripe-nonce\')) {

    global $stripe_options;

    <!-- inner bits removed for brevity -->

    // redirect back to our previous page with the added query variable
    wp_redirect(\'http://www.google.com\');
    exit;
  }
}

 add_action(\'init\', \'setCustomer\');
?>

2 个回复
SO网友:Rarst

WordPress提供wp-admin/admin-post.php 使用表单提交的端点。

您可能应该将表单指向它,添加标识操作,并在文件中使用挂钩来处理提交。

SO网友:tao

您可以使用ajax实现所需,在WordPress中,ajax由admin-ajax.php. 就这些in here.

结束

相关推荐

Form Object Gravity Forms

重力形式。我尝试在渲染表单字段之前对其进行操作add_filter(\"gform_pre_render\", \"my_function\", 10, 5); function my_function($form){ ... $form[\"fields\"][0][\"content\"] = \'This is a html-block\' } 这样,我可以传递html块的内容,假设html是表单上的第一个字段。如何通过id? 假设上面的html块