wordpress加入留言隨機大頭貼

簡單來說,就是希望讓留言者的大頭貼圖像多樣化,不要只是一成不變的那幾個預設圖。如果隨機的大頭貼能自行上傳更好,有很多KUSO的圖可以用…請參考以下做法:

1. 開啟佈景主題中functions.php這檔案,並加入下述代碼

function gravatar($rating = false, $size = false, $default = false, $border = false) {
	global $comment;
	$out = "http://www.gravatar.com/avatar.php?gravatar_id=".md5($comment->comment_author_email);
	if($rating && $rating != '')
		$out .= "&rating=".$rating;
	if($size && $size != '')
		$out .="&size=".$size;
	if($default && $default != '')
		$out .= "&default=".urlencode($default);
	if($border && $border != '')
		$out .= "&border=".$border;
	echo $out;
}
function gravatar_default_image($dfrpath) {
// return the default gravatar (or random one)
global $random_gravatars, $gravatar_options;

//Custom #by www.diimii.com
$gravatar_options['gravatar_default'] = $dfrpath;

if ('/' != substr($gravatar_options['gravatar_default'], -1, 1)) {
	// only one (or no) default gravatar
	return $gravatar_options['gravatar_default'];
}

$doc_root = $_SERVER['DOCUMENT_ROOT'];

if (! is_dir($doc_root . $gravatar_options['gravatar_default'])) {
	return FALSE;
}

if (! isset($random_gravatars)) {
	// largely cribbed from photomatt:
	// http://photomatt.net/scripts/randomimage
	$random_gravatars = array();
	$handle = opendir($doc_root . $gravatar_options['gravatar_default']);
	while (false !== ($file = readdir($handle))) {
		 if ('.' != substr($file, 0, 1)) { 
			$random_gravatars[] = $file;
		}
	}
	closedir($handle);
}
mt_srand((double)microtime()*1000000); // seed for PHP < 4.2
$rand = mt_rand(0, (count($random_gravatars) - 1));
return $gravatar_options['gravatar_default'] . $random_gravatars[$rand];
} // gravatar_default_image

2. 開啟佈景主題中comments.php這個檔案,並在想要顯示圖像的地方,加入下述代碼(要修改路徑)

<?php if (function_exists('gravatar')) { ?>
<img src="<?php gravatar('X', '', get_option('home').gravatar_default_image('/wp-content/themes/dilectio/images/rci/')); ?>" />
<?php } ?>

注意:/wp-content/themes/dilectio/images/rci/,是我建立的隨機圖像存取目錄,並將大頭貼都放在裡面。請修改成自己要放置圖像的目錄

3. 上傳圖像至上述修改的目錄,就大功告成(我放了洋蔥頭

附註:改自Gravatar2外掛,取用它部份函式;若有裝此外掛的朋友,均已內建隨機大頭貼功能,請勿使用本做法

您可能也會喜歡…

3 個回應

  1. ANDY表示:

    這是一則測試留言^^

  2. ANDY表示:

    再來一則試測留言T_T

  3. 測試表示:

    我那個外掛壞掉了感覺怪怪的
    還是用你這個好了

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *