|
现在写个博客很不容易,还被抄袭或者转载,于是很多博主在文章底部会加入版权声明和链接。希望有些尊重版权的互联网人能在转载的时候给留个链接和出处。但是如果每篇文章都手动加入的话会很麻烦,而WordPress博客可以很容易的实现自动加入版权声明和链接。
原来Liboseo使用的是直接在文章模版里的文章下面添加代码,我使用的是WordPress官方的twentyten主题修改的,所以编辑主题里的loop-single.php,找到下面这段代码:- <div class="entry-content">
- <?php the_content(); ?>
- <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
- </div><!-- .entry-content -->
- 在
- <?php the_content(); ?>
复制代码 后面直接加入下面的代码:- <pre>转载请注明来自<a >CMS集中营</a>,本文地址:<a href=<?php the_permalink(); ?>' title='<?php the_title(); ?>'><?php the_permalink(); ?></a>
- 除非注明,CMS集中营文章均为原创,转载请注明出处和链接!</pre>
复制代码 但是出了个问题,就是如果安装了一些wumii或者百度分享之类的插件的话,上面添加的内容只能显示在无觅之类的下面,而不是紧紧贴着文章。显然这个不是我们要的效果。
经过各种测试,终于通过主题的自定义函数解决了。
方法很简单,因为之所以我们添加的内容不能紧贴着文章,就是因为这些插件将内容插入到了the_content();函数里,而这个函数是 WordPress程序默认的函数。我们如果直接修改the_content();函数,那么如果升级WordPress程序的话,就会被覆盖。
于是我通过在主题的functions.php文件,在最下面添加了一个自定义的函数liboseo_content();,内容如下:- function liboseo_content($more_link_text = null, $stripteaser = 0) {
- $content = get_the_content($more_link_text, $stripteaser);
- $content.= "<pre>转载请注明来自<a >CMS集中营</a>,";
- $content.= "本文地址:<a href='".get_permalink($post, true)."' title='".get_the_title($post_id)."'>".get_permalink($post, true)."</a>";
- $content.= "\n除非注明,CMS集中营文章均为原创,转载请注明出处和链接!</pre>";
- $content = apply_filters('the_content', $content);
- $content = str_replace(']]>', ']]>', $content);
- echo $content;
复制代码 然后把主题中的文章模版里的the_content();替换成自定义的函数,比如我用的主题模版文件是loop-single.php,就直接将the_content();修改成liboseo_content();,变成了:- <div class="entry-content">
- <?php liboseo_content(); ?>
- <?php wp_link_pages( array( 'before' => '<div class="page-link">' . __( 'Pages:', 'twentyten' ), 'after' => '</div>' ) ); ?>
- </div><!-- .entry-content -->
复制代码 保存一下看看吧,是不是成功了?修改之前一定要备份原来的文件,如果可能的话,最好在本地测试好之后,再在网站上修改。
|
|