erikgreasy/wp-advanced-forms

这是我创建的包 wp-advanced-forms

v0.1.2 2023-03-01 11:44 UTC

This package is auto-updated.

Last update: 2024-09-29 14:47:21 UTC


README

Latest Version on Packagist

高级表单提供了一种方便的方法,通过使验证等典型表单任务更容易实现,在WordPress中创建自定义表单。

当前包含的功能

  • 可以使用laravel验证
  • 轻松配置您的表单,无需重复WP动作键,无需丑陋的WP钩子回调来处理表单等

安装

您可以通过composer安装此包

composer require erikgreasy/wp-advanced-forms

用法

创建您的表单类,扩展基础FormComponent类。例如,表单类

<?php

namespace App\Forms;

use Erikgreasy\WpAdvancedForms\FormComponent;

class ContactForm extends FormComponent
{
    public bool $usesAjax = true;

    public function handleSubmit()
    {
        // This is where we handle our form.
        // We can use provided laravel validator
        $validator = $this->validator->make($_POST, [
            'name' => 'required'
        ]);

        if($validator->fails()) {
            wp_send_json($validator->errors());
        }

        wp_send_json([
            'message' => 'Success'
        ]);
    }

    public function actionName(): string
    {
        return 'contact_form';
    }
}

在functions.php中或在插件中注册所有表单

WpAdvancedForms::load([
    ContactForm::class,
]);

现在您可以使用基于表单类的单一真相来源来渲染您的表单

<?php
$form = \Erikgreasy\WpAdvancedForms\WpAdvancedForms::getForm(
    \App\Forms\ContactForm::class
);
?>

{!! $form->openForm() !!}
    
    <input type="text" name="name">

    <button>Submit</button>
{!! $form->closeForm() !!}

变更日志

请参阅变更日志以获取有关最近更改的更多信息。

贡献

请参阅贡献指南以获取详细信息。

安全漏洞

请查阅我们的安全策略了解如何报告安全漏洞。

许可证

MIT许可证(MIT)。请参阅许可证文件以获取更多信息。