当前位置:首页 > 代码 > 正文

wordpress代码开发(WordPress代码库 – 专注WordPress的实用资源)

admin 发布:2022-12-19 18:34 220


本篇文章给大家谈谈wordpress代码开发,以及WordPress代码库 – 专注WordPress的实用资源对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。

本文目录一览:

怎样开发一个最简单的wordpress插件

对于许多WordPress用户来说,插件是必须的。

WordPress插件开发使得那些只有很少或者没有编程能力的用户可以扩展他们博客的功能。插件的形式多种多样,在WordPress中,插件几乎可以做任何事情。 WordPress并非仅仅是一个简单的博客平台,同时也是一个功能极其强大并且有着无限扩展能力的 CMS 平台。现在不管是在国内还是国外,WordPress都有着庞大的用户数量,而且这等用户数量也是其它博客平台难以匹敌的,一直以来也都有着数量巨大的 WordPress爱好者为其开发主题和插件开发,借助于这些主题和插件,你几乎可以把 WordPress配置成任何类型的站点。 有时候,别人开发好的插件,并不一定完全适合每个人的需求,自己想去修改吧,又不敢动手。其实,只要我们能理解插件的工作机制,并且参考一下 WordPress 的官方文档,再多借助于搜索引擎,我们自己也能对那些插件进行一些修改,并且自己也可以开发出一些简单的插件。 插件的核心 总的来说,插件的核心是两 function,用来添加Hooks(中文译为钩子) add_action ($hookname, $callbackfunction) add_filter ($hookname,$callbackfunction) 这两个方法相当重要,几乎所有的插件都要用到他们。 Actions,我理解就是wordpress核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。想情参见 Filters,应该就是wordpress执行时,对数据传输过程的一种过滤机制,例如当文章保存到数据库的过程,或者文章从事数据库中取出,展现到浏览器中的这个过程。 了解了这些你就可以进行WordPress插件开发了,在开始之前,需要注意三件事情:第一、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。第二、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。第三、尽量用最新版的WordPress进行开发和测试。

如何在Wordpress中添加一段代码

第一步:首先从网上下载出WordPress的插件Wp-syntax。

第二步:在编辑文章时,使用HTML的编辑方式插入以下代码pre lang=”LANGUAGE” line=”0″//“line为1时表示显示行号”/pre,中间插入要插入的代码即可,LANGUAGE改为语言类型,例如php、java。line为0不显示行号,为1时显示。

附:支持的语言如下:abap, actionscript, actionscript3, ada, apache, applescript, apt_sources, asm, asp, autoit, avisynth, bash, bf, bibtex, blitzbasic, bnf, boo, c, c_mac, caddcl, cadlisp, cil, cfdg, cfm, cmake, cobol, cpp-qt, cpp, csharp, css, d, dcs, delphi, diff, div, dos, dot, eiffel, email, erlang, fo, fortran, freebasic, genero, gettext, glsl, gml, bnuplot, groovy, haskell, hq9plus, html4strict, idl, ini, inno, intercal, io, java, java5, javascript, kixtart, klonec, klonecpp, latex, lisp, locobasic, lolcode lotusformulas, lotusscript, lscript, lsl2, lua, m68k, make, matlab, mirc, modula3, mpasm, mxml, mysql, nsis, oberon2, objc, ocaml-brief, ocaml, oobas, oracle11, oracle8, pascal, per, pic16, pixelbender, perl, php-brief, php, plsql, povray, powershell, progress, prolog, properties, providex, python, qbasic, rails, rebol, reg, robots, ruby, sas, scala, scheme, scilab, sdlbasic, smalltalk, smarty, sql, tcl, teraterm, text, thinbasic, tsql, typoscript, vb, vbnet, verilog, vhdl, vim, visualfoxpro, visualprolog, whitespace, whois, winbatch, xml, xorg_conf, xpp, z80

如何在WordPress文章和页面运行PHP代码

