当前位置: 首页 > news >正文

使用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搭建简易的信息查询系统

背景 当前有这样的一个需求&#xff0c;要实现让客户能够自助登录系统查询一些个人的信息&#xff0c;市面上没有特别符合我的需求的产品&#xff0c;经过一段时间的研究&#xff0c;想出了一个用wordpress实现简易信息查询系统&#xff0c;有两种方式。 方式一&#xff1a;使…...

PAT甲级 1076 Forwards on Weibo(30)

文章目录 题目题目翻译深度优先搜索&#xff08;dfs&#xff09;宽度优先搜索&#xff08;bfs&#xff09;总结 原题链接 题目 题目翻译 微博被称为中国的推特。在微博上&#xff0c;一个用户可能有很多粉丝&#xff0c;也可能关注许多其他用户。因此&#xff0c;通过粉丝关系…...

揭开 gRPC、RPC 、TCP和UDP 的通信奥秘

差异点 特性TCPUDPRPCgRPCHTTP工作层级传输层传输层应用层应用层应用层传输协议面向连接的传输协议无连接传输协议使用 TCP、HTTP 等协议HTTP/2HTTP/1.1, HTTP/2序列化格式字节流数据报文XML、JSON 或自定义Protocol BuffersJSON 或 XML特点可靠的连接传输无连接、快速传输远程…...

使用Web Worker来处理多线程操作,以及如何避免主线程卡顿。

在JavaScript中处理大量数据时&#xff0c;由于JavaScript是单线程的&#xff0c;所有的操作都在主线程上运行&#xff0c;因此处理大量数据可能导致页面卡顿和响应迟缓。为了避免这些问题&#xff0c;可以使用Web Workers来实现多线程操作&#xff0c;允许在后台线程中处理复杂…...

杂谈:业务说的场景金融是什么?

引言&#xff1a;市场格局的转变 在供应短缺的年代&#xff0c;是典型的卖方市场。为了保证稳定供货&#xff0c;买方会提前一段时间下单&#xff0c;也几乎没什么议价能力。卖方只需等着接单就行。 现在很多领域的供应商数量越来越多&#xff0c;而且随着互联网的普及&#…...

在vscode实现用和Chrome开发者工具中相同的快捷键进行面板切换

在Chrome开发者工具中&#xff0c;我们可以用 Ctrl [ 和 Ctrl ] 快捷键来切换面板&#xff0c;用起来很方便。 vscode中默认没有这两个快捷键&#xff0c;我们可以通过配置自定义快捷键来实现相同的功能。 配置方法&#xff1a; 1. 按 Ctrl K, Ctrl S 调出快捷键配置面板。…...

【ESP32+MicroPython】硬件控制基础

ESP32是一款功能强大的微控制器&#xff0c;具有多种硬件接口。本文以“ESP32硬件控制”为主题&#xff0c;逐步介绍GPIO&#xff08;通用输入输出&#xff09;、PWM&#xff08;脉宽调制&#xff09;、ADC&#xff08;模数转换&#xff09;等功能的原理与实现&#xff0c;并结…...

Python学习从0到1 day26 第三阶段 Spark ① 数据输入

要学会 剥落旧痂 然后 循此新生 —— 24.11.8 一、Spark是什么 定义&#xff1a; Apache Spark 是用于大规模数据处理的统一分析引擎 简单来说&#xff0c;Spark是一款分布式的计算框架&#xff0c;用于调度成百上千的服务器集群&#xff0c;计算TB、PB乃至EB级别的海量数据…...

kafka消费者的消费分区策略有哪些,默认是哪个?

Kafka消费者的分区分配策略主要有以下几种&#xff0c;分别决定了如何将多个分区分配给消费者&#xff1a; 1. Range&#xff08;范围分配&#xff09; 描述&#xff1a;将分区连续地分配给消费者。每个消费者负责一段连续的分区。如果有多个消费者&#xff0c;那么消费者会按…...

前端常用时间操作汇总

&#xff08;1&#xff09;获取中国标准时间&#xff1a; let now new Date(); ​ // Thu Nov 14 2024 17:13:49 GMT0800 (中国标准时间) &#xff08;2&#xff09;获取年份&#xff1a; let year now.getFullYear(); ​ // 2024 &#xff08;3&#xff09;获取月份&…...

106. UE5 GAS RPG 使用MVVM

MVVM 是 Model-View-ViewModel的缩写&#xff0c;个人理解它和MVC很相似&#xff0c;有区别的地方在于&#xff0c;在MVC里&#xff0c;Controller会服务多个View&#xff0c;而MVVM里&#xff0c;每个View都拥有一个单独的ViewModel&#xff0c;所以ViewModel相当于精简版的Co…...

Elasticsearch中什么是倒排索引?

倒排索引&#xff08;Inverted Index&#xff09;是一种索引数据结构&#xff0c;它在信息检索系统中被广泛使用&#xff0c;特别是在全文搜索引擎中。倒排索引允许系统快速检索包含给定单词的文档列表。它是文档内容&#xff08;如文本&#xff09;与其存储位置之间的映射&…...

深度学习:AT Decoder 详解

