使用自定義字段來顯示日志縮略圖

下面是實現使用自定義字段來顯示日志縮略圖的詳細步驟:

1. 首先你應該能夠上傳圖片到你的服務器,你可以通過 FTP 工具或者在 WordPress 后臺通過其他任何 WordPress 插件上傳圖片。
2. 在撰寫新日志的頁面,向下滾動到一個叫做自定義字段(Custom Fields)的地方,點擊按鈕展開它。
3. 在 Key 字段輸入 “image_thumb”,然后在 “Value” 字段輸入你剛才上傳的圖片的 URL。
4. 然后繼續你寫日志的常規動作,增加標題,輸入內容,選擇分類,最后發布。
5. 現在打開你當前主題的 index.php 文件,搜索到下面這行:

1
<?php the_content('Read the rest of this entry &raquo;'); ?>

6. 這上面這行之前添加以下代碼:

1
<a href="<?php the_permalink() ?>" title="<?php the_title(); ?>"><img src="<?php $values = get_post_custom_values("image_thumb"); echo $values[0]; ?>" alt="<?php the_title(); ?>" /></a>

原文:使用自定義字段來顯示日志縮略圖

一個 WordPress 安裝,多個博客

這幾天正好想裝WPMU,看到了水煮魚的這篇文章,看來省了裝WPMU了。

你是否有多個博客,每個博客都是使用多個 WordPress 博客?那么你是否厭煩了重復多次的升級,重復多次的安裝插件?如果是的,你是否嘗試過一個 WordPress 安裝,就能給多個博客使用呢?下面我就能講講我如何實現一個 WordPress 安裝實現多個博客共同使用。

第一步,肯定是把所有的域名都指定到相同的 WordPress 安裝目錄下。這樣才能使得所有博客使用同一個 WordPress 安裝。

第二步要分兩種情況:

第一種是使用不同的數據庫。只需要在 wp-config.php 文件的開頭加入以下代碼:

1
2
3
4
5
6
7
8
9
10
11
12
13
$hostname = $_SERVER['HTTP_HOST'];
 
switch ($hostname) {
case "fairyfish.com":
    $db = "db1";
    break;
case "denis.fairyfish.com":
    $db = "db2";
    break;
}
 
// ** MySQL settings ** //
define('DB_NAME', $db);    // The name of the database

代碼很簡單就是根據不同的域名,給DB_NAM不同的數據庫名的值。這里是假定你使用相同的數據庫用戶名,如果你的數據庫用戶名,也可以在每個 case 語句中指定。

第二種情況是使用相同的數據庫,這個時候我們可以使用不同 table_prefix 來搞定。方法基本和上面相同。我也不再重復代碼。對于這種情況,已經有一款插件他能幫助你完成所有的了工作,WP-Hive,這款插件除了能夠給你不同的博客指定一個不同的table_prefix之外,還能夠通過 rewriter 實現每個博客都能有自己的 favicon,sitemap.xml 和 robots.txt。

最后讓所有的博客使用相同的用戶。這個功能只能適合 WordPress 2.6 之后的版本。實現方法是在wp-config.php文件中指定 CUSTOM_USER_TABLECUSTOM_USER_META_TABLE 這兩個值為常量,使得所有的博客都是用同一個 USERUSERMETA 表,從而達到所有博客擁有相同的用戶。

原文鏈接:一個 WordPress 安裝,多個博客

區分開 Comments 和 Trackbacks

實現這個功能主要的工作就是編輯你主題的 comments.php,當你找到你的 comments.php 的時候,現在我們開始修改代碼:首先找到一下代碼:

1
<?php foreach ($comments as $comment) : ?>

直接在它的下面增加以下代碼:

1
2
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type == 'comment') { ?>

以上代碼其實是告訴 WordPress 去獲取留言的類別,如果留言的類別是 ‘comment’,就是是人留的言,顯示它。

接著,我們需要插入更多的代碼,在 comments.php 一直往下找,直到你看到:

1
<?php endforeach; /* end for each comment */ ?>

就在 endforeach 代碼之前添加如下代碼:

1
<?php } else { $trackback = true; } ?>

最后你需要插入代碼去顯示 trackbacks。

1
2
3
4
5
6
7
8
9
10
11
<?php if ($trackback == true) { ?>
<h3>Trackbacks</h3>
<ul id="trackbacks">
<?php foreach ($comments as $comment) : ?>
<?php $comment_type = get_comment_type(); ?>
<?php if($comment_type != 'comment') { ?>
<li><?php comment_author_link() ?></li>
<?php } ?>
<?php endforeach; ?>
</ul>
<?php } ?>

這些代碼是告訴 WordPress 顯示留言類別不是 ‘comment’ 的留言,包括 pingbacks 和 trackbacks。你現在在你的日志頁面看到效果了(如果你使用了緩存插件,你需要刷新下你的緩存)。

