分享一个使用智狐联创AI平台创建的WordPress分类广告插件

news2024/9/28 7:24:10

分享一个使用智狐联创AI平台创建的WordPress分类广告插件

为了提升广告的效果与管理效率,我们开发了一款基于WordPress的分类广告插件,旨在帮助用户根据文章分类方便地显示相关广告。这款插件不仅简化了广告的管理流程,还提高了广告的精准投放。

插件功能概述

1. 广告管理

用户可以通过插件后台轻松管理广告。插件支持添加、编辑和删除广告,确保广告内容保持新鲜和相关。每条广告都可以与特定的文章分类关联,从而实现针对性的广告展示。

2. 分类匹配

通过选择文章分类,插件能够自动识别并展示与该分类相关的广告。这样,用户在阅读时能够看到与内容相关的广告,不仅增强了用户的浏览体验,还提升了广告的点击率。

3. 简洁明了的后台界面

插件提供了简单易用的后台界面,用户可以在「广告列表」页面查看所有已添加的广告,并选择「添加广告」进行新广告的创建。同时,针对已有广告的编辑与删除操作也非常直观。所有操作均在一个整洁的页面中完成,无需复杂的导航。

4. 界面友好

插件搭载了现代化的界面设计,采用了Bootstrap样式库,使得后台管理界面既美观又实用。用户在使用时不仅能够高效完成操作,还能享受到良好的视觉体验。

使用场景

假设您是一位内容创作者,负责维护一个关于健康与生活的博客。在您发布了一篇关于“健康饮食”的文章后,您希望在页面中展示与健康饮食相关的广告。通过我们的分类广告插件,您可以轻松添加适合这篇文章的广告代码,并将其与“健康饮食”分类关联。这样一来,读者在浏览文章时就能看到相关广告,增加了广告的曝光率。

使用说明

安装与激活

1. 创建插件目录和文件

在 WordPress 的 wp-content/plugins 文件夹中,创建一个名为 category-advertisement 的文件夹,并在该文件夹中创建一个名为 category-advertisement.php 的文件。

2. 插件基础代码

在 category-advertisement.php 中,添加以下代码:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

<?php

/*

Plugin Name: 分类广告插件

Description: 根据文章分类显示广告代码

Version: 1.14

Author: 智狐联创出品

Author URI: https://www.aifoxtech.com/?user_sn=83484116

*/

if ( ! defined( 'ABSPATH' ) ) {

    exit// 防止直接访问

}

// 创建数据库表

register_activation_hook(__FILE__'ca_create_ad_table');

function ca_create_ad_table() {

    global $wpdb;

    $table_name $wpdb->prefix . 'category_ads'// 表名

    $charset_collate $wpdb->get_charset_collate();

    $sql = "CREATE TABLE $table_name (

        id mediumint(9) NOT NULL AUTO_INCREMENT,

        ad_code text NOT NULL,

        category_id mediumint(9) NOT NULL,

        PRIMARY KEY  (id)

    $charset_collate;";

    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');

    dbDelta($sql);

}

// 卸载时删除数据库表

register_uninstall_hook(__FILE__'ca_delete_ad_table');

function ca_delete_ad_table() {

    global $wpdb;

    $table_name $wpdb->prefix . 'category_ads'// 表名

    $wpdb->query("DROP TABLE IF EXISTS $table_name");

}

// 添加后台菜单

add_action('admin_menu''ca_add_admin_menu');

function ca_add_admin_menu() {

    add_menu_page('分类广告设置''分类广告''manage_options''category_ads''ca_ads_list_page');

    add_submenu_page('category_ads''添加广告''添加广告''manage_options''add_category_ad''ca_add_ad_page');

}

// 广告列表页面

function ca_ads_list_page() {

    global $wpdb;

    // 删除广告

    if (isset($_GET['delete'])) {

        $delete_id intval($_GET['delete']);

        $wpdb->delete($wpdb->prefix . 'category_ads', ['id' => $delete_id]);

        echo '<div class="updated"><p>广告删除成功!</p></div>';

    }

    // 获取广告列表

    $ads $wpdb->get_results("SELECT * FROM {$wpdb->prefix}category_ads");

    echo '<div class="wrap">';

    echo '<h2>已添加广告</h2>';

    echo '<table class="table table-bordered">';

    echo '<thead><tr><th>广告代码</th><th>分类</th><th>操作</th></tr></thead>';

    echo '<tbody>';

    foreach ($ads as $ad) {

        echo '<tr>';

        echo '<td>' . esc_html($ad->ad_code) . '</td>';

        echo '<td>' . esc_html(get_cat_name($ad->category_id)) . '</td>';

        echo '<td>

            <a href="?page=add_category_ad&ad_id=' . esc_attr($ad->id) . '" class="btn btn-warning btn-sm">编辑</a>

            <a href="?page=category_ads&delete=' . esc_attr($ad->id) . '" class="btn btn-danger btn-sm">删除</a>

        </td>';

        echo '</tr>';

    }

    echo '</tbody></table>';

    echo '<a href="?page=add_category_ad" class="btn btn-primary">添加广告</a>';

    echo '</div>';

}

// 添加广告页面

function ca_add_ad_page() {

    global $wpdb;

    // 获取广告 ID

    $id = isset($_GET['ad_id']) ? intval($_GET['ad_id']) : 0;

    // 初始化广告内容和分类ID

    $ad_code '';

    $category_id '';

    $notice ''// 用于保存成功提示

    if (isset($_POST['submit'])) {

        // 处理表单提交

        $ad_code = sanitize_textarea_field($_POST['ad_code']);

        $category_id intval($_POST['category_id']);

        // 验证数据

        if (!empty($ad_code) && $category_id) {

            if ($id) {

                // 更新广告

                $wpdb->update(

                    $wpdb->prefix . 'category_ads',

                    ['ad_code' => $ad_code'category_id' => $category_id],

                    ['id' => $id]

                );

                $notice '<div class="updated"><p>广告更新成功!</p></div>';

            else {

                // 添加新广告

                $wpdb->insert(

                    $wpdb->prefix . 'category_ads',

                    ['ad_code' => $ad_code'category_id' => $category_id]

                );

                $notice '<div class="updated"><p>广告添加成功!</p></div>';

            }

        else {

            echo '<div class="error"><p>请确保填写了广告代码和选择了分类!</p></div>';

        }

    }

    // 获取当前编辑的广告信息

    if ($id) {

        $current_ad $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->prefix}category_ads WHERE id = %d"$id));

        if ($current_ad) {

            $ad_code $current_ad->ad_code;

            $category_id $current_ad->category_id;

        }

    }

    // 加载 Bootstrap 样式

    echo '<link rel="stylesheet" href="https://cdn.bootcdn.net/ajax/libs/twitter-bootstrap/4.5.2/css/bootstrap.min.css">';

    ?>

    <div class="wrap">

        <h2><?php echo $id '编辑广告' '添加广告'; ?></h2>

        <?php echo $notice// 显示保存成功的提示 ?>

        <form method="post" class="mb-4">

            <input type="hidden" name="ad_id" value="<?php echo esc_attr($id); ?>">

            <div class="form-group">

                <label for="ad_code">广告代码:</label>

                <textarea name="ad_code" class="form-control" rows="5"><?php echo esc_textarea($ad_code); ?></textarea>

            </div>

            <div class="form-group">

                <label for="category_id">选择分类:</label>

                <select name="category_id" class="form-control">

                    <?php

                    $categories = get_categories(['hide_empty' => false]);

                    foreach ($categories as $category) : ?>

                        <option value="<?php echo esc_attr($category->term_id); ?>" <?php selected($category_id$category->term_id); ?>>

                            <?php echo esc_html($category->name); ?>

                        </option>

                    <?php endforeach; ?>

                </select>

            </div>

            <input type="submit" name="submit" value="保存广告" class="btn btn-primary">

        </form>

         

        <a href="?page=category_ads" class="btn btn-secondary">返回广告列表</a> <!-- 返回按钮 -->

    </div>

    <?php

}

// 显示广告

add_action('the_content''ca_display_ads');

function ca_display_ads($content) {

    global $wpdb;

    if (is_single() && in_the_loop() && is_main_query()) {

        $categories = get_the_category();

        $ads $wpdb->get_results("SELECT * FROM {$wpdb->prefix}category_ads");

        foreach ($categories as $category) {

            foreach ($ads as $ad) {

                if ($ad->category_id == $category->term_id) {

                    return $ad->ad_code . $content// 在内容前面添加广告代码

                }

            }

        }

    }

    return $content;

}

// 添加自定义样式

add_action('admin_enqueue_scripts''ca_enqueue_styles');

function ca_enqueue_styles() {

    echo '<style>

        .table th, .table td { text-align: center; }

        .error { color: red; }

        .updated { color: green; }

    </style>';

}

添加广告

  1. 进入广告管理页面:在WordPress后台左侧导航栏中,找到并点击“分类广告”。

  2. 添加新广告:

    • 点击“添加广告”。

    • 在打开的新页面中,填写广告代码(如HTML代码)和选择对应的分类。

    • 点击“保存广告”以完成添加。

  3. 查看已添加的广告:返回到广告列表页面,您可以在此看到所有已添加的广告及其相关信息。

编辑和删除广告

  1. 编辑广告:

    • 在广告列表页面,通过点击“编辑”按钮进入编辑页面。

    • 修改相应的广告代码或分类信息,然后点击“保存广告”。

  2. 删除广告:

    • 在广告列表页面,通过点击“删除”按钮确认删除操作。

显示广告

广告将自动根据文章分类显示在相应的文章内容中。只需将广告与分类关联,系统会在用户浏览相应分类的文章时展示相关广告代码。

开发背后的智慧

本分类广告插件的开发,得益于智狐联创AI平台的支持。该平台提供了强大的AI工具和逻辑解析能力,使得代码的编写和功能的实现更加高效。开发团队能够利用智狐联创AI平台生成的代码,快速搭建出符合市场需求的插件架构。

常见问题解答(FAQ)

1. 插件支持哪些广告格式?

插件支持HTML格式的广告代码。您可以插入任何可以通过HTML展示的广告内容。

2. 如何确保广告只在指定分类的文章中显示?

在添加或编辑广告时,您可以选择与特定分类关联。当用户浏览该分类的文章时,插件会自动展示相关广告。

3. 如何潜在地增加广告的收益?

确保广告内容与文章内容相关,并定期更新广告代码。这将提高点击率,进而增加广告收益。

4. 插件的兼容性如何?

该插件兼容大多数标准的WordPress主题和插件。若遇到兼容性问题,建议联系开发者团队进行支持。

总结

分类广告插件为广告主和内容创作者提供了一种新颖而有效的广告管理方式。它不仅能提升广告的投放效率,还能带来更好的用户体验。在数字营销中,这样一款灵活易用的工具无疑是您提升收益与影响力的利器。如果您希望更高效地管理广告,请立即试用我们的分类广告插件!

借助智狐联创AI平台的力量,我们相信这个插件将能够为用户带来更好的广告管理体验和效果。无论您是新手还是专业人士,这款插件都将成为您网站中不可或缺的工具。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2104235.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

谷歌seo优化有能一步提升的方法吗?

网站优化的方法有很多&#xff0c;但没有一刀切的解决方案。 谷歌SEO绝对不是一项廉价的服务。任何声称能以低价实现显著效果的承诺都值得怀疑。 谷歌SEO是一项需要人力、技术和资源的工作&#xff0c;如果你打算自己做 最少需要一个人的年薪&#xff0c;还要考虑域名、服务器…

Linux中的编译器gcc/g++

目录 一、gcc与g的区别 1.gcc编译器使用 2.g编译器使用 二、gcc/g编译器编译源文件过程 1.预处理 2.编译 3.汇编 4.链接 三、静态库和动态库 1.库中的头文件作用 2.静态库 3.动态库 四、gcc编译器的一些选项命令 一、gcc与g的区别 gcc用于编译C语言代码&#xff…

Echarts可视化大屏数据详解

1、ECharts介绍 1.1、什么是ECharts ECharts是一款由百度开发并开源的数据可视化图表库&#xff0c;旨在帮助开发者通过简单易用的方式实现复杂的数据展示和分析需求。它完全基于 JavaScript 开发&#xff0c;利用 HTML5 的 Canvas 技术进行图形渲染&#xff0c;这使得它能够…

精密五金零配件加工的核心技术解析

在现代制造业中&#xff0c;精密五金零配件起着至关重要的作用。从电子产品到机械设备&#xff0c;从汽车制造到航空航天&#xff0c;都离不开高精度的五金零配件。而要实现精密五金零配件的加工&#xff0c;需要掌握一系列核心技术。时利和与大家一同解析精密五金零配件加工的…

Flutter之修改App的图标、名称

一、修改App名称 Android 路径&#xff1a;android/app/src/main/AndroidManifest.xml, 找到 android:label”string/app_name”。点击Ctrl鼠标左键转到string.xml 修改名称&#xff1a; <resources><string name"app_name">你的APP名称</string>…

如何使 div 居中?CSS 居中终极指南

前言 长期以来&#xff0c;如何在父元素中居中对齐一个元素&#xff0c;一直是一个让人头疼的问题&#xff0c;随着 CSS 的发展&#xff0c;越来越多的工具可以用来解决这个难题&#xff0c;五花八门的招式一大堆&#xff0c;这篇博客&#xff0c;旨在帮助你理解不同的居中方法…

获取navicat已保存数据库连接的密码

打开connections.ncx&#xff0c;可以看到Passwordxxx,这是加密后的密码 解密 在线的运行工具https://tool.lu/coderunner 运行如下代码&#xff0c;代码中的密码改成你的密码&#xff0c;在倒数第二行位置 <?phpnamespace FatSmallTools;class NavicatPassword{protected…

基础数据结构之双向链表

目录 基础定义 节点的定义 节点的初始化 创建双链表 1.前插法 2.尾插法 双向链表的遍历输出 指定位置插入 双向链表的按位取值 任意位置删除 双向链表销毁 主程序入口​​​​​​​ 基础定义 所谓的双向链表就是单向链表多了一个前驱指针。双向链表是由一个个结点组成每个结点…

【LLM】大模型基础--大规模预训练语言模型的开源教程笔记

1.引言 本文以DataWhale大模型开源教程为学习路线&#xff0c;进行一整个大模型的入门操作 什么是语言模型 语言模型是一种对词元序列&#xff08;token&#xff09;的概率分布&#xff0c;可以用于评估文本序列的合理性并生成新的文本。 从生成文本的方式来看&#xff0c;…

【C++ Primer Plus习题】10.4

问题: 解答: main.cpp #include <iostream> #include "sales.h" using namespace std; using namespace SALES;int main() {Sales s1;double de[QUARTERS] { 12.1,32.1,42.1,51.1 };Sales s2(de, QUARTERS);s1.showSales();s2.showSales();return 0; }sales.…

IP/TCP/UDP协议的关键知识点

导语&#xff1a;网络协议是理解网络情况的基础&#xff0c;当遇到网络问题时&#xff0c;首先可以从网络协议入手&#xff0c;熟悉的网络协议可以有效帮助小伙伴们排查或者说定位大概的问题方面。本文整理了目前最常用的网络通信协议&#xff0c;相信对小伙伴们肯定都有帮助。…

C#使用MQTT(一):MQTT服务端

MQTT&#xff08;Message Queuing Telemetry Transport&#xff09; 即时通讯协议&#xff0c; 开发商 IBM MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上&#xff0c;是为硬件性能低下的远程设备以及网络状…

将RK3588平台的TMC等USB function驱动挪出内核源码树

背景 前一段时间定位一个上位机通过USB-TMC连接下位机&#xff08;基于RK3588平台&#xff09;时界面发生卡顿的问题&#xff0c;发现USB-TMC驱动代码是放在内核源码树里跟内核一起编译的&#xff0c;觉着这样既不便于更换TMC 驱动版本&#xff08;每次修改代码都要重编内核&a…

2024年【广西安全员C证】考试题及广西安全员C证考试技巧

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广西安全员C证考试题是安全生产模拟考试一点通生成的&#xff0c;广西安全员C证证模拟考试题库是根据广西安全员C证最新版教材汇编出广西安全员C证仿真模拟考试。2024年【广西安全员C证】考试题及广西安全员C证考试技…

AI电商产品一键换高清背景,就是这么简单(comfyui)

comfyui电商产品换背景工作流 工作流作者&#xff1a;Aki Hung c 工作流我放在了文末&#xff0c;需要的朋友自取&#xff01; 这里给大家准备好了一份详细的ComfyUI资料和安装包&#xff0c;扫描下方二维码即可获取&#xff01; 大家好&#xff0c;我是你们的老朋友&#xf…

10.4 网际层协议

网际层协议 真题

YashanDB产品调优实战:分享日常调优技巧及提升系统性能的实战经验

本文旨在提供一系列关于YashanDB产品的调优技巧和实战经验&#xff0c;帮助读者更好地理解和应用这些技术来优化数据库性能。内容将涵盖索引优化、查询优化、内存管理、参数配置&#xff0c;以及性能监控等多个方面&#xff0c;通过实际案例和详细的分析&#xff0c;展示如何有…

程序员学python的七大就业方向!

Python作为一种多功能的编程语言&#xff0c;其就业方向广泛且前景乐观。以下是Python的七大就业方向&#xff1a; Web开发&#xff1a; Python在Web开发领域具有重要地位&#xff0c;拥有Flask、Django等优秀的Web开发框架&#xff0c;可以快速搭建网站和Web应用。这些框架不仅…

【Redis】缓存击穿、缓存穿透、缓存雪崩原理以及多种解决方案

一、前言 在 Spring Cloud 微服务集群项目中&#xff0c;客户端的请求首先会经过 Nginx&#xff0c;Nginx 会将请求反向代理到 Gateway 网关层&#xff0c;接着才会将请求发送到具体的服务 service。 在 service 中如果要查询数据&#xff0c;则会到缓存中查询&#xff0c;如…

COT思维链,TOT思维树,GOT思维图,这些都是什么?

1. 导入 hallucinations 1. 什么是幻觉&#xff1f; 大模型出现幻觉&#xff0c;简而言之就是“胡说八道”。 用《A Survey on Hallucination in Large Language Models》文中的话来讲&#xff0c;是指模型生成的内容与现实世界事实或用户输入不一致的现象。 研究人员将大模型…