imranhsayed/headless-cms

一款WordPress插件,它通过REST API将WordPress作为无头CMS与任何前端环境结合使用,增加了许多功能。

安装次数: 4,675

依赖项: 0

建议者: 0

安全性: 0

星级: 197

关注者: 13

分支: 25

开放问题: 13

类型:wordpress-plugin


README

Project Status: Active.

一款WordPress插件,它通过REST API将WordPress作为无头CMS与任何前端环境结合使用,增加了许多功能。你可以根据前端应用的需要使用相关的功能,不一定要使用所有功能。

Headless CMS WordPress Plugin

通过Composer安装

composer require imranhsayed/headless-cms

维护者

资源文件

资源文件目录包含webpack配置,可用于创建块或添加其他自定义脚本,如管理员的javascript脚本。

  • 从资源文件目录运行 npm i 以安装所需的npm包。
  • 开发期间使用 npm run dev 为资源文件。
  • 生产环境中使用 npm run prod
  • 使用 npm run eslint:fix js/fileName.js 修复和检查eslint错误和警告。

REST API 端点

本插件通过WordPress REST API提供不同的端点。

入门 📋

以下说明将帮助您在本地机器上创建项目副本并运行,以进行开发。

先决条件 🚪

您需要在WordPress项目中激活任何已启用的REST API的WordPress主题。

安装 🔧

  1. /wp-content/plugins/ 目录中克隆插件目录,或直接通过 WordPress插件 屏幕安装此插件的压缩目录。
  2. 通过WordPress中的“插件”屏幕激活插件

前端应用示例

此插件可以使用的示例前端应用

  1. Gatsby WordPress主题
  2. React Wordpress主题

功能

  1. 自定义REST API端点。
  2. 自定义设置器中的社交链接。
  3. 类别图片上传。
  4. 自定义页眉和页脚菜单。
  5. 自定义小工具。
  6. 使用 wp-graphql 插件时,注册自定义页眉和页脚GraphQL字段
  7. 在GraphQL Api中添加coAuthors数据。
  • 在自定义设置器中添加添加社交链接的选项
  • 注册两个自定义菜单,用于页眉(菜单位置 = hcms-menu-header)和页脚(菜单位置 = hcms-menu-footer)
  • 注册以下侧边栏
  1. HCMS页脚 #1,侧边栏ID为 'hcms-sidebar-1'

  1. HCMS页脚 #2,侧边栏ID为 'hcms-sidebar-2'

更多功能

  1. 在自定义设置器中注册社交图标部分
  • “facebook”、“twitter”、“instagram”、“youtube”的社交图标URL

  1. 类别图片上传功能
  • 提供类别图片上传功能。

  1. 插件设置页面
  • 获取自定义页面(如英雄部分、搜索部分、特色帖子部分、最新帖子标题)数据的设置。

  • 注册自定义端点

  1. 使用 wp-graphql 插件时的以下字段。
  • 自定义页眉和页脚GraphQL

  • WooCommerce国家和州

{
  wooCountries {
    billingCountries {
      countryCode
      countryName
    }
    shippingCountries {
      countryCode
      countryName
    }
  }
  wooStates(countryCode: "in") {
    states {
      stateCode
      stateName
    }
  }
}
  • WooCommerce 配送区域。
{
  shippingInfo {
    shippingZones
    storePostCode
  }
}
  • 将产品添加到愿望清单突变(认证请求)
mutation ADD_ITEM {
  addToWishlist(input: {clientMutationId: "example", productId: 340}) {
    clientMutationId
    error
    added
    productId
    wishlistProductIds
  }
}
  • 从愿望清单中删除产品突变(认证请求)
mutation REMOVE_ITEM{
  removeFromWishlist(input: {clientMutationId: "example", productId: 340}) {
    error
    productId
    removed
    wishlistProductIds
  }
}
  • 从愿望清单中获取产品突变(认证请求)
query GET_WISHLIST {
  getWishList {
    productIds
    error
    products {
      databaseId
      name
      slug
      buttonText
      image {
        alt
        src
        attachmentId
      }
      priceHtml
      productUrl
      stockQuantity
      stockStatus
      typename
    }
  }
}
  • Schema 详细信息
  posts {
    nodes {
      seo {
        schemaDetails
      }
    }
  }

可用端点

获取单个帖子(GET 请求)

  • http://example.com/wp-json/rae/v1/post?post_id=1

按页码获取帖子:(GET 请求)

  • http://example.com/wp-json/rae/v1/posts?page_no=1

获取页眉和页脚日期:(GET 请求)

  • 获取页眉数据(网站标题、网站描述、网站标志 URL、菜单项)和页脚数据(页脚菜单项、社交媒体图标)
  • http://example.com/wp-json/rae/v1/header-footer?header_location_id=hcms-menu-header&footer_location_id=hcms-menu-footer

获取 WooCommerce 国家和州(GET 请求)

  • /wp-json/rae/v1/wc/countries/
  • /wp-json/rae/v1/wc/states?countryCode=IN

贡献 👥

请阅读 CONTRIBUTING.md 了解我们的行为准则以及向我们提交拉取请求的流程。

版本控制

我使用 Git 进行版本控制。

作者 📝

许可 📜

License: GPL v2