用WordPress建站的时候,出于安全,一般是不能在文章及页面(别告诉我,你连文章和页面都分不清 )执行PHP代码的。当然,有时候我们可能有需要这样的功能,但不能直接去修改WordPress的PHP文件,这样不仅效率很低,而且不适合经常改动。如果你经常这么做,我只有两个字:佩服!

今天就分享两个插件来解决如何在WordPress文章和页面运行PHP代码这个问题。

PHP Code for posts 插件(后台搜索即可安装)

这个插件可以成功解决在WordPress文章和页面还有侧栏小工具里面运行PHP代码的问题。

注意下用法:

在后台新建你写好一段PHP代码,然后会生成一个短代码标签。只要把这个标签嵌入到你需要的地方就可以实现效果了。

保存代码上面的参数可以自己选择需要运行的地方保存即可。

Exec-PHP 插件(后台搜索即可安装)

安装插件Exec-PHP插件基本就差不多了。可以实现你想要的功能。貌似还有汉化版本的。大家可以自己搜搜看看。

另外一定要注意PHP语法,否则blog可能产生漏洞。你也可以用可选权限控制插件(Role Manager)指定用户在文章及页面中执行PHP代码的权限(小工具中所有人有效)。

注意:使用Role-Manager插件对WordPress博客或者网站进行的任何权限和角色的变更都是永久的,即使删除了这个插件,所做的更改仍然有效。

一定要用HTML方式编写,不能用可视化,也不能中间切换,会导致PHP代码标签错误

如何开发一个WordPress插件

你得先想一个名字,并且努力让它独一无二。在 Plugins 或者其他宝贝地方——Google或者百度先验证一下这个名字到底是不是独一无二的。另外你的名字得让别人明白你的插件是干什么的。

插件文件

下一步是创建一个PHP文件。按照原文奇怪的逻辑,你得先想好名字。这个名字还得是从插件名衍生过来的(其实是为你自己辨认的)。举个例子吧,比如说你的插件名字叫 "Fabulous Functionality",你的PHP名字可能是 fabfunc.php。另外不要用汉语拼音(这也是我加的),还要避免重名。人民群众会把你的插件安装到一个你也知道的叫wp-content/plugins/的地方,如果名字冲突岂不要悲剧了。

你也可以选择把插件分割成几个文件。 显而易见一个php文件是必需的,同时还需要图片、CSS、JavaScript、语言(当然也可以没有)。如果有很多文件,命名一个php和一个文件夹,例如 fabfunc and fabfunc.php。把你所有插件文件放到文件夹里,然后让你的用户相信只要把你的整个压缩包解压到 wp-content/plugins/就能正常使用你的劳动成果。

在本文的其余部分,“插件的PHP文件”是指主要插件的PHP文件,无论是在的wp-content/plugins/或子目录。

主页

最好为插件建立一个主页,以介绍插件的功能、安装方法、使用说明、适用的WordPress版本、插件更新信息等。

文件Headers

现在开始吧,首先让我们从向PHP主文件中加入一些信息

标准插件信息

插件的主文件顶部必须包括一个标准插件信息头。WordPress通过标准信息头识别插件的存在,并把她加入到控制面板的插件管理页面,这样插件才能激活,载入插件,并运行里面的函数;如果没有信息头,插件将无法激活和使用。标准信息插件头的格式为:

?php

/*

Plugin Name: 插件名

Plugin URI: 插件的介绍或更新地址

Description: 插件描述

Version: 插件版本,例如 1.0

Author: 插件作者名称

Author URI: 插件作者的链接

License: A "Slug" license name e.g. GPL2

*/

?

标准信息头至少要包括插件名称,这样WordPress才能识别你的插件。其他信息将显示在控制面板插件管理页面中。标准插件信息对各行顺序没有要求。

这样的升级机制能够正确地读出你的插件版本,建议你选择一个格式的版本号,不同版本之间,并坚持下去。例如,x.x中或x.x.x或xx.xx.xxx

注意:文件必须是 UTF-8 格式!

版权信息

