TypeRocket Pro for WordPress。

安装: 38

依赖项: 0

建议者: 0

安全性: 0

星标: 10

关注者: 3

分支: 3

语言:JavaScript

v5.0.0-beta1 2020-10-12 17:05 UTC

README

TypeRocket Pro 是一个高度集成的 WordPress 框架,专为现代开发者设计。TypeRocket Pro 将 ACF、Laravel、Custom Post Type UI 等高级功能汇集到一个地方。

享受流畅的语法、精良的 UI 和功能强大的快速 API... TypeRocket Pro

现代功能

在更短的时间内以更少的维护时间构建应用程序。

  • 高级自定义文章类型、分类和后台页面。
  • 自定义元框、表单、字段集、重复字段和 20+ 其他输入字段。
  • 条件字段和上下文。
  • 将自定义字段与外部 API 集成。
  • MVC、自定义路由和中间件。
  • 依赖注入和服务容器。
  • Galaxy CLI。
  • 集成的 WYSIWYG Redactor 编辑器。
  • 基于 Composer 的扩展发布。
  • 完全集成的 WordPress ORM,具有高级功能,如预加载和对象缓存。
  • 数据库迁移。
  • 绕过 WordPress 插件存储库 API,为您的主题和插件提供自定义自动更新。
  • Gutenberg 支持。
  • 可配置的扩展,包括主题选项、SEO、Custom Post Type UI、懒加载图片调整大小、移除评论等。
  • 灵活的模板,支持 Twig 或 Laravel Blade 集成。
  • 高级策略、能力和角色 API。
  • 还有更多...

高级自定义文章类型

使用更少的代码和无需 WordPress 动作和过滤器钩子,完全自定义您的自定义文章类型。

tr_post_type('Person')
    ->setIcon('users')
    ->forceDisableGutenberg()
    ->setTitlePlaceholder( 'Enter full name here' )
    ->setArchivePostsPerPage(-1)
    ->setTitleForm( function() {
        $form = tr_form();
        echo $form->image('Photo');
        echo $form->text('Company');
        echo $form->editor('About Person');
    })
    ->addColumn('company');

重复字段

将重复字段添加到您的 WordPress 管理员或前端。

$form->repeater('Speakers')->setFields([
    $form->image('Photo'),
    $form->row(
        $form->text('Given Name'),
        $form->text('Last Name')
    )
]);

条件字段

仅在字段条件为真时显示字段或上下文。

echo $form->image('Photo');
echo $form->text('Alt Text')->when('photo');

echo $form->Toggle('Has Name');
echo $form->feildset('Full Name', 'Your identity information.',
    $form->text('Given Name'),
    $form->text('Last Name')
)->when('has_name');

WordPress 集成高级 ORM

使用预加载和集成 WordPress 对象缓存,通过创建模型和使用 eager loading 显著提高您网站的性能。

(new Post)->with('meta')->published()->whereMeta('featured', '=', '1')->get();

使用熟悉的 Laravel ORM eloquence 定义模型之间的关系。

class Post extends WPPost
{
    // ...

    public function categories()
    {
        return $this->belongsToTaxonomy(Category::class, 'category');
    }

    public function tags()
    {
        return $this->belongsToTaxonomy(Tag::class, 'post_tag');
    }

}

MVC

停止修改 WordPress 模板和重写系统。使用自定义路由创建 MVC 应用程序。

tr_route()->put()->on('/profile/*', 'update@Member');
tr_route()->get()->on('/profile/*', 'profile@Member');

在控制器和模型中使用身份验证策略,使用视图,向管理员发送闪存通知消息,从服务容器中获取类等。

class MemberController extends Controller
{
    public function profile(Member $member) {
        return tr_view('profile.show', compact('member'));
    }

    public function update(Member $member, AuthUser $user, Request $request ) {
        
        if(!$member->can('update', $user)) {
            tr_abort(401);
        }

        $member->save($request->getFields());

        tr_response()->flashNext('Profile updated!');

        return tr_redirect()->back();
    }
}

或者,只需返回模型或集合作为响应即可快速创建 JSON API。

tr_route()->get()->on('posts', function() {
    return (new Post)->with('meta')->published()->get();
});

模板

使用视图和控制器简化模板。在后台和前端使用视图。

/**
 * Example WordPress Template MVC
 * 
 * your-theme/index.php
 *
 * @var WP_Post[] $posts
 */
tr_template_controller(function() use ($posts) {
    $button_class = tr_post_field('button_class');
    
    $classes = class_names('button',  [
        'button-primary' => $button_class == 'primary',
        'button-error' => $button_class == 'error',
    ]);
    
    return tr_view('index', compact('classes'));
});
// Admin page
tr_page('tools', 'exporter', 'Exporter')->setView(tr_view('tools.exporter'));

更多功能

更多功能请访问 http://typerocket.com/pro

许可证

TypeRocket Pro 是开源软件,许可协议为 GNU 通用公共许可证 3.0