GithubHelp home page GithubHelp logo

typerocket / pro Goto Github PK

View Code? Open in Web Editor NEW
10.0 3.0 3.0 2.75 MB

TypeRocket Pro - The Extreme WordPress Framework for Pro Developers

Home Page: https://typerocket.com

PHP 4.54% JavaScript 94.92% CSS 0.54%

pro's Introduction

TypeRocket Pro

TypeRocket Pro is a highly integrated WordPress framework designed for the modern developer. TypeRocket Pro brings into one place the advanced features of ACF, Laravel, Custom Post Type UI, and more.

Enjoy a fluent syntax, refined UI, and powerfully fast APIs... TypeRocket Pro.

Modern Features

Build applications in less time with less maintenance.

  • Advanced custom post types, taxonomies, and admin pages.
  • Custom meta boxes, forms, fieldsets, repeater fields and 20+ other input fields.
  • Conditional fields and contexts.
  • Integrate custom fields with external APIs.
  • MVC, custom routing, and middleware.
  • DI and Service Container.
  • Galaxy CLI.
  • Integrated WYSIWYG Redactor editor.
  • Composer based extension publishing.
  • Fully integrated WordPress ORM with advanced features like eager loading and object caching.
  • Database migrations.
  • WordPress plugins repository bypass API for custom automatic updates for your themes and plugins.
  • Gutenberg support.
  • Configurable extensions for theme options, SEO, Custom Post Type UI, lazy image resizing, removal of comments, and more.
  • Flexible templating for Twig or Laravel Blade integrations.
  • Advanced policy, capability, and role APIs.
  • The list goes on...

Advanced Custom Post Types

Fully customize your custom post types with less code and no need for WordPress action and filter hooks.

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');

Repeater Fields

Add repeaters to your WordPress admin or front-end.

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

Conditional Fields

Show fields or contexts only when a field's conditions are true.

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 Integrated Advanced ORM

Craft your models and dramatically improve your site's performance using eager loading and integrated with the WordPress object cache.

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

Define relationships between models using familiar 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

Stop hacking the WordPress template and rewrite system. Create your application using MVC with custom routing.

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

Use authentication policies with your controllers and models, use views, flash notification messages to the admin, get classes from the service container, and more.

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();
    }
}

Or, quickly create a JSON API by merely returning a model or collection as your response.

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

Templating

Dry up your templates using views and controllers. Views in admin and front-end.

/**
 * 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'));

More Features

Find more features at http://typerocket.com/pro.

License

TypeRocket Pro is open-sourced software licenced under the GNU General Public License 3.0.

pro's People

Contributors

kevindees avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.