通常我们还要在标准信息头中加入插件的许可证信息。大多数插件使用GPL或GPLCompatibleLicenses许可。如果使用GPL许可,要求插件中包含以下信息:

?php

/* Copyright 年份 作者名 (email : 你的邮箱)

This program is free software; you can redistribute it and/or modify

it under the terms of the GNU General Public License as published by

the Free Software Foundation; either version 2 of the License, or

(at your option) any later version.

This program is distributed in the hope that it will be useful,

but WITHOUT ANY WARRANTY; without even the implied warranty of

MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

GNU General Public License for more details.

You should have received a copy of the GNU General Public License

along with this program; if not, write to the Free Software

Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA

*/

?

开始编写插件

现在是时候让你的插件能干些什么了。这部分内容包括插件开发的一般思路,而且介绍了开发插件需要做哪些工作。

WordPress插件钩子

许多WordPress插件通过连接一个或多个WordPress插件钩子来完成他们的功能。插件钩子的运行机理是,当WordPress运行到不同阶段,WordPress会检查当前阶段是否注册了插件函数,如果是,那么函数将被执行。通过执行插件函数改变了WordPress的默认功能。

例如,在WordPress将日志标题和post发送到浏览器前,会检查是否有插件函数注册了名为“the_title”的“filter”钩子。如果是,标题文本将会传送到注册函数中,注册函数返回值将会传送到浏览器。所以,如果要在日志标题中加入一些信息,可以通过这种方式实现。

另一个例子是名为“wp_footer”的“action”钩子。在WordPress的HTML页脚创建之前,会检查是否有插件注册了名为“wp_footer”的“action”钩子,如果是依次执行她们。

在Plugin API了解更多如何注册“filter”和“action”类型的钩子函数,及WordPress提供了那些插件钩子。如果你发现WordPress没有提供自己想要的钩子,你可以建议WordPress加入这个钩子,很多建议WordPress都会采纳。具体方法参考Reporting Bugs。

模版标签

另一个通过插件加入新功能的方法是建立自定义的模版标签Template Tags。如果有人想用你的插件,可以在他们的主题中添加这些标签,边栏,文章内容段,或者任意的只要是适合这插件的地方。例如,一个给文章添加地理位置的插件可能定义了一个模板标签函数geotag_list_states()放在边栏上,这里列表了所有在文章中关联的州的名称,并且还带有插件提供的到这些州的文档页的链接。

定义一个自定义模板标签,仅需要写一个PHP函数,并且在你插件主页或者插件的主PHP文件中声明一下。声明函数的时候,为这个函数提供一个示例来明确如果想要应用这个函数需要加主题中加些什么文件是个相当棒的主意。

保存插件数据到数据库

大多数WordPress插件需要站点的所有者或者是博客的用户输入信息,然后在对话过程中保存起来,以便过滤器函数(filter)、动作函数(action)或者模板函数(Template)使用。这些信息必须保存在WordPress的数据库中,以便下次使用。这里有两种基本的方法用于保存插件的信息到数据库里面。

使用WordPress的"option"机制(稍后会有介绍)。这种方法适合于保存一些相对小数量的静态命名类数据--这类数据通常只需要网站的所有者在首次建立插件的时候输入,以后很少改动。

文章属性post meta(a.k.a. Custom Fields),适用于那些只和个人文章、页面或者附件有关的数据。

参看post_meta Function Examples, add_post_meta(), 以及与文章相关函数属性post.fuction meta (a.k.a. Custom Fields).

自定义分类法。对于文章分类或者其他对象,比如用户、评论,或者用户可编辑列表中的数据名称/值,可以考虑使用自定义分类法,尤其是当你要访问的所有的文章/对象与给定的分类法项目相关联的时候。查阅 Custom Taxonomies

在数据库中创建一个新的自定义数据表。这种方法适合于与个人文章、页面、附件或者评论相关的数据,这类数据会随着时间越来越多,它们也没有专有名称。参看Creating Tables with Plugins来了解更多这类信息处理方法。

WordPress的选项机制

