当前位置: 首页 > 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;需要模型能处理未经训练的场景或不熟…...

Ubuntu 系统.sh脚本一键部署内网Java服务(组件使用docker镜像,宕机自启动)

#!/bin/bash# 更新系统并安装必要的依赖 sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common# 安装 Docker curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository …...

我认为STM32输入只分为模拟输入 与 数字输入

核心概念解析 模拟输入 (Analog Input) 设计目的&#xff1a;直接连接模拟信号&#xff08;如ADC采集电压、温度传感器输出&#xff09; 硬件行为&#xff1a; ✅ 断开内部数字电路&#xff08;施密特触发器禁用&#xff09; ✅ 信号直通模拟外设&#xff08;如ADC、运放&…...

黑马Javaweb Request和Response

一.介绍 在 Web 开发中&#xff0c;HttpServletRequest 和 HttpServletResponse 是两个非常重要的类&#xff0c;它们分别用于处理客户端的请求和服务器的响应。以下是它们的详细说明和使用方法&#xff1a; 1. HttpServletRequest HttpServletRequest 是一个接口&#xff0…...

Nginx+Tomcat负载均衡与动静分离架构

目录 简介 一、Tomcat基础部署与配置 1.1 Tomcat应用场景与特性 1.2 环境准备与安装 1.3 Tomcat主配置文件详解 1.4 部署Java Web站点 二、NginxTomcat负载均衡群集搭建 2.1 架构设计与原理 2.2 环境准备 2.3 Tomcat2配置&#xff08;与Tomcat1对称&#xff09; 2.4…...

热成像实例分割电力设备数据集(3类,838张)

在现代电力系统的运维管理中&#xff0c;红外热成像已经成为检测设备隐患、预防故障的重要手段。相比传统可见光图像&#xff0c;红外图像可揭示设备温度分布&#xff0c;从而更直观地反映过热、老化等问题。而在AI赋能下&#xff0c;通过实例分割技术对热成像中的电力设备进行…...

【汇编逆向系列】七、函数调用包含多个参数之浮点型- XMM0-3寄存器

目录 1. 汇编代码 1.1 debug编译 1.2 release编译 2. 汇编分析 2.1 浮点参数传递规则 2.2 栈帧rsp的变化时序 2.3 参数的访问逻辑 2.4 返回值XMM0寄存器 3. 汇编转化 3.1 Debug编译 3.2 Release 编译 3.3 C语言转化 1. 汇编代码 上一节介绍了整型的函数传参&#x…...

Linux下如何查看一个端口被什么进程占用? 该进程又打开了哪些文件?

Linux下如何查看一个端口被什么进程占用&#xff1f; 该进程又打开了哪些文件&#xff1f; 查看端口 1.使用lsof命令查看端口占用的进程 lsof可以列出系统上打开的文件&#xff0c;其中包括网络连接、进程信息等。 lsof -i:<端口号> 例如&#xff0c;如果需…...

前端开发面试题总结-HTML篇

文章目录 HTML面试高频问答一、HTML 的 src 和 href 属性有什么区别?二、什么是 HTML 语义化?三、HTML的 script 标签中 defer 和 async 有什么区别?四、HTML5 相比于 HTML有哪些更新?五、HTML行内元素有哪些? 块级元素有哪些? 空(void)元素有哪些?六、iframe有哪些优点…...

【bug】Error: /undefinedfilename in (/tmp/ocrmypdf.io.9xfn1e3b/origin.pdf)

在使用ocrmypdf的时候&#xff0c;需要Ghostscript9.55及以上的版本&#xff0c;但是ubuntu自带为9.50 然后使用ocrmypdf报错了 sudo apt update sudo apt install ghostscript gs --version 9.50 #版本不够安装的版本为9.50不够&#xff0c;因此去官网https://ghostscript.c…...

[P2P]并发模式

设备可以同时作为 P2P Client 监听其他P2P请求&#xff0c;需要硬件和驱动支持。 //某些高级Wi-Fi芯片&#xff08;如高通、博通&#xff09;支持 Concurrent Mode&#xff08;并发模式 GO 如果GO已经有一个client&#xff0c;大多数支持接受新的P2P Discovery。默认情况下会…...