Discuz! Board

 找回密碼
 立即註冊
搜索
熱搜: 活動 交友 discuz
查看: 1|回復: 0

高级 WordPress 开发:编写面向对象的插件

[複製鏈接]

18

主題

18

帖子

58

積分

註冊會員

Rank: 2

積分
58
發表於 7 天前 | 顯示全部樓層 |閱讀模式
利用您新获得的面向对象编程技术知识开始构建插件(它远没有听起来那么棘手,保证!)。
高级 WordPress 开发编写面向对象插件
如果您是 WordPress 开发人员,学习面向对象编程将带来诸多益处。OOP 代码可以帮助您组织代码并使其可重用。它更易于扩展、更易于维护,并且鼓励使用设计模式的文化。

这是我们六篇系列文章的第二篇,重点介绍面向高级开发人员的 WordPress。本系列文章延续了我们广受欢迎的“面向中级用户的 WordPress 开发”系列,该系列文章介绍了一些重要的编程主题,包括主题开发细节、主题自定义、插件构建、自定义文章类型和分类法、查询和循环、自定义字段和元数据以及本地化。

上周我们学习了面向对象编程 (OOP) 的基础知识。在本教程中,你将运用新学到的面向对象编程技术知识,开始构建插件。我们将从使用面向对象方法的基础知识,对代码进行结构性更改开始。

与使用面向对象编程 (OOP) 的平台相比,插件和主题中的第三方代码通常使用大量“意大利面条式”(也称为“牛仔式”)代码。希望您读完这篇文章后,能够受到启发,尝试一下面向对象编程,并整理您的代码!

让我们陷入困境吧。

注意:您必须具备 PHP 的应用知识,因为 PHP 是 WordPress 的基础语言,本系列涵盖了面向开发人员的高级主题。我将在本系列中引用代码片段。此外,对于本教程而言,掌握如何创建插件的基础知识也至关重要。需要帮助?请查看WordPress 插件开发入门:终极指南


    如果(!空($ _POST [ ' name ' ])||!isset($ _POST [ ' msf_nonce ' ])||!wp_verify_nonce($ _POST [ ' msf_nonce ' ],' msf_form_submit ')


查看原始full-procedural.php 由GitHub 托管
我们需要做两件事:在前端创建一个表单,并将输入的数据发送到 MailChimp。msf_post_form()函数负责前者。它会被挂接the_content并返回内容,就像我们不在单个页面上一样。

否则,我们将构建一个提交到admin-ajax.php文件的表单。我在表单中添加了两个安全元素。最明显的是 nonce 字段,另一个更隐蔽的是蜜罐名称文本字段。这个字段没有使用,并通过 CSS 隐藏。我特意给它起了一个常用的名字(而不是“蜜罐”),以引诱机器人填写它。

该msf_assets()函数为我们添加了样式表。请注意,我在这个函数中注册了它,但将其放入队列中msf_post_form()。这确保了它仅在需要时加载。

最后,该msf_form_submit()>函数负责处理提交。一旦 nonce 和蜜罐验证通过,我们就会向相应的位置发送包含所需数据的远程 post 请求。查看MailChimp API文档了解更多信息。

我们可以(应该)执行一些额外的检查,但这不是本教程的重点,所以我只在这里列出它们。

检查电子邮件服务器端
将 URL 中的服务器 (us6) 与 API 密钥中的服务器进行匹配
我添加了一些基本样式,使表单很好地适应 Twenty Fifteen 主题。


这段代码目前还不错,但当你尝试添加功能时,它很快就会变得非常复杂。如何处理多个列表?如何将相同的表单添加到网站的其他部分?如果您想在邮件列表提供商之间快速切换怎么办?
回復

使用道具 舉報

您需要登錄後才可以回帖 登錄 | 立即註冊

本版積分規則

Archiver|手機版|自動贊助|GameHost抗攻擊論壇

GMT+8, 2025-5-17 16:30 , Processed in 1.399029 second(s), 26 queries .

抗攻擊 by GameHost X3.4

© 2001-2017 Comsenz Inc.

快速回復 返回頂部 返回列表
一粒米 | 中興米 | 論壇美工 | 設計 抗ddos | 天堂私服 | ddos | ddos | 防ddos | 防禦ddos | 防ddos主機 | 天堂美工 | 設計 防ddos主機 | 抗ddos主機 | 抗ddos | 抗ddos主機 | 抗攻擊論壇 | 天堂自動贊助 | 免費論壇 | 天堂私服 | 天堂123 | 台南清潔 | 天堂 | 天堂私服 | 免費論壇申請 | 抗ddos | 虛擬主機 | 實體主機 | vps | 網域註冊 | 抗攻擊遊戲主機 | ddos |