原來 Liboseo 使用的是直接在文章模版裡的文章下面新增程式碼,我使用的是 WordPress 官方的 twentyten 主題修改的,所以編輯主題裡的loop-single.php,找到下面這段程式碼:
<div >
<?php the_content(); ?>
<?php wp_link_pages( array( 'before' => '<div
>' . __( '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.= "
除非註明,CMS 集中營文章均為原創,轉載請註明出處和連結!</pre>";
$content = apply_filters('the_content', $content);
$content = str_replace(']]>', ']]>', $content);
echo $content;
然後把主題中的文章模版裡的 the_content(); 替換成自定義的函式,比如我用的主題模版檔案是 loop-single.php,就直接將 the_content(); 修改成 liboseo_content();,變成了:
<div >
<?php liboseo_content(); ?>
<?php wp_link_pages( array( 'before' => '<div
>' . __( 'Pages:', 'twentyten' ), 'after' =>
'</div>' ) ); ?>
</div><!-- .entry-content -->
儲存一下看看吧,是不是成功了?修改之前一定要備份原來的檔案,如果可能的話,最好在本地測試好之後,再在網站上修改。