AT Decoder 详解 在序列到序列的模型架构中&#xff0c;自回归解码器&#xff08;Autoregressive Translator, AT Decoder&#xff09;是一种核心组件&#xff0c;其设计目标是确保生成的序列在语义和语法上的连贯性与准确性。自回归解码器通过逐步、依赖前一输出来生成新的输…...

pythons工具——图像的随机增强变换(只是变换了图像,可用于分类训练数据的增强)

从文件夹中随机选择一定数量的图像&#xff0c;然后对每个选定的图像进行一次随机的数据增强变换。 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 中的一个类型限定符&#xff0c;它用于告诉编译器被修饰的变量具有特殊的属性&#xff0c;编译器在对该变量进行优化时需要特殊对待。以下是volatile限定符的主要作用&#xff1a; 1. 防止优化 内存访问顺序&#xff1a;在多线程环境或者与硬件交互的程序中…...

如何关闭Python解释器

方法1&#xff1a;采用sys.exit(0)正常终止程序&#xff0c;从图中可以看到&#xff0c;程序终止后shell运行不受影响。 方法2&#xff1a;采用os._exit(0)关闭整个shell&#xff0c;从图中看到&#xff0c;调用sys._exit(0)后整个shell都重启了&#xff08;RESTART Shell&…...

《TCP/IP网络编程》学习笔记 | Chapter 9:套接字的多种可选项

《TCP/IP网络编程》学习笔记 | Chapter 9&#xff1a;套接字的多种可选项 《TCP/IP网络编程》学习笔记 | Chapter 9&#xff1a;套接字的多种可选项套接字可选项和 I/O 缓冲大小套接字多种可选项getsockopt & setsockoptSO_SNDBUF & SO_RCVBUF SO_REUSEADDR发生地址绑定…...

渗透测试---网络基础之HTTP协议与内外网划分

声明&#xff1a;学习素材来自b站up【泷羽Sec】&#xff0c;侵删&#xff0c;若阅读过程中有相关方面的不足&#xff0c;还请指正&#xff0c;本文只做相关技术分享,切莫从事违法等相关行为&#xff0c;本人一律不承担一切后果 目录 一、HTTP协议各版本介绍 二、HTTP请求的方…...

15分钟学 Go 第 45 天 : 使用Docker容器

第45天&#xff1a;使用Docker容器 目标 在本节中&#xff0c;我们将深入了解Docker及其基本用法&#xff0c;掌握如何使用Docker容器来简化开发和部署流程。 背景知识 Docker是一个开源平台&#xff0c;用于开发、运输和运行应用程序。它使我们能够使用容器技术将应用程序…...

DriveLM 论文学习

论文链接&#xff1a;https://arxiv.org/pdf/2312.14150 代码链接&#xff1a;https://github.com/OpenDriveLab/DriveLM 解决了什么问题&#xff1f; 当前&#xff0c;自动驾驶方案的性能仍然不足。一个必要条件就是泛化能力&#xff0c;需要模型能处理未经训练的场景或不熟…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

AtCoder 第409​场初级竞赛 A~E题解

A Conflict 【题目链接】 原题链接&#xff1a;A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串&#xff0c;只有在同时为 o 时输出 Yes 并结束程序&#xff0c;否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统&#xff1a;ubuntu22.04 IDE:Visual Studio Code 编程语言&#xff1a;C11 题目描述 地上有一个 m 行 n 列的方格&#xff0c;从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子&#xff0c;但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

GitHub 趋势日报 (2025年06月08日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 884 cognee 566 dify 414 HumanSystemOptimization 414 omni-tools 321 note-gen …...

AI编程--插件对比分析:CodeRider、GitHub Copilot及其他

AI编程插件对比分析&#xff1a;CodeRider、GitHub Copilot及其他 随着人工智能技术的快速发展&#xff0c;AI编程插件已成为提升开发者生产力的重要工具。CodeRider和GitHub Copilot作为市场上的领先者&#xff0c;分别以其独特的特性和生态系统吸引了大量开发者。本文将从功…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

【网络安全】开源系统getshell漏洞挖掘

审计过程&#xff1a; 在入口文件admin/index.php中&#xff1a; 用户可以通过m,c,a等参数控制加载的文件和方法&#xff0c;在app/system/entrance.php中存在重点代码&#xff1a; 当M_TYPE system并且M_MODULE include时&#xff0c;会设置常量PATH_OWN_FILE为PATH_APP.M_T…...

【前端异常】JavaScript错误处理:分析 Uncaught (in promise) error

在前端开发中&#xff0c;JavaScript 异常是不可避免的。随着现代前端应用越来越多地使用异步操作&#xff08;如 Promise、async/await 等&#xff09;&#xff0c;开发者常常会遇到 Uncaught (in promise) error 错误。这个错误是由于未正确处理 Promise 的拒绝&#xff08;r…...

stm32wle5 lpuart DMA数据不接收

配置波特率9600时&#xff0c;需要使用外部低速晶振...

【深尚想】TPS54618CQRTERQ1汽车级同步降压转换器电源芯片全面解析

1. 元器件定义与技术特点 TPS54618CQRTERQ1 是德州仪器&#xff08;TI&#xff09;推出的一款 汽车级同步降压转换器&#xff08;DC-DC开关稳压器&#xff09;&#xff0c;属于高性能电源管理芯片。核心特性包括&#xff1a; 输入电压范围&#xff1a;2.95V–6V&#xff0c;输…...