参看 Creating Options Pages 得到更多如何创建会自动保存你选项数据的页面。

WordPress拥有一个机制来保存,更新和检索WordPress数据库中专用,名称类数据(即"options"机制)。选项值可以是字符,数组或PHP对象(他们会被"序列化",或在存储前转换为字符,并在被检索时解开序列)。选项名称是字符,并且它们必须是独一无二的,这样就不会与其它的WordPress插件相冲突。

它也通常被认为是一个不错的主意,将你的插件使用的选项的数量降到最低。例如,考虑存储序列化数组的10个元素作为一个单一的命名选项,而不是存储10个不同的命名选项。

这里是你的插件应用WordPress option功能的主要函数。

add_option($name, $value, $deprecated, $autoload);

建立一个新的option; 如果这个option已经存在则不做动作.

$name

必须 (string). 要添加的option的名称.

$value

可选(string), 默认是空字符. option值会存在这里.

$deprecated

可选 (string), 不再被WordPress使用了,你可以不填或NULL 如果你希望应用后面的$autoload参数.

$autoload

可选, 默认为 'yes' (enum: 'yes' or 'no'). 如果设置为 'yes' 那么这个option会被get_alloptions 函数自动检索.

get_option($option);

在数据库中检索option值.

$option

Required (string). 你想返回数值的option名称。你可以Option Reference在找到一个随着WordPress一起安装好的默认option表。

update_option($option_name, $newvalue);

更新或创建数据库中的option值(注意 add_option 不是必须被调用,如果你不想作用 $deprecated 或$autoload 参数).

$option_name

必须(string). 要更新的option名.

$newvalue

必须. (string|array|object) option的新值.

管理面板

假定你的插件有一些选项(option)存储于WordPress的数据库中(参看上一节),你可能会想要一个主控面板来允许你的插件用户查看和编辑选项值。实现这一目标的方法阐述于Adding Administration Menus。

插件国际化

在你完成了你的插件的编写工作之后,另一个需要考虑的问题(假设你准备跟大家分享你的插件的话)就是将其国际化。国际化就是将你的软件设置成能够本地化的过程;本地化是将软件中显示的语言翻译成其他语言的过程。Wordpress正在被全球的人们使用,所以全球化和本地化是他内在的特性,这其中就包括了插件的本地化。

请注意,插件的语言文件是不会自动加载。将此插件代码,以确保加载的语言文件:

load_plugin_textdomain('your-unique-name', false, basename( dirname( __FILE__ ) ) . '/languages' );

要简单地取一个字符串使用 __('String name','your-unique-name'); 返回翻译或者_e('String name','your-unique-name'); 输出翻译。翻译,然后进入你插件的 /languages 文件夹。

我们十分希望你能够将你的插件国际化,这样其他国家的用户就可以在自己的本地使用它了。我们有一个关于国际化的综合说明在I18n for WordPress Developers,这其中就包括了一个描述插件国际化的部分。

更新你的插件

本节介绍将插件托管到 之后必要的更新步骤。特别列出wordpress.org关于使用 Subversion(SVN)的一些细节。

假设你已经提交你的插件到WordPress的插件库,随着时间的推移,你可能会发现需要将某些功能添加到插件或修正错误。更新代码,并将变化提交到你的插件主干(trunk),这些变化将是公开可见的,但仅限于在技术上志同道合的人通过SVN检查你的插件。其他用户通过网站或自己的WordPress插件管理下载都不会改变。

当你准备发布一个新版本的插件:

确保一切承诺和新版本的实际工作。注意所有版本的WordPress的插件支持,并尝试与他们进行测试。不要只是测试新功能,也确保你不小心打破一些插件的旧功能。

更改主要的PHP文件头注释中的版本号为新的版本号。

更改readme.txt文件的“Stable tag”字段中的版本号。

在readme.txt文件中添加一个新的小节“changelog“,简要介绍与最后一个版本相比,新版本有什么改变。这将列出的插件页面上的“更新日志”选项卡。

提交这些更改。

