amalranganath/a-demo-plugin

框架演示插件

1.0.0 2018-07-20 08:52 UTC

This package is auto-updated.

Last update: 2024-09-28 21:26:18 UTC


README

A 框架 - 演示插件

A 是一个简单的 MVC 框架,用于轻松开发 WordPress 插件。这是使用 A 框架 创建的演示插件,旨在让您对其工作方式有一个大致的了解。请尝试使用它,并在发现任何问题时报告

Latest Stable Version Total Downloads Build Status

目录结构

  assets/             contains assets definition
  components/         contains components (any helper class)
  controllers/        contains Web controller classes
  models/             contains model classes
  vendor/             contains dependent 3rd-party packages
  views/              contains view files for the Web application

要求

此项目模板的最小要求是您的 Web 服务器支持 PHP 5.4.0。此外,您应已安装最新版本的 WordPress(至少 4.9.7 版本)。

安装

通过 Composer 安装

如果您没有 Composer,可以按照 getcomposer.org 上的说明进行安装。

转到您的 WordPress 项目中的 wp-content/plugins/ 文件夹,并输入以下命令

composer create-project --stability=dev amalranganath/a-demo-plugin
cd a-demo-plugin/ 
composer update

现在您应该能够在插件列表中看到“A 演示插件”。

开始开发

在插件根文件夹 wp-content/plugins/a-demo-plugin/ 中找到 plugin-name.php 文件,并根据您的意愿更改注释中的插件详细信息。不要更改框架包含代码。您可以在 register_activation_hook 中定义任何在激活插件时运行的代码,就像平常一样。所有其他开发都按照“MVC”设计进行,您可以在控制器、模型和视图文件夹中看到。

配置

所有配置都在 config.php 文件中定义。阅读以下示例代码以了解如何定义每个属性:在创建管理(在 views/admin/)菜单页面和选项卡模板时,文件名应为缩写。

return [
    'id' => 'plugin-id',
    'name' => 'Plugin Name',

     /**  Do not change **/
    'basePath' => plugin_dir_path(__FILE__), 
    'baseUrl' => plugins_url('/', __FILE__),
    'baseName' => plugin_basename(__FILE__),
    
    'i18n' => 'language-domain-name',

    /** Admin menu and pages of the plugin **/
    'admin' => [
        'class' => 'Admin controller class name',

        /** Main menu item **/
        'mainMenu' => [
            'pageTitle' => 'The Page title',
            'title' => 'The menu title',
            'slug' => 'main-menu-slug',
            'icon' => 'The menu icon class',
            'position' => 'The menu item position'
        ],

        /** Sub menu items **/
        'pages' => [
            'menu-item-1' => [
                'pageTitle' => 'The Page title',
                'title' => 'The menu title',
                'slug' => 'menu-item-1-slug',
                /** The tabs **/
                'tabs' => [
                    'tab-1-slug' => 'tab 1 Title',
                    'tab-2-slug' => 'tab 2 Title',
                ]
            ],
            'menu-item-2' => [
                'pageTitle' => 'The Page title',
                'title' => 'The menu item 2 title',
                'slug' => 'menu-item-2-slug',
            ]
        ]
];

文档

即将推出 ...