wordpress过滤器
❶ 如何创建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/或子目录。
Readme文件
如果你想将你的插件发布到http://wordpress.org/extend/plugins/, 你必须在插件包中建立一个标准格式readme.txt文件. 文件格式参见http://wordpress.org/extend/plugins/about/readme.txt.
主页
最好为插件建立一个主页,以介绍插件的功能、安装方法、使用说明、适用的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 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网站的文章和页面
如果不想通过代码实现隐藏可选文章和页面的标题,可以安装并激活
WordPress
Hide
Title
plugin插件
,在相应页面或文章的编辑窗口中,点击WordPress管理下的文章和页面菜单下需要编辑的项目即可。在编辑窗口下,有一个隐藏标题的自定义区块:
你要做的就是选中这个复选框并单击更新或发布按钮,插件将隐藏单次PV上的标题。这意味着,主页或其他分类页面上仍然会显示,只是单次PV上不再显示了。
如果你希望创建一个简单的、不显示文章标题的登录页面,这种方法确实非常方便。
隐藏所有的WordPress文章和页面标题
如果你想隐藏单一页面上所有的文章和页面标题,可以通过修改主题来实现。
最简单的方法就是在WordPress的
functions.php
文件中加一段下面的代码:
这个过滤器只是在显示单一文章或页面时的
post_class()function
中增加了一个类
.hidetitle
。但是,这个过滤器只有在WordPress主题支持post
class的情况下有效。如果你希望只对文章有效,就删除代码中的
||
is_page()。
添加这个function之后,还需要在主题样式表中添加这个CSS规则。
在上面的CSS中,我们使用了显示CSS属性来隐藏文章和页面标题。但是,这个CSS规则仅适用于WordPress主题使用的文章和页面标题是条目标题(
entry-title
)。在谷歌Chrome浏览器中打开文章,将鼠标移到文章标题上,右键单击并选择审查元素,你会看到页面的源代码中文章标题的代码,其中就有你WordPress主题所使用的CSS类。
如果主题使用
article-title
作为文章标题的CSS类,只需要如下简单更改CSS:
以上方法适用于大部分WordPress主题。但是这些方法只是隐藏标题并不能阻止加载这些标题。如果你想移除WordPress主题模板上的文章和页面标题,就需要删除主题文件中的the_title代码了。
如果你只是希望在单一PV上实现,那只需要在single.php文件中修改。
❸ 如何隐藏WordPress 文章和页面标题
如果不想通过代码实现隐藏可选文章和页面的标题,可以安装并激活 WordPress Hide Title plugin插件 ,在相应页面或文章的编辑窗口中,点击WordPress管理下的文章和页面菜单下需要编辑的项目即可。在编辑窗口下,有一个隐藏标题的自定义区块: 你要做的就是选中这个复选框并单击更新或发布按钮,插件将隐藏单次PV上的标题。这意味着,主页或其他分类页面上仍然会显示,只是单次PV上不再显示了。 如果你希望创建一个简单的、不显示文章标题的登录页面,这种方法确实非常方便。 隐藏所有的WordPress文章和页面标题 如果你想隐藏单一页面上所有的文章和页面标题,可以通过修改主题来实现。 最简单的方法就是在WordPress的 functions.php 文件中加一段下面的代码: 这个过滤器只是在显示单一文章或页面时的 post_class()function 中增加了一个类 .hidetitle 。但是,这个过滤器只有在WordPress主题支持post class的情况下有效。如果你希望只对文章有效,就删除代码中的 || is_page()。 添加这个function之后,还需要在主题样式表中添加这个CSS规则。 在上面的CSS中,我们使用了显示CSS属性来隐藏文章和页面标题。但是,这个CSS规则仅适用于WordPress主题使用的文章和页面标题是条目标题( entry-title )。在谷歌Chrome浏览器中打开文章,将鼠标移到文章标题上,右键单击并选择审查元素,你会看到页面的源代码中文章标题的代码,其中就有你WordPress主题所使用的CSS类。 如果主题使用 article-title 作为文章标题的CSS类,只需要如下简单更改CSS: 以上方法适用于大部分WordPress主题。但是这些方法只是隐藏标题并不能阻止加载这些标题。如果你想移除WordPress主题模板上的文章和页面标题,就需要删除主题文件中的the_title代码了。 如果你只是希望在单一PV上实现,那只需要在single.php文件中修改。
❹ WordPress中文汉字用户名不能注册怎么办 有没拌饭用过滤器
用户名只能用英文的,但是不影响啊,注册之后可以改昵称的,然后设置公开显示为昵称
❺ mmy data上传到wordpress哪个目录
TAG:WordPress
Dropbox 在国内已被墙,第一次注册和安装Dropbox客户端时需要翻(—敏感词过滤分割线—)墙,下载客户端之后不使用代理也可以正常接收同步备份文件
使用wordpress备份插件不仅可以备份wordpress数据库,还可以备份图片、主题模板等文件。同时wordpress备份插件可以定时将数据作为附件自动备份到自己的email邮箱,或者进入后台直接手工下载到本地电脑。但是如何自动将wordpress数据库文件自定备份到本地电脑呢?毕竟下载到本地电脑会让人比较放心。直接使用可以发送wp博客数据库备份到你的Dropbox帐户的Wordpress插件,或者wp插件再结合使用Dropbox即可实现这种功能,最后通过Dropbox自动同步备份文件到你的本地电脑。
WordPress备份插件
首先介绍几款相关的Wordpress备份插件:
wp-db-backup 备份插件:wp-db-backup备份插件是wordpress官方网站上最热门的数据库备份插件,使用起来也非常简单,下载安装该插件并启用后跳转到Dashboard-》Tool-》Backup设置数据库表的备份选项即可,可选:
1、备份文件到服务器
2、下载到本地电脑
3、Email备份到邮箱
还可以选择自动定时备份到你指定的email邮箱,设置每小时、每天、每两天、每周定时备份博客数据库均可。wp-db-backup会在wp-content目录下新建一个以backup开头的随机名称作为备份文件保存的目录,随机数字名称在一定程度上使备份文件更加安全。
另外一个类似的wordpress博客备份插件是wp-dbmanager,wp-dbmanager备份插件也是一个相当热门的wordpress插件,不仅可以自动定时备份,还可以直接在wordpress后台导入数据库备份文件、数据库修复、优化、恢复、删除、清空等数据库操作。
不过上面两个wordpress备份插件定时备份只能发送数据库备份文件到email邮箱,不能直接发送到你的dropbox账户。所以这里再介绍一个插件wp-time-machine,wp-time-machine备份插件其实也是一个非常不错的插件,安装并启用该插件后,不仅可以备份数据库文件、还可以备份uploads目录上传的图片等所有wp-content中的文件(如wordpress主题)、.htaccess文件、数据库恢复说明。最关键的是它可以将这些备份文件发送到你的远程账户,包括Dropbox、Amazon’s AWS S3、远程FTP服务器。但是wp-time-machine有一个致命的缺点是,只要你的wordpress博客启用了这个插件,任何访客访问这个地址:
http://yourdomain.com/path/to/wordpress/wp-content/plugins/wp-time-machine/cron.php?generate=1
都会在wp-content目录下生成那些备份文件,而且默认的备份文件名称都是一样的,比如wpTimeMachine-data-files.sql,因此任何人都可以通过浏览器在这个地址http://domain.com/path/to/wordpress/wp-content/wpTimeMachine-data-files.sql下载到你的数据库备份文件。wp-time-machine备份插件作者提示将上面生成网址中的generate=1改为clear=1,使用curl url自动定时执行备份计划任务时,就不会在wp-content目录下生成备份文件。许多介绍该插件使用方法的中文文章也只提示在wordpress后台点击了该插件的备份操作之后,要记得删除这些备份文件,但是却都没有提示这个地址会被任何人访问到。因此为了你的wordpress博客安全,强烈建议不要使用该插件,也许哪一天插件作者更新了这个安全漏洞之后,可以考虑启用这个插件。
如何将wordpress备份文件发送到dropbox
既然wp-time-machine不能用,那么如何将wordpress博客备份文件发送到dropbox呢?当然还是有办法的,比如利用wp-db-backup备份插件,我们只要将插件自动定时发送到邮箱的email附件上传到dropbox 帐户就可以了。Send to Dropbox 程序就是一款这样的非常好的dropbox app应用程序。
登陆Dropbox帐户后访问http://sendtodropbox.com/connect,允许send to dropbox访问dropbox帐户,通过后在dropbox帐户my app中会多出一个send to dropbox。同时sendtodropbox.com会给你提供一个***@sendtodropbox.com的email邮箱地址。这个app通过这个唯一的email ID 发送附件。
The app ‘Send To Dropbox’ would like to connect with your Dropbox.
• Please make sure you trust this app before proceeding.
• You can always remove this app by visiting the Apps page.
• You‘re currently logged in as ****@gmail.com. If you meant to connect 。
TAG:WordPress
如果自动接收wordpress数据库备份文件的是Gmail邮箱,在Gmail邮箱中就可以在过滤器中将所有带有附件的邮件转发到以上这个地址。Gmail自动转发需要验证因此还要进行一些操作dropbox才能顺利收到作为email附件的备份插件。下面是几个操作步骤:
1. 创建Gmail过滤器:进入接收数据库备份文件的Google gmail邮箱,创建一个接收邮件过滤器filter:点击右上方的settings-》-filters》create filters-》输入过滤条件:
2.添加转发地址:
3.验证转发地址,将最开始sendtodropbox.com给的email地址加入验证。
4.点击下一步,一般几分钟之内,你的Dropbox帐户就会收到一个包含gmail发送的转发email地址验证码的txt文件了。需要注意的是在点击下一步,
必须在send to dropbox设置中勾选include html 或include text 选项,否则是收不到验证码txt文档的。
另外一个需要注意的是在gmail常规设置镇南关,需要Gmail界面语言改为English,否则收到的只是乱码字符的txt文件(以上中文界面图片只作参考)。
5. 在Gmail中输入txt文档中的验证码。
6. 在过滤器中添加转发email地址。
7. 点击“create filter”。
WordPress 后台设置转发到Dropbox
上面的步骤需要通过Gmail作为中介,更简单的方法是在wordpress管理后台,直接设置wp-db-backup备份插件选项。将定时备份邮箱设置为sendtodropbox给的唯一邮箱地址。
现在所有定时执行生成的wordpress备份文件都会自动发送到你的Dropbox账户中了,通过Dropbox自动同步到本地电脑,就啥事都不用做了。Wordpress备份插件(wp-db-backup)+Dropbox+SendtoDropbox(+Gmail)就是绝对的懒人超级组合了。
❻ wordpress博客关于<php wp_head(); >问题求助
去除wordpress头部不必要的元素标
完整的wordpress头部清理代码
<?php
//remove_action(‘wp_head’,‘wp_enqueue_scripts’,1);
remove_action(‘wp_head’,‘feed_links’,2);
remove_action(‘wp_head’,‘feed_links_extra’,3);
remove_action(‘wp_head’,‘rsd_link’);
remove_action(‘wp_head’,‘wlwmanifest_link’);
remove_action(‘wp_head’,‘index_rel_link’);
remove_action(‘wp_head’,‘parent_post_rel_link’,10,0);
remove_action(‘wp_head’,‘start_post_rel_link’,10,0);
remove_action(‘wp_head’,‘adjacent_posts_rel_link_wp_head’,10,0);
//remove_action(‘wp_head’,‘locale_stylesheet’);
remove_action(‘publish_future_post’,‘check_and_publish_future_post’,10,1);
//remove_action(‘wp_head’,‘noindex’,1);
//remove_action(‘wp_head’,‘wp_print_styles’,8);
//remove_action(‘wp_head’,‘wp_print_head_scripts’,9);
remove_action(‘wp_head’,‘wp_generator’);
//remove_action(‘wp_head’,‘rel_canonical’);
remove_action(‘wp_footer’,‘wp_print_footer_scripts’);
remove_action(‘wp_head’,‘wp_shortlink_wp_head’,10,0);
remove_action(‘template_redirect’,‘wp_shortlink_header’,11,0);
add_action(‘widgets_init’,‘my_remove_recent_comments_style’);
functionmy_remove_recent_comments_style(){
global$wp_widget_factory;
remove_action(‘wp_head’,array($wp_widget_factory->widgets['WP_Widget_Recent_Comments'],‘recent_comments_style’));
}
?>
把这段代码插入到主题的functions.php文件下,就可以清除WordPress头部很多的冗余信息。下面说说这些代码的具体意义是什么,以免删除某些你想保留的功能。
wp_head()函数
wp_head()是wordpress的一个非常重要的函数,基本上所有的主题在header.php这个文件里都会使用到这个函数,而且很多插
件为了在header上加点东西也会用到wp_head(),比如SEO的相关插件。不过在wp_head()出现的这个位置,会增加很多并不常用的代
码,如何删除呢?可以通过remove_action移除这些代码。
remove_action函数
函数原型:remove_action( $tag, $function_to_add, $priority, $accepted_args );
该函数移除一个附属于指定动作hook的函数。该方法可用来移除附属于特定动作hook的默认函数,并可能用其它函数取而代之。
重要:添加hook时的$function_to_remove 和$priority参数要能够相匹配,这样才可以移除hook。该原则也适用于过滤器和动作。移除失败时不进行警告提示。 文章来自http://www.life134.com
参数 文章来自http://www.life134.com
1.$tag(字符串)(必需)将要被删除的函数所连接到的动作hook。默认值:None
2.$function_to_remove(回调)(必需) 将要被删除函数的名称默认值:None
3.$priority(整数)(可选)函数优先级(在函数最初连接时定义)默认值:10
4.$accepted_args(整数)(必需)函数所接受参数的数量。默认值:1
返回值
(布尔值)函数是否被移除。
1.Ttue 函数被成功移除
2.False函数未被移除
❼ 如何使用WordPress Shortlink缩短网址
WordPress the_shortlink是3.0之后引入的新功能,提供URL shortening缩短网址服务,虽然功能比较简单,在使用社交网络或某些回缩短网址服务时可答能会有用,似乎早期版本也有缩短网址插件可供使用,现在WordPress 3.0上可以直接使用默认的缩短网址,其效果也不比某些缩短网址站提供的地址差,只不过一个是真实shortlink一个虚拟映射shortlink而已。
在编辑文章时会出现Get Shortlink按钮,可以查看到当前文章的短链接。WordPress默认在新添加模式下没有出现,只在编辑模式下才会出现,因为发布之前该记录还没有正式保存进数据库(不算自动保存auto-draft),没有确定的ID编号,这个编号正是shortlink中的默认参数。
以上Shortlink无法直接手动修改掉,我看源代码,似乎只有通过过滤函数(或插件)进行处理,具体参见wp-includes\link-template中的wp_get_shortlink函数说明(pre_get_shortlink),如果没有过滤器,默认就是拼接成?p=id形式。
❽ wordpress怎么隐藏网站标题和副标题啊
如果不想通过代码实现隐藏可选文章和页面的标题,可以安装并激活
WordPress Hide Title plugin插件
,在相应页面或文章的编辑窗口中,点击WordPress管理下的文章和页面菜单下需要编辑的项目即可。在编辑窗口下,有一个隐藏标题的自定义区块:
你要做的就是选中这个复选框并单击更新或发布按钮,插件将隐藏单次PV上的标题。这意味着,主页或其他分类页面上仍然会显示,只是单次PV上不再显示了。
如果你希望创建一个简单的、不显示文章标题的登录页面,这种方法确实非常方便。
隐藏所有的WordPress文章和页面标题
如果你想隐藏单一页面上所有的文章和页面标题,可以通过修改主题来实现。
最简单的方法就是在WordPress的
functions.php
文件中加一段下面的代码:
这个过滤器只是在显示单一文章或页面时的
post_class()function
中增加了一个类
.hidetitle
。但是,这个过滤器只有在WordPress主题支持post class的情况下有效。如果你希望只对文章有效,就删除代码中的
|| is_page()。
添加这个function之后,还需要在主题样式表中添加这个CSS规则。
在上面的CSS中,我们使用了显示CSS属性来隐藏文章和页面标题。但是,这个CSS规则仅适用于WordPress主题使用的文章和页面标题是条目标题(
entry-title
)。在谷歌Chrome浏览器中打开文章,将鼠标移到文章标题上,右键单击并选择审查元素,你会看到页面的源代码中文章标题的代码,其中就有你WordPress主题所使用的CSS类。
如果主题使用
article-title
作为文章标题的CSS类,只需要如下简单更改CSS:
以上方法适用于大部分WordPress主题。但是这些方法只是隐藏标题并不能阻止加载这些标题。如果你想移除WordPress主题模板上的文章和页面标题,就需要删除主题文件中的the_title代码了。
如果你只是希望在单一PV上实现,那只需要在single.php文件中修改。