虽然我一直赞成开源共享的精神,并且我自己也尽力这样做着,但是这也无法阻止我想要留名的小虚荣……
wordpress没有内置的版权功能,也许有插件可以实现,不过插件我是能不用尽量不用,于是想着自己靠代码完成.
首先分析问题,wordpress文章内容输出的代码是在主题里面的,虽然网上有很多教程教你怎么让文章加版权,但是莫名其妙的是基本都是仅限于特定主题,让你到那个文件改哪段代码,也许这样输出是官方文档的标准推荐的输出方式?所以是通用的??
不过很显然,我对wordpress的改造中发现这类修改法完全不适用,要么我没有该文件,要么有该文件但是文件内容和”教程”不符,如果这是标准推荐,那么我只能说是我运气实在太差,用的模版全是野路子?
没办法只好自己想办法搞定了,以上都是废话,下面才是正文^_^!!
首先把模版文件下载到本地,如果是直接从wordpress下载的应该是zip压缩包,没有的话自己到网站目录把主题打包下载下来,然后利用winrar的搜索功能(其他压缩软件一样可以)查找代码.
比如文章加版权,首先基本逻辑了解一下,找到文章内容输出的代码->在文章输出代码结束后加上自己的代码,即版权信息.
百度google什么的都可以,翻wordpress官方文档也可以,找到了主题中文章输出是用的the_content()函数,于是在主题的压缩文件内直接搜索该字符串,于是可能会发现一到两个文件包含该代码(也许更多),那么接下来就简单了,在每个文件的the_content()后面,加个
echo "版权信息";
就行了.
注意:也许并不是每个文件的the_content()函数都会使用到,因此建议的做法是,搜索到多个文件时,每次只修改一个文件,修改后,看文章内容是不是加入了,没有加入就恢复该文件,修改下一个文件,直到发现哪个文件的the_content()是在起作用的就好了,并不需要每个都改,因为也许有的the_content()是用来输出其他类型的东东,也许并不适合相同的版权信息.
下面附上本站主题修改过程:
首先下载了主题包renegade.2.1.2.zip,发现有三个文件有the_content()函数调用,分别在index.php,page.php,wide.php中,the_content()的后面依次加入版权信息的代码
//... the_content(); echo " <hr /> <table> <tbody> <tr> <td><span style="color: #159519;">名称:"; the_title(); //调用当前文章标题 echo "地址:"; the_permalink(); //调用当前文章url echo " 本文发表于<a title="下弦古月" href="http://devsk.com">下弦古月</a>的博客,转载请注明,谢谢</span></td> </tr> </tbody> </table> "; //...
最后发现实际只有index.php加入的代码起了作用,于是本次修改就算完成了,其他两个文件应该都是页面模版,大概是创建新页面时的模版,如果需要显示版权也一样可以加入.
其实个人觉得这篇文章讲的加版权本身意义不大,更重要的是讲了一个如何修改的方法,不仅仅用在wordpress,其他的地方一样可以用,我要修改一个东西,并不需要把他完全弄懂,只要知道自己要干什么,然后定位该功能的位置,仅仅修改局部就行了.当然了局部的做法就有局限性,比如当我加入了版权信息后,想修改样式,结果发现不起作用,原因是主题自带的css已经指定了样式,因此要修改样式也比较麻烦,所以能去完全搞懂自然更好了!!