当前位置: 首页 > 软件库 > Web应用开发 > >

react-with-wordpress

授权协议 Readme
开发语言 JavaScript
所属分类 Web应用开发
软件类型 开源软件
地区 不详
投 递 者 万修然
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

React with WordPress

�� Example of react application with WordPress REST API

******* PLEASE STAR MY REPO TO SUPPORT MY WORK �� ******

Please follow me �� on twitter

Dashboard Demo

Pagination ��

Post Listings Demo ��

Live Demo

Features

  1. CRUD operation with WordPress REST API
  2. Authentication with JWT ( Login Logout )
  3. Accessing public and private routes
  4. Handing WordPress REST API custom end points.
  5. Creating Dashboard with React for CRUD operation.
  6. Pagination

Installation

  1. Clone this repo in git clone https://github.com/imranhsayed/react-with-wordpress

  2. git checkout branchname

  3. Run npm install

Add REST API ENDPOINTS WordPress Plugin

git clone git@github.com:imranhsayed/rest-api-endpoints.git

Configure

Add your wordPress siteUrl in src/client-config.js

const clientConfig = {
	siteUrl: 'http://localhost:8888/wordpress'
};

export default clientConfig;

Branches

1. login-with-jwt-wordpress-plugin

A React App where you can login using the endpoint provided by JWT Authentication for WP-API WordPress Plugin.So you need to have this plugin installed on WordPress. The plugin's endpoint returns the user object and a jwt-token on success,which we can then store in localstorage and login the user on front React Application

Steps

i. Add the last three lines in your WordPress .htaccess file as shown:

# BEGIN WordPress
   <IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /wordpress/
   RewriteRule ^index\.php$ - [L]
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteRule . /wordpress/index.php [L]
   
   
   RewriteCond %{HTTP:Authorization} ^(.*)
   RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]
   SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1
   
   </IfModule>

ii. Add the following in your wp-config.php Wordpress file. You can choose your own secret key.

define('JWT_AUTH_SECRET_KEY', '&BZd]N-ghz|hbH`=%~a5z(`mR=n%7#8-Iz@KoqtDhQ6(8h$og%-IbI#>N*T`s9Dg');
define('JWT_AUTH_CORS_ENABLE', true);

iii. Now you can make a request to /wp-json/jwt-auth/v1/token REST API provided by the plugin. You need to passusername and password and it returns a user object and token . You can save the token in localstorage and send it in the headersof your protected route requests ( e.g. Create Post /wp-json/wp/v2/posts )

iiv. So whenever you send a request to WordPress REST API for your protected routes, you send the token received in the headers ofyour request

{
	'Accept': 'application/json',
	'Content-Type': 'application/json',
	'Authorization': `Bearer putTokenReceivedHere`
}

This repo also demonstrates how to create posts in React Application by sending request to protected endpoints ( passing the token in the header )

2. jwt-verify-with-node

A React(front end) + Node(back end) application. It uses jwt.sign() ( from jwtwebtoken npm package ) to generate a token using the username and passwordsent from front end( React ) and returns it as a response, which we then store in localstorage to login the user.This token received by frond end, will be sent with all further request for protected routes, which will then be verified in node routeusing jwt.verify()Besides generating the token, the end point in node also accesses the WordPress rest api to confirm the credentials and returns the user objector errors if any.

It also has functionality to create post where we make a request from front end along with token( React ) to a node end point.The node endpoint verifies the token and then makes a request to WordPress REST API endpoint to create the post and then returns thenew post id, or error if any.

Commands

  1. Branch master and build-app-for-heroku
  • start Runs node server for development ( in watch mode ). The server.js sends all front end route request to index.html and then all front end route requests is handled by reach router
  1. Branch jwt-verify-with-node andlogin-with-jwt-wordpress-plugin
  • dev Runs webpack dev server for development ( in watch mode )

Common

  • prod Runs webpack in production mode

Free Courses

Codeytek

 相关资料
  • 从 React Router 1.x 版本开始,测试变得简单多了。想知道 React Router 以前版本如何测试,参阅 旧的测试文档。 在开始之前,建议你阅读以下前两个教程: Jest 入门文档 Jest ReactJS 文档 ReactJS TestUtils 文档 在 React-Router 1.x 中编写测试会很顺利。如果遇到问题,后面会有解法。很多用户在升级旧的 react-rout

  • [Stephen Grider] Microservices with Node JS and React [ENG, 2020] Build, deploy, and scale an E-Commerce app using Microservices built with Node, React, Docker and Kubernetes My Updatable Version of t

  • 以下是我的控制器项目#显示方法。 以下是我的项目#show view html.erb文件。 以下是我的反应前端 我得到的错误消息是: ActiveRecord中已完成500内部服务器错误。 NoMethodError(ProjectsController#show:0x007fa195b59da0的未定义方法“” 在 2016-11-24 06:31:38 -0800 开始为 127.0.0.1

  • 我想在url中获取id,我尝试了两种方法,但我得到了一个错误,有人可以帮助解决方案吗? 错误: 错误:无效的挂钩调用。钩子只能在函数组件的主体内部被调用。以下原因之一可能会导致这种情况: 您可能有不匹配的React和渲染器版本(如React DOM)。您可能违反了挂钩规则。同一应用程序中可能有多个React副本。请参阅 以下是我的代码:

  • 我正在制作一种带有全屏视频背景的个人网站。我需要为不同的屏幕大小加载不同的视频。我正在使用React,并基于React Hooks制作组件。 这些是我的依赖版本: 在我的组件“VideoBackground”中,我使用useState创建了一个状态,我将在其中存储视频源和海报图像源,如下所示: 我使用useEffect钩子作为componentDidMount函数,根据窗口宽度动态加载视频,并向浏

  • 我正在制作一个网站,在那里我使用React-Router-DOM的NavLink组件来防止为单页应用程序体验重发器。 当我试图使站点具有响应性时,我一直试图使react-bootstrap中具有响应性的navbar在选择一个NavLink后崩溃,但是collapseOnSelect行为似乎对react-bootstrap附带的nav.link组件以外的任何东西都不起作用。 其他的解决方案已经推荐通