使用wordpress搭建简易的信息查询系统
背景
当前有这样的一个需求,要实现让客户能够自助登录系统查询一些个人的信息,市面上没有特别符合我的需求的产品,经过一段时间的研究,想出了一个用wordpress实现简易信息查询系统,有两种方式。
方式一:使用网页密码
原理:wordpress可以设置给某个页面设置密码
优点:简单快速
缺点:无登录功能,用户无法自行和修改密码
1、安装wordpress
可以是使用海外共享空间或者vps来安装,因为可以做到免备案。安装方法在网上非常多,这里就不再赘述了
2、修改固定链接结构为文章名

3、新建一篇文章,设置好文章名链接地址和密码
我们可以使用用户id作为链接后缀,例如张三,我就以/zhangsan作为链接地址,可以简单理解为这就是客户识别码了
需要注意的是,如果文章中要加入其他文章的超链接的话,其他文章也需要设置好密码

4、当用户访问这个网址时,就会需要密码才能访问

5、如果你需要在首页实现更好的引导效果,编写一个custom_navigate的简码功能,在首页实现跳转功能
在wordpress网站目录/wp-content/themes/你所使用的主题名字/functions.php文件最下面插入以下代码
我其实也不懂php,这是AI帮忙写的代码,大家有什么简单的需求都可以尝试让AI帮忙实现
function custom_navigate_shortcode() {ob_start();?><center><input type="text" id="inputPath" οnkeydοwn="handleKeyPress(event)"><button οnclick="navigateToPath()">前往</button></center><script type="text/javascript">function navigateToPath() {var path = document.getElementById('inputPath').value;if (path) {window.location.href = '/' + path + '/'; // 将当前页面重定向到新的路径} else {alert('请输入有效的客户识别代码!');}}</script><?phpreturn ob_get_clean();
}
add_shortcode('custom_navigate', 'custom_navigate_shortcode');
6、新建一个页面,添加简码,输入[custom_navigate]

7、将此页面设置为首页,最终效果如下
当用户在输入框中输入zhangsan,就能自动跳转到当前网址/zhangsan的域名当中,然后输入密码,就能访问他需要查询的信息
首页设置成这个样子,这个信息查询系统看着就像点样了

8、其他的优化技巧参考下面方式二的第11步之后
方式二:使用插件实现登录
优点:可实现登录功能,用户可自行设置更改密码,另外插件还有很多丰富的功能
缺点:设置较为麻烦
1、安装wordpress
可以是使用海外共享空间或者vps来安装,因为可以做到免备案。安装方法在网上非常多,这里就不再赘述了
2、安装2个插件:ProfileGrid、WP Private Content Plus
ProfileGrid是实现让用户登录的功能
WP Private Content Plus是实现文章仅允许指定用户才可以查看的功能
免费版已经能满足我们的需求


3、关闭ProfileGrid里面用不到的功能
ProfileGrid里面的功能很丰富,这是一个会员信息管理插件,有很多我们用不到的功能,例如私信,好友系统等等,大家按需关闭

4、新建一个成员,此处我新建了一个账户名为zhangsan的成员,并加入群组

5、开启Private Content Module
这个插件功能也挺丰富的,大家有需要的可以研究一下

6、新建文章,里面编写上张三才能查看的信息
这里其实也可以插入其他的文章链接,形成一个目录结构,其他的文章记得也要设置好权限

7、设置该篇文章仅允许张三才能访问

8、修改成员资料显示字段


这里我新建了一个信息查询字段,让这个字段显示在成员资料页,方便成员登录后快速看到需要查询信息的页面链接


无用字段大家可以自行删除,website字段对应的就是成员资料里的“网站”,Biographical Info字段对应的就是成员资料里的“个人说明”

9、website字段和Biographical Info字段我们可以在用户的个人资料页面维护,但是新加的字段似乎只能是登录该用户账号之后再编辑该字段来维护信息,这点暂时还没有找到比较好的办法(应该还能通过操作数据库的方式来实现)

10、查看效果
此时在网站首页登录之后,页面会跳转到个人资料页面,按照提示点击链接,即可直接跳转到需要查询的信息页面(就是刚刚新建文章的页面)。并且该信息页面只有张三这个用户登陆后才能查看到,未登录或者其他非管理员用户都无法查看,很好的保护了用户信息

11、插件推荐
| 插件名称 | 作用 |
|---|---|
| WP Disable Sitemap | 隐藏站点地图 |
| Wordfence Security | 网站安全防护 |
| WPS Hide Login | 隐藏默认的登录链接 |
| WPFront Scroll Top | 页面较长时方便用户回到最上面 |
| HappyFiles Pro | 个人认为最好用的媒体库管理工具 |
此外建议把设置当中的“建议搜索引擎不索引本站点”勾选上

12、页面优化
修改之后的网站需要再优化一下页眉页脚和首页等地方,最好换一个主题,自带的主题不是很好用,用Kadence主题不错,免费版就够用了。
wordpress还有很多可优化的地方,网上教程众多,此处不再赘述
13、使用Ajax Search Lite插件实现快速搜索
对于管理员来说,由于文章列表功能很有限,文章那里去要快速找到需要编辑的文章很不方便,此处选择Ajax Search Lite插件来快速找到你需要查看和编辑的文章
①安装Ajax Search Lite

②新建一个页面,将Ajax Search Lite添加进来,并此页面设置为仅管理员可见

③此时管理员登录网站后再访问这个网页,就能够快速找到并编辑你想要编辑的文章,如果未登录网站就去访问的话,只会显示404页面


后话
以上两个方法是我研究了很多方案之后,研究出来的最符合我们需求的解决方案,看到网上还没有人分享这个,故分享出来。
很多wordpress的入门操作这里没有过于详细的介绍,所以阅读本文需要有一点wordpress基础。
此处仅仅只是抛砖引玉,希望能给有类似需求的网友一点启发。
相关文章:
使用wordpress搭建简易的信息查询系统
背景 当前有这样的一个需求,要实现让客户能够自助登录系统查询一些个人的信息,市面上没有特别符合我的需求的产品,经过一段时间的研究,想出了一个用wordpress实现简易信息查询系统,有两种方式。 方式一:使…...
PAT甲级 1076 Forwards on Weibo(30)
文章目录 题目题目翻译深度优先搜索(dfs)宽度优先搜索(bfs)总结 原题链接 题目 题目翻译 微博被称为中国的推特。在微博上,一个用户可能有很多粉丝,也可能关注许多其他用户。因此,通过粉丝关系…...
揭开 gRPC、RPC 、TCP和UDP 的通信奥秘
差异点 特性TCPUDPRPCgRPCHTTP工作层级传输层传输层应用层应用层应用层传输协议面向连接的传输协议无连接传输协议使用 TCP、HTTP 等协议HTTP/2HTTP/1.1, HTTP/2序列化格式字节流数据报文XML、JSON 或自定义Protocol BuffersJSON 或 XML特点可靠的连接传输无连接、快速传输远程…...
使用Web Worker来处理多线程操作,以及如何避免主线程卡顿。
在JavaScript中处理大量数据时,由于JavaScript是单线程的,所有的操作都在主线程上运行,因此处理大量数据可能导致页面卡顿和响应迟缓。为了避免这些问题,可以使用Web Workers来实现多线程操作,允许在后台线程中处理复杂…...
杂谈:业务说的场景金融是什么?
引言:市场格局的转变 在供应短缺的年代,是典型的卖方市场。为了保证稳定供货,买方会提前一段时间下单,也几乎没什么议价能力。卖方只需等着接单就行。 现在很多领域的供应商数量越来越多,而且随着互联网的普及&#…...
在vscode实现用和Chrome开发者工具中相同的快捷键进行面板切换
在Chrome开发者工具中,我们可以用 Ctrl [ 和 Ctrl ] 快捷键来切换面板,用起来很方便。 vscode中默认没有这两个快捷键,我们可以通过配置自定义快捷键来实现相同的功能。 配置方法: 1. 按 Ctrl K, Ctrl S 调出快捷键配置面板。…...
【ESP32+MicroPython】硬件控制基础
ESP32是一款功能强大的微控制器,具有多种硬件接口。本文以“ESP32硬件控制”为主题,逐步介绍GPIO(通用输入输出)、PWM(脉宽调制)、ADC(模数转换)等功能的原理与实现,并结…...
Python学习从0到1 day26 第三阶段 Spark ① 数据输入
要学会 剥落旧痂 然后 循此新生 —— 24.11.8 一、Spark是什么 定义: Apache Spark 是用于大规模数据处理的统一分析引擎 简单来说,Spark是一款分布式的计算框架,用于调度成百上千的服务器集群,计算TB、PB乃至EB级别的海量数据…...
kafka消费者的消费分区策略有哪些,默认是哪个?
Kafka消费者的分区分配策略主要有以下几种,分别决定了如何将多个分区分配给消费者: 1. Range(范围分配) 描述:将分区连续地分配给消费者。每个消费者负责一段连续的分区。如果有多个消费者,那么消费者会按…...
前端常用时间操作汇总
(1)获取中国标准时间: let now new Date(); // Thu Nov 14 2024 17:13:49 GMT0800 (中国标准时间) (2)获取年份: let year now.getFullYear(); // 2024 (3)获取月份&…...
106. UE5 GAS RPG 使用MVVM
MVVM 是 Model-View-ViewModel的缩写,个人理解它和MVC很相似,有区别的地方在于,在MVC里,Controller会服务多个View,而MVVM里,每个View都拥有一个单独的ViewModel,所以ViewModel相当于精简版的Co…...
Elasticsearch中什么是倒排索引?
倒排索引(Inverted Index)是一种索引数据结构,它在信息检索系统中被广泛使用,特别是在全文搜索引擎中。倒排索引允许系统快速检索包含给定单词的文档列表。它是文档内容(如文本)与其存储位置之间的映射&…...
深度学习:AT Decoder 详解
AT Decoder 详解 在序列到序列的模型架构中,自回归解码器(Autoregressive Translator, AT Decoder)是一种核心组件,其设计目标是确保生成的序列在语义和语法上的连贯性与准确性。自回归解码器通过逐步、依赖前一输出来生成新的输…...
pythons工具——图像的随机增强变换(只是变换了图像,可用于分类训练数据的增强)
从文件夹中随机选择一定数量的图像,然后对每个选定的图像进行一次随机的数据增强变换。 import os import random import cv2 import numpy as np from PIL import Image, ImageEnhance, ImageOps# 定义各种数据增强方法 def random_rotate(image, angle_range(-30…...
C++中volatile限定符详解
volatile是 C 和 C 中的一个类型限定符,它用于告诉编译器被修饰的变量具有特殊的属性,编译器在对该变量进行优化时需要特殊对待。以下是volatile限定符的主要作用: 1. 防止优化 内存访问顺序:在多线程环境或者与硬件交互的程序中…...
如何关闭Python解释器
方法1:采用sys.exit(0)正常终止程序,从图中可以看到,程序终止后shell运行不受影响。 方法2:采用os._exit(0)关闭整个shell,从图中看到,调用sys._exit(0)后整个shell都重启了(RESTART Shell&…...
《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项
《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项 《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项套接字可选项和 I/O 缓冲大小套接字多种可选项getsockopt & setsockoptSO_SNDBUF & SO_RCVBUF SO_REUSEADDR发生地址绑定…...
渗透测试---网络基础之HTTP协议与内外网划分
声明:学习素材来自b站up【泷羽Sec】,侵删,若阅读过程中有相关方面的不足,还请指正,本文只做相关技术分享,切莫从事违法等相关行为,本人一律不承担一切后果 目录 一、HTTP协议各版本介绍 二、HTTP请求的方…...
15分钟学 Go 第 45 天 : 使用Docker容器
第45天:使用Docker容器 目标 在本节中,我们将深入了解Docker及其基本用法,掌握如何使用Docker容器来简化开发和部署流程。 背景知识 Docker是一个开源平台,用于开发、运输和运行应用程序。它使我们能够使用容器技术将应用程序…...
DriveLM 论文学习
论文链接:https://arxiv.org/pdf/2312.14150 代码链接:https://github.com/OpenDriveLab/DriveLM 解决了什么问题? 当前,自动驾驶方案的性能仍然不足。一个必要条件就是泛化能力,需要模型能处理未经训练的场景或不熟…...
Python|GIF 解析与构建(5):手搓截屏和帧率控制
目录 Python|GIF 解析与构建(5):手搓截屏和帧率控制 一、引言 二、技术实现:手搓截屏模块 2.1 核心原理 2.2 代码解析:ScreenshotData类 2.2.1 截图函数:capture_screen 三、技术实现&…...
PPT|230页| 制造集团企业供应链端到端的数字化解决方案:从需求到结算的全链路业务闭环构建
制造业采购供应链管理是企业运营的核心环节,供应链协同管理在供应链上下游企业之间建立紧密的合作关系,通过信息共享、资源整合、业务协同等方式,实现供应链的全面管理和优化,提高供应链的效率和透明度,降低供应链的成…...
代理篇12|深入理解 Vite中的Proxy接口代理配置
在前端开发中,常常会遇到 跨域请求接口 的情况。为了解决这个问题,Vite 和 Webpack 都提供了 proxy 代理功能,用于将本地开发请求转发到后端服务器。 什么是代理(proxy)? 代理是在开发过程中,前端项目通过开发服务器,将指定的请求“转发”到真实的后端服务器,从而绕…...
RabbitMQ入门4.1.0版本(基于java、SpringBoot操作)
RabbitMQ 一、RabbitMQ概述 RabbitMQ RabbitMQ最初由LShift和CohesiveFT于2007年开发,后来由Pivotal Software Inc.(现为VMware子公司)接管。RabbitMQ 是一个开源的消息代理和队列服务器,用 Erlang 语言编写。广泛应用于各种分布…...
日常一水C
多态 言简意赅:就是一个对象面对同一事件时做出的不同反应 而之前的继承中说过,当子类和父类的函数名相同时,会隐藏父类的同名函数转而调用子类的同名函数,如果要调用父类的同名函数,那么就需要对父类进行引用&#…...
机器学习的数学基础:线性模型
线性模型 线性模型的基本形式为: f ( x ) ω T x b f\left(\boldsymbol{x}\right)\boldsymbol{\omega}^\text{T}\boldsymbol{x}b f(x)ωTxb 回归问题 利用最小二乘法,得到 ω \boldsymbol{\omega} ω和 b b b的参数估计$ \boldsymbol{\hat{\omega}}…...
flow_controllers
关键点: 流控制器类型: 同步(Sync):发布操作会阻塞,直到数据被确认发送。异步(Async):发布操作非阻塞,数据发送由后台线程处理。纯同步(PureSync…...
高效的后台管理系统——可进行二次开发
随着互联网技术的迅猛发展,企业的数字化管理变得愈加重要。后台管理系统作为数据存储与业务管理的核心,成为了现代企业不可或缺的一部分。今天我们要介绍的是一款名为 若依后台管理框架 的系统,它不仅支持跨平台应用,还能提供丰富…...
Linux操作系统共享Windows操作系统的文件
目录 一、共享文件 二、挂载 一、共享文件 点击虚拟机选项-设置 点击选项,设置文件夹共享为总是启用,点击添加,可添加需要共享的文件夹 查询是否共享成功 ls /mnt/hgfs 如果显示Download(这是我共享的文件夹)&…...
【Java多线程从青铜到王者】单例设计模式(八)
wait和sleep的区别 我们的wait也是提供了一个还有超时时间的版本,sleep也是可以指定时间的,也就是说时间一到就会解除阻塞,继续执行 wait和sleep都能被提前唤醒(虽然时间还没有到也可以提前唤醒),wait能被notify提前唤醒…...
