Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >【ChatGPT】WordPress如何删除某用户ID下某一时间段的帖子?

【ChatGPT】WordPress如何删除某用户ID下某一时间段的帖子?

原创
作者头像
半夜喝可乐
发布于 2023-08-02 12:50:48
发布于 2023-08-02 12:50:48
35100
代码可运行
举报
文章被收录于专栏:小轻论坛小轻论坛
运行总次数:0
代码可运行

因为我用的是WordPress博客,然后搭建的子比主题,有时候需要删除大量的垃圾贴和水帖,所以我直接问ChatGPT如何实现这个功能,我们首先需要告诉他怎么去实现这个功能,比如我删除帖子的SQL代码是:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
delete from wp_posts where `post_author` = 1 AND `post_date` >='2023-06-01 00:00:00' and `post_date` < '2023-08-2 23:59:59';

这段代码就是删除了用户ID为1在2023-06-01 00:00:00到2023-08-2 23:59:59之间发布的帖子,我们提问的方式是,需要按照这段SQL代码然后写出一个可以填写用户ID和删除日期时间的PHP页面。

多次调试后,我得到了这样一段代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取表单提交的用户ID和时间区间
    $postAuthor = $_POST['post_author'];
    $startDate = $_POST['start_date'];
    $endDate = $_POST['end_date'];

    // 连接到数据库
    $host = '数据库主机名';
    $dbname = '数据库名称';
    $username = '数据库用户名';
    $password = '数据库密码';

    try {
        // 连接到数据库
        $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        // 构建 SQL 删除命令
        $sql = "DELETE FROM wp_posts WHERE `post_author` = :postAuthor AND `post_date` >= :startDate AND `post_date` < :endDate";

        // 准备和执行删除命令
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':postAuthor', $postAuthor, PDO::PARAM_INT);
        $stmt->bindParam(':startDate', $startDate, PDO::PARAM_STR);
        $stmt->bindParam(':endDate', $endDate, PDO::PARAM_STR);
        $stmt->execute();

        // 输出删除成功的提示
        $rowCount = $stmt->rowCount();
        echo "成功删除了 $rowCount 条帖子。";
    } catch (PDOException $e) {
        // 输出错误信息
        echo "删除帖子时发生错误:" . $e->getMessage();
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>删除帖子</title>
    <!-- 引入 Bootstrap 样式 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
    <!-- 引入 Flatpickr 样式 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
</head>
<body>
    <div class="container">
    <h1>删除帖子</h1>
    <form method="POST" action="">
        <div class="mb-3">
            <label for="post_author" class="form-label">用户ID</label>
            <input type="text" class="form-control" name="post_author" id="post_author" required>
        </div>

        <div class="mb-3">
            <label for="start_date" class="form-label">开始日期:</label>
            <input type="text" class="form-control" name="start_date" id="start_date" required>
        </div>

        <div class="mb-3">
            <label for="end_date" class="form-label">结束日期:</label>
            <input type="text" class="form-control" name="end_date" id="end_date" required>
        </div>

        <input type="submit" class="btn btn-primary" value="删除帖子">
    </form>
    </div>

    <!-- 引入 Bootstrap 和 Flatpickr -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    <script>
        // 初始化日期和时间选择器
        $(function () {
            $('#start_date').flatpickr({
                enableTime: true,
                dateFormat: 'Y-m-d H:i:s'
            });

            $('#end_date').flatpickr({
                enableTime: true,
                dateFormat: 'Y-m-d H:i:s'
            });
        });
    </script>
</body>
</html>

前端界面为:

发现确实可以删除帖子,然后我又将删除的提示美化了下,然后直接在用户ID下方设置了一个删除所有文章的按钮。逻辑是如果勾选了删除所有文章,起止日期将被停用,所以得到了这段代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?php
// 处理表单提交
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // 获取表单提交的用户ID和时间区间
    $postAuthor = $_POST['post_author'];
    $startDate = $_POST['start_date'];
    $endDate = $_POST['end_date'];

    // 连接到数据库
    $host = '数据库主机名';
    $dbname = '数据库名称';
    $username = '数据库用户名';
    $password = '数据库密码';

    try {
        // 连接到数据库
        $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        // 构建 SQL 删除命令
        $sql = "DELETE FROM wp_posts WHERE `post_author` = :postAuthor";

        // 如果选择了删除所有,则不需要时间区间条件
        if (!isset($_POST['delete_all'])) {
            $sql .= " AND `post_date` >= :startDate AND `post_date` < :endDate";
        }

        // 准备和执行删除命令
        $stmt = $pdo->prepare($sql);
        $stmt->bindParam(':postAuthor', $postAuthor, PDO::PARAM_INT);
        if (!isset($_POST['delete_all'])) {
            $stmt->bindParam(':startDate', $startDate, PDO::PARAM_STR);
            $stmt->bindParam(':endDate', $endDate, PDO::PARAM_STR);
        }
        $stmt->execute();

        // 输出删除成功的提示
        $rowCount = $stmt->rowCount();
        echo '<div class="container alert alert-success" role="alert">';
        echo "成功删除了 $rowCount 条帖子。";
        echo '</div>';
    } catch (PDOException $e) {
        // 输出错误信息
        echo '<div class="container alert alert-danger" role="alert">';
        echo "删除帖子时发生错误:" . $e->getMessage();
        echo '</div>';
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>删除帖子</title>
    <!-- 引入 Bootstrap 样式 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">
    <!-- 引入 Flatpickr 样式 -->
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
</head>
<body>
    <div class="container">
    <h1>删除帖子</h1>
    <form method="POST" action="">
        <div class="mb-3">
            <label for="post_author" class="form-label">用户ID</label>
            <input type="text" class="form-control" name="post_author" id="post_author" required>
        </div>

        <div class="mb-3 form-check">
            <input type="checkbox" class="form-check-input" name="delete_all" id="delete_all">
            <label class="form-check-label" for="delete_all">删除所有文章</label>
        </div>

        <div class="mb-3">
            <label for="start_date" class="form-label">开始日期:</label>
            <input type="text" class="form-control" name="start_date" id="start_date" required>
        </div>

        <div class="mb-3">
            <label for="end_date" class="form-label">结束日期:</label>
            <input type="text" class="form-control" name="end_date" id="end_date" required>
        </div>

        <input type="submit" class="btn btn-primary" value="删除帖子">
    </form>
    </div>

    <!-- 引入 Bootstrap 和 Flatpickr -->
    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
    <script>
        // 初始化日期和时间选择器
        $(function () {
            $('#start_date').flatpickr({
                enableTime: true,
                dateFormat: 'Y-m-d H:i:s'
            });

            $('#end_date').flatpickr({
                enableTime: true,
                dateFormat: 'Y-m-d H:i:s'
            });

            // 监听删除所有复选框的变化
            $('#delete_all').change(function () {
                if (this.checked) {
                    $('#start_date, #end_date').prop('disabled', true);
                } else {
                    $('#start_date, #end_date').prop('disabled', false);
                }
            });
        });
    </script>
</body>
</html>

前端页面是:

效果还不错,删除也挺迅速的,至少比在WordPress后台删除速度快很多。

如果你觉得本文有用,希望能回来点个赞!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
用豆包制作一个可以统计直播数据的系统
最近公司直播使用的是微赞平台做私域直播,我们为了方便直播数据的累计,保证能够提升单个直播间的数据,所以采用的是数据全累计,这样会导致一个问题就是无法获取单场数据,经平台确认,暂时无法统计这方面的数据,但是我们每天都要汇报这方面的数据,所以我做了这个系统。
半夜喝可乐
2024/12/11
1220
用豆包制作一个可以统计直播数据的系统
我用ChatGPT做开发之小轻世界聊天系统
你真的不得不佩服ChatGPT的能力,这段时间确实爱不释手,自己也做了很多有趣的小工具,比如骗子QQ公示、小轻一言、音乐播放器、资源库、知乎热榜、新闻热门等页面。
半夜喝可乐
2023/06/12
7940
我用ChatGPT做开发之小轻世界聊天系统
wordpress统计某段时间用户发帖量-文曦博客
  统计用户某段时间的发帖量,展示图片如图:         可以排除某些用户ID         可以调整选择页的选项个数,我的是12个月         当然,你也可以自己
雾海梦曦
2022/11/14
4660
wordpress统计某段时间用户发帖量-文曦博客
新手小白都能搭建的留言系统
今天给大家带来的教程是使用PHP和Bootstrap构建响应式布局,搭建一个简单的留言系统。
半夜喝可乐
2024/09/05
1730
新手小白都能搭建的留言系统
支撑每秒数百万订单无压力,SpringBoot + Disruptor 太猛了!
在高并发系统中,传统的队列或锁机制往往无法满足极限情况下的性能需求。Disruptor 是由 LMAX 交易所开发的一种高性能并发框架,设计初衷就是为了解决高频金融交易中的并发处理问题。与传统的队列机制不同,Disruptor 采用环形缓冲区(RingBuffer)和无锁算法(Lock-Free Algorithm),最大程度地减少了线程上下文切换和内存屏障的开销,从而能够在高并发场景下提供极低的延迟和极高的吞吐量。
程序员皮皮林
2024/10/14
4690
支撑每秒数百万订单无压力,SpringBoot + Disruptor 太猛了!
在线客服系统源码php开发搭建
在这篇文章中,我们将使用php网络套接字棘轮构建一个简单的php和mysql在线客服系统源码。如果您正在寻找如何在php中创建实时或实时的在线客服系统,那么您已经来到了正确的地方,因为在这篇文章中,我们分享了如何使用网络套接字来创建实时的在线客服系统源码。在此帖子中,我们将创建在线客服系统,其中多个用户可以与其他用户聊天。
用户10694907
2023/08/06
8100
PHP实现一个内容阅后即焚平台
本文档介绍了一个简易的“阅后即焚”平台的技术实现,涵盖了前端界面、后端逻辑以及内容查看的实现。该平台允许用户提交内容并设置内容的销毁条件(如时间限制或访问次数限制)。平台会在到达条件时自动销毁该内容。
C4rpeDime
2024/10/16
3621
PHP实现一个内容阅后即焚平台
bootstrap+jquery实现图片选取后本地预览+增删+表单ajax上传(完整demo)
运行效果截图—支持再次选择和删除不要的图片,图片预览效果的图片数据是本地的,不需要上传就可以预览
超级小可爱
2024/04/26
3800
bootstrap+jquery实现图片选取后本地预览+增删+表单ajax上传(完整demo)
SpringBoot | SpringBoot员工管理系统(超细笔记+静态资源链接+附完整源码)
文章目录 SpringBoot 员工管理系统(源码在文末) 1、配置环境 1.1、新建SpringBoot项目 1.2、编写实体类 1.3、编写Dao层(模拟数据库) 1.4、导入静态资源(附资源链接) 2、首页 2.1、导入依赖 2.2、跳转首页 2.3、将导入的静态资源修改为Thymeleaf模板规范 3、国际化 3.1、修改IDEA中properties的编码设置 3.2、编写国际化配置文件 3.3、编写配置 3.4、查看国际化配置源码 3.5、配置messages路径 3.6、页面获取国际化的值 3
啵啵鱼
2022/11/23
2.6K0
SpringBoot | SpringBoot员工管理系统(超细笔记+静态资源链接+附完整源码)
vue-resource实现数据的绑定、添加、删除
vue-resource实现数据的绑定、添加、删除 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <title>简单用户管理</title> 5 <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"> 6 <script src="https://cdn.jsdeli
指尖改变世界
2018/08/31
8510
SpringBoot项目复盘
如果后端数据判断显示为null或者密码错误。通过上述的语法就可以实现将数据回显出来,而不是一开始就显示数据
用户11097514
2024/05/30
1420
SpringBoot项目复盘
java实现文件对比
web项目需要实现文件内容对比功能,开发语言是java,也就是通过java实现类似于svn的文件对比功能
六月的雨在Tencent
2024/03/29
2590
java实现文件对比
SpringBoot-06 员工管理系统
当然,你也可以在之后添加数据的时候,每次在date对应位置写 new Date();
张小驰出没
2021/12/06
1.4K0
SpringBoot-06 员工管理系统
springboot项目(学生管理系统)day02
今天我们要完成的项目功能为就业城市的查询和增加,因为就业城市是单表操作,设计到的类相对来说比较少,所以先完成
上分如喝水
2021/08/16
2730
springboot项目(学生管理系统)day02
WordPress主题下funtions.php的一段“恶意”代码
不多说了,相信有很多WordPresser都知道这段在WordPress主题下fountions.php的“恶意”代码,之所以为“恶意”加个双引号是想说:其实也不算太“恶意”,对你的伤害只是两点:1、感染wp-content\themes\下所有主题的fountions.php文件;2、以当前被感染博客的主页URL为标题和内容,向 livethemas@gmail.com发送邮件。已经知道的就不用往下看啦,还不知道的快去你的主题fountions.php检查有木有,有的话赶快删除之。话说这段恶意代码还真够长
Jeff
2018/01/19
1.2K0
基于 Spring Boot 和腾讯云 Redis 的高性能缓存系统实战指南
缓存技术已成为构建高性能、低延时系统不可或缺的技术。Redis 作为一个高性能的内存数据库,被广泛应用于缓存、会话管理、限流等场景。在分布式架构中,缓存可以显著提高系统的吞吐量,降低数据库的压力。腾讯云 Redis 作为托管的 Redis 服务,为开发者提供了安全、稳定、可扩展的解决方案,使我们无需关心底层的管理运维,可以专注于业务开发。
不惑
2024/11/11
2020
基于 Spring Boot 和腾讯云 Redis 的高性能缓存系统实战指南
Spring Boot 之Web开发
2)、SpringBoot已经默认将这些场景配置好了,只需要在配置文件中指定少量配置就可以运行起来
兮动人
2021/06/11
1.1K0
Spring Boot 之Web开发
36·Python项目-博客(前后不分离)
-多年互联网运维工作经验,曾负责过大规模集群架构自动化运维管理工作。 -擅长Web集群架构与自动化运维,曾负责国内某大型金融公司运维工作。 -devops项目经理兼DBA。 -开发过一套自动化运维平台(功能如下): 1)整合了各个公有云API,自主创建云主机。 2)ELK自动化收集日志功能。 3)Saltstack自动化运维统一配置管理工具。 4)Git、Jenkins自动化代码上线及自动化测试平台。 5)堡垒机,连接Linux、Windows平台及日志审计。 6)SQL执行及审批流程。 7)慢查询日志分析web界面。
DriverZeng
2022/11/08
8520
36·Python项目-博客(前后不分离)
【从零到一,C++项目实战】CineShare++(基于C++的视频点播系统)
项目功能:搭建一个共享点播系统,服务器能够支持用户通过前端浏览器进行访问,提供清晰的展示、观看和操作界面。该系统不仅可以实现视频的上传功能,还能满足用户观看视频的需求。同时,系统还具备基本的管理功能,包括视频的增、删、改、查等操作,以便管理员对视频内容进行有效管理和维护。通过此系统,用户可以便捷地上传和浏览视频,管理员则能确保内容的有序管理与更新。
南桥
2025/01/27
930
【从零到一,C++项目实战】CineShare++(基于C++的视频点播系统)
springboot开发之显示员工信息
在entities包中:有Employee.java、Department.java
西西嘛呦
2020/08/26
2.8K0
springboot开发之显示员工信息
推荐阅读
相关推荐
用豆包制作一个可以统计直播数据的系统
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验