倡萌最近一直在考慮 WordPress大學(xué) 的設(shè)計(jì)問(wèn)題,尤其是如何做好注冊(cè)用戶體驗(yàn)。考慮添加一個(gè)文章收藏的功能,讓大家收藏自己喜歡的文章,然后在一個(gè)頁(yè)面生成列表,并且在側(cè)邊欄顯示最近收藏的文章,這樣一來(lái),大家以后就可以很方便找到自己需要的文章。于是找到了 WP Favorite Posts 這個(gè)WordPress文章收藏插件,試了一下,感覺(jué)不錯(cuò)。
WP Favorite Posts 簡(jiǎn)介
WP Favorite Posts 是一個(gè)不錯(cuò)的WordPress文章收藏插件,可以在文章頁(yè)面中添加收藏按鈕,用戶可以點(diǎn)擊收藏自己的文章,并且可以在專門的頁(yè)面中顯示自己收藏的文章,還支持“最近收藏的文章(每個(gè)人看到自己的)”“全站收藏次數(shù)最多的文章”這兩個(gè)小工具。
最值得一提的 WP Favorite Posts 通過(guò)瀏覽器cookie和數(shù)據(jù)庫(kù)兩種方式存儲(chǔ)用戶收藏?cái)?shù)據(jù),也就是說(shuō),游客也可以收藏文章,當(dāng)然了,游客的收藏?cái)?shù)據(jù)是通過(guò)cookie保存的,如果刪除了瀏覽器的cookie,就丟掉了收藏?cái)?shù)據(jù)了,所以建議注冊(cè)用戶后收藏,就可以保存在數(shù)據(jù)庫(kù)中,不會(huì)丟失了。
WP Favorite Posts 安裝設(shè)置
1.在后臺(tái)插件安裝頁(yè)面 搜索 WP Favorite Posts 在線安裝,或者 下載WP Favorite Posts 。
2.啟用以后,在 設(shè)置 – Favorite Posts ,可以進(jìn)行相關(guān)設(shè)置(看不懂英文的,就使用翻譯工具翻譯吧)

可以設(shè)置各種提示語(yǔ)

設(shè)置好以后,就可以使用該插件了。
WP Favorite Posts 使用方法
1.“收藏鏈接“的顯示方式
你可以在第一個(gè)圖中的界面,選擇自動(dòng)插入文章頭部或尾部,或者通過(guò)在 single.php 或 page.php 的主題文件中使用下面的代碼自定義位置:
<?php if (function_exists('wpfp_link')) { wpfp_link(); } ?>
如果你只希望在某些文章中才顯示收藏鏈接,那你可以在編輯文章的時(shí)候,添加下面的簡(jiǎn)碼到文章中即可:
[wpfp-link]
2.小工具調(diào)用。你可以在 外觀 – 小工具 看到可用的兩個(gè)小工具,自己設(shè)置一下即可。
3.添加收藏列表頁(yè)面。這個(gè)頁(yè)面就是用來(lái)顯示用戶所有搜藏的文章的頁(yè)面,你可以在 頁(yè)面 – 新建頁(yè)面,然后在內(nèi)容中添加下面的調(diào)用代碼,就可以顯示用戶的收藏列表(每個(gè)用戶只能看到自己的收藏列表)
[wp-favorite-posts]

WP Favorite Posts 高級(jí)技巧(備用)
下面的是一些高級(jí)功能,倡萌在論壇看到的,還未測(cè)試,記錄一下,方便以后使用。
1.調(diào)用文章的收藏次數(shù)
最簡(jiǎn)單的方法在循環(huán)中使用下面的代碼即可直接調(diào)用:
<?php echo wpfp_get_post_meta(get_the_ID()); ?>
如果上面的方法不生效,可以考慮下面的方法:
在主題的 functions.php添加下面的代碼
function wpfp_get_current_count() {
global $wpdb;
$current_post = get_the_ID();
$query = "SELECT post_id, meta_value, post_status FROM $wpdb->postmeta";
$query .= " LEFT JOIN $wpdb->posts ON post_id=$wpdb->posts.ID";
$query .= " WHERE post_status='publish' AND meta_key='wpfp_favorites' AND post_id = '".$current_post."'";
$results = $wpdb->get_results($query);
if ($results) {
foreach ($results as $o):
echo $o->meta_value;
endforeach;
}else {echo( '0' );}
}
使用下面的代碼調(diào)用
<?php wpfp_get_current_count(); ?>
2.收藏列表 的另一種調(diào)用方法
如果想通過(guò)直接在主題文件中修改顯示收藏列表,可以使用下面的調(diào)用函數(shù)
<?php wpfp_list_favorite_posts(); ?>
3.獲取某個(gè)用戶的收藏?cái)?shù)量
該插件默認(rèn)使用自帶的 wpfp-page-template.php 文件來(lái)顯示收藏列表,如果你要在列表上方顯示收藏?cái)?shù)量,可以參考下面的代碼:
if ($favorite_post_ids){
$user_favorite_count = count($favorite_post_ids);
echo '<p>您已收藏了 '.$user_favorite_count.' 篇文章</p>';
}else{
echo '您目前還沒(méi)有收藏任何文章!';
}
4.刪除文章后統(tǒng)計(jì)不準(zhǔn)確
網(wǎng)站刪除了一些文章,如果用戶之前收藏過(guò)這些文章,他們的收藏?cái)?shù)據(jù)中仍舊包含這些文章的ID,導(dǎo)致他們的收藏?cái)?shù)量統(tǒng)計(jì)不準(zhǔn)確。

找到插件的 wpfp-page-template.php 文件,按照下圖所示添加代碼:
/*remove deleted posts cmhello*/
foreach ($favorite_post_ids as $id) {
if ( FALSE === get_post_status( $id ) ) {
$favorite_post_ids = array_diff($favorite_post_ids, array($id));
$favorite_post_ids = array_values($favorite_post_ids);
wpfp_update_user_meta($favorite_post_ids);
}
}
$favorite_post_ids = wpfp_get_user_meta();
/*//remove deleted posts cmhello*/






請(qǐng)問(wèn)怎么實(shí)現(xiàn)翻頁(yè)功能,謝謝啦
這個(gè)插件的收藏列表,本來(lái)就支持分頁(yè)顯示
為什么我安裝了這款插件之后,打開(kāi)首頁(yè),首頁(yè)就只有一個(gè)導(dǎo)航欄了,這是為什么呢?誰(shuí)能幫我看一下?