原文:區分開 Comments 和 Trackbacks

讓發布評論可以使用ctrl+enter快捷鍵

提供這個方法的原創作者是JAY
找到你當前使用的主題,編輯Comments.php,搜索如下代碼:

1
2
3
...
</form>
...

找到以后在這個前面加上

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<script type="text/javascript">        
        document.getElementById("comment").onkeydown = function (moz_ev)
        {
                var ev = null;
                if (window.event){
                        ev = window.event;
                }else{
                        ev = moz_ev;
                }
                if (ev != null && ev.ctrlKey && ev.keyCode == 13)
                {
                        document.getElementById("submit").click();
                }
        }
</script>

收藏自:http://www.yofox.net/2008/09/postcomment-ctrl-enter/

不用插件,簡單實現留言倒序

因為大多主題的留言薄都是將最新留言放在最下面,所以很不習慣,通過小修小改即可把留言順序按照最新留言放在上面了——即實現倒序。

修改 comments.php 里面的評論順序

1
2
3
4
//也很簡單,只需要在文件中替換一處代碼:
<?php foreach ($comments as $comment) : ?>
//替換成:
<?php foreach (array_reverse($comments) as $comment) : ?> 

如果有評論編號,做如下要改

通過上面的修改你的留言順序應該倒過來了,如果有序號的話,還須把序號倒過來才算完美。不過有不少的模板主題的編號代碼都不一樣,有$iCommentCount或$iCommentnumber,我們僅用$iCommentCount做例子:

1
2
3
4
5
6
7
$iCommentCount = 0;
//...
<?php $iCommentCount++; echo($iCommentCount); ?>
//需要改成初始值為評論總數,輸出一次自減一次,循環:
$iCommentCount = get_comments_number();
//...
<?php echo($iCommentCount); $iCommentCount--; ?>

收藏自:http://seosem.ws/wordpress/no-plugin-guestbook-sort/

顯示同個父頁面的其他子頁面的鏈接

假設以下情況,有一個父頁面,然后它有一些子頁面。當你打開父頁面的時候,你想在 sidebar 顯示它的子頁面的鏈接。 當你打開子頁面鏈接的時候,你還是想要顯示同樣一組鏈接。但問題是,你現在想顯示的是相同父頁面的其他子頁面。你不能通過一個簡單函數就能解決這個問題。 下面是詳細解決方法:

1
2
3
4
5
6
7
8
9
10
<?php
if($post->post_parent)
    $children = wp_list_pages("title_li=&child_of=".$post->post_parent."&echo=0");
else
    $children = wp_list_pages("title_li=&child_of=".$post->ID."&echo=0");
if ($children) {
    echo '<ul>';
        echo $children;
    echo '</ul>';
} ?>

收藏自:我愛水煮魚版 作者:雪山飛豬

WordPress的安全性設置和地址設置

加入SECRET_KEY
在config.php 文件里加上以下代碼:

1
define('SECRET_KEY', '申請的KEY');

SECRET_KEY通過 http://api.wordpress.org/secret-key/1.0/生成。

變更 wp-content文件夾位置的相關
在config.php 文件里加上以下代碼:

1
define('WP_CONTENT_DIR', 'http://an-liu.cn/assets/wp-content');

阻止別人瀏覽WordPress其他文件夾
在你的 .htaccess 文件里加上以下代碼

1
Options All -Indexes

WordPress地址設置
在config.php 文件里加上以下代碼 :

1
2
define('WP_HOME','wordpress安裝地址');
define('WP_SITEURL','博客地址');

如果你想禁用Wordpress2.6的“日志修訂”功能,可以參考我愛水煮魚的方法,在wp-config.php中加入如下代碼。

1
define('WP_POST_REVISIONS', false);

* true(默認)或者 -1:保存所有修訂版本
* false 或者 0:不保存任何版本(除了自動保存的版本)
* 大于 0 的整數 n:保存 n 個修訂版本(+1 只保存自動保存版本),舊的版本將被刪除。

禁用Wordpress的自動保存可以用Disable autosave這個插件。

收藏自:WP中文Burwood

讓WordPress支持鏡像功能

找到wp-config.php,在中間空白處添加以下代碼

1
2
$home = 'http://'.$_SERVER['HTTP_HOST']; //博客首頁
$wpurl = 'http://'.$_SERVER['HTTP_HOST'].'/blog'; //WP程序的路徑

注意這里的”‘/blog'”是要根據實際情況進行修改。比如,WP程序放在public_html/下,那么這里應該是’/’就可以;如果放在某個目錄下,則改位目錄名。

1
2
define('WP_HOME', $home);
define('WP_SITEURL', $wpurl);

收藏自:http://www.imzozo.com/archives/44