2017-09-21

猎数博客

数据挖掘,机器学习

WordPress版权声明插件

作者:江航 / 2011-05-21 / (阅读 3,200 次) /



看了别人写的插件,今天写了一个最简单的插件。该插件的功能就是在每篇文章后面加一个版权声明,我觉得这是所有插件中最简单的一种了,除去模板之类的文字,关键的地方就一句话。

先说说我对Wordpress插件的看法,有很多人主张自己去改wordpress的源码而不是去装插件,而我的态度相反,如果你直接去改源码的话,wordpress原来的代码就被你破坏了,如果要再升级,或者说要修改一个比较早自己添加的功能,你就会碰到一些麻烦。原因是代码是和wordpress代码揉合在一起的。一段时间不看,说不定你就不知道你改了那些东西,很容易出错。而插件不一样,他是相对独立的,你可以安装,可以卸载,控制非常方便,而不必要每次都要去修改代码。

还有些人担心装多了插件会导致速度变慢呀什么的,我也有这个担心,但是如果你对你安装的插件非常了解的话,这也不是个问题。因此安装插件前,先看看插件的代码也还是很有帮助的。:)

下面是我开发一个简单插件的过程:

在wp-content/plugin下面新建一个php文件,该文件有这样的头:

<?php        

/*       

Plugin Name: Bagualu_Copyright       

Version:     0.1         

Plugin URI:  http://www.bagualu.net      

Description:  adding link for each single post at.       

Author:      Jianghang       

Author URI:  http://www.bagualu.net      

*/       

?>

其中第一行是一定需要的,只有声明了第一行,你在插件管理的面板里面才能看到这个插件。其他的信息属说明性文字,如果只是自己用的话,可以加也可以不加,没太大关系。

接下来在这个php中添加一个filter:


function Bagualu_Copyright($outer){

if(!is_singular()){ return $outer; }

global $post;

$outer .= "<p align='center'>本文地址: <a href='" . get_permalink($post->ID) . "'>" . get_permalink($post->ID) . "</a> 转载请注      

明</p>" ;         

return $outer;       

}        

add_filter('the_content', 'Bagualu_Copyright');

其中函数Bagualu_Copyright被添加到filter the_content中,意思是每次显示文章内容之前调用。函数的参数是文章的内容。第一句话,当当前页面不是单篇文章时直接返回,不做修改,否则就在后面加上本文的链接地址和转载声明。

回想我们WordPress 源码解读之 add_filter中提到的add_filter这个函数,还有两个参数,即优先级和参数个数,如果有其他的插件还要在版权声明前加一些内容的话,可以通过优先级参数来控制添加的顺序。优先级的数字越大,则越晚被执行。比如我就在the_content中启用了两个插件。我想把版权声明放在那个插件之前,我就把另外一个插件的优先级改为11了。下面是一个例子


add_filter('the_content', 'func1',10);       

add_filter('the_content', 'Bagualu_Copyright',11);       

add_filter('the_content', 'func2', 12);

这样表示the_content被三个函数先后处理,处理的顺序是func1,Bagualu_Copyright,func2. 原因就是他们声明的优先级不同,如果都不指定优先级,那他们之间的调用顺序就是未知的(或者可能是按照字典序调用,这需要再去看代码)。

下载这个插件:下载

安装方法:将copyright.zip 解压并把copyright.php考到wp-content/plugin目录下。用admin登录到控制面板,找到“Copyright Decl”插件,启用就可以了。

卸载:在控制面板中停用这个插件就行,干净利落。



Wordpress一览无余,源码面前没有秘密,wordpress的函数调用库,展示wordpress页面打开过程中十几万个函数调用,学习WP开发的绝佳资源。点击这里进入

本文地址: http://www.bagualu.net/wordpress/archives/523 转载请注明






相关文章

  • 再说Wordpress中添加小挂件widget( 5,870 )
  • Wordpress中添加自定义参数( 3,413 )
  • WordPress代码之apply_filters( 3,274 )
  • 微博分享按钮( 3,227 )
  • WordPress版权声明插件( 3,200 )
  • wordpress函数调用库( 2,634 )
  • 通过wpdb访问WordPress数据库( 2,444 )
  • 通过wordpress debug插件,显示filter调用过程( 2,405 )
  • 用Wordpress做相册( 2,398 )
  • WordPress 代码之 add_filter( 2,338 )
  • Leave a Reply

    您必须登录以发表评论,

    沪ICP备11036560号
    联系我: jianghang at bagualu.net