创建一个新的SVN标记作为副本主干(trunk),遵循 this guide。

给系统一个运行两三分钟,然后检查你的插件,看看更新是否一切正常,以及WordPress 是否提示插件有更新(更新检查可能有缓存,比如wordpress.org插件页面或后台安装,所以这可能需要一些时间 —— 尝试访问“可用更新”页面)。

故障排除:

wordpress.org插件的页面上仍然列出旧版本。你是否更新了树干文件夹'stable tag' 字段?只创建一个标签和或更新readme.txt文件是不够的!

插件的页面提供了一个zip文件的新版本,但按钮仍然列出旧的版本号,而且WordPress 没有装更新通知。你是否已修改主要的PHP文件中“Version”版本号?

对于其他问题,请参考: The Plugins directory and readme.txt files

插件开发建议

最后这个部分是关于开发插件的一些建议。

WordPress插件的代码应该遵循 WordPress Coding Standards. 另外请同时参考Inline Documentation。

你的插件中所有函数的名称都应该与现存的Wordpress Core函数,其他插件或主题的任何名称不同。基于这个原因,我们建议你在你的插件的所有函数的名称之前加上一个你自己选择的前缀,或者把你的插件的函数都写在一个类里面(当然这个类的名字也必须是唯一的)。

请不要把Wordpress数据库表格前缀(通常是“wp_”)直接写在你的插件里,请使用$wpdb-prefix 。

虽然数据库的读取相对便宜,但它的写入是相当昂贵的。数据库十分擅长获取信息并呈现给用户,而且这些操作(通常)是非常迅速的。然而对数据库进行改动就是一个非常复杂的过程了,而且需要使用更长的计算时间。因此,请尽量减少你对数据库进行写入的次数。在你编写程序的时候就做好所有的准备,这样就可以只在必须的时候再进行写入了。

在数据库里只SELECT你需要的东西。尽管数据库的读取十分便捷,我们依然推荐你值查找真正需要的数据,来尽量减少数据库的负载。例如,如果你只想获得表格的行数,不要使用 SELECT * FROM, 因为这样的话每一行中的所有数据都会被读出,导致内存的浪费。同样的,如果在插件中你只想获得post_id和post_author,请只 SELECT 这两项来减少数据库的负载。记住:在某一个操作的同时可能有其他上百个进程需要使用数据库,而数据库和服务器都必须同时满足所有这些进程的需求。学习怎样尽量减少你的插件对数据库的使用可以避免对这些资源的滥用。

不要让你的PHP出错。在你的wp_config.php文件中添加define('WP_DEBUG',true);,对你的所有函数进行测试来确定是否有任何的错误或者警告。有多少,就修复多少,直到再也不出现为止。

尽量不要直接调用script和style标记 —— 推荐使用 wp_enqueue_style() 和 wp_enqueue_script() 函数。他们帮助消除引用重复的脚本和样式,以及引进依赖的支持。

wordpress源代码用什么写的

WordPress是一种使用PHP语言开发的博客平台,用户可以在支持PHP和MySQL数据库的服务器上架设属于自己的网站。也可以把 WordPress当作一个内容管理系统(CMS)来使用。

WordPress是一款个人博客系统,并逐步演化成一款内容管理系统软件,它是使用PHP语言和MySQL数据库开发的。用户可以在支持 PHP 和 MySQL数据库的服务器上使用自己的博客。

WordPress有许多第三方开发的免费模板,安装方式简单易用。不过要做一个自己的模板,则需要你有一定的专业知识。比如你至少要懂的标准通用标记语言下的一个应用HTML代码、CSS、PHP等相关知识。

关于wordpress代码开发和WordPress代码库 – 专注WordPress的实用资源的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

版权说明:如非注明,本站文章均为 AH站长 原创,转载请注明出处和附带本文链接;

本文地址:http://ahzz.com.cn/post/17720.html


取消回复欢迎 发表评论:

分享到

温馨提示

下载成功了么?或者链接失效了?

联系我们反馈

立即下载