WordPress文章收藏插件:WP Favorite Posts

倡萌最近一直在考虑 WordPress大学 的设计问题,尤其是如何做好注册用户体验。考虑添加一个文章收藏的功能,让大家收藏自己喜欢的文章,然后在一个页面生成列表,并且在侧边栏显示最近收藏的文章,这样一来,大家以后就可以很方便找到自己需要的文章。于是找到了 WP Favorite Posts 这个WordPress文章收藏插件,试了一下,感觉不错。

WP Favorite Posts 简介

WP Favorite Posts 是一个不错的WordPress文章收藏插件,可以在文章页面中添加收藏按钮,用户可以点击收藏自己的文章,并且可以在专门的页面中显示自己收藏的文章,还支持“最近收藏的文章(每个人看到自己的)”“全站收藏次数最多的文章”这两个小工具。

最值得一提的 WP Favorite Posts 通过浏览器cookie和数据库两种方式存储用户收藏数据,也就是说,游客也可以收藏文章,当然了,游客的收藏数据是通过cookie保存的,如果删除了浏览器的cookie,就丢掉了收藏数据了,所以建议注册用户后收藏,就可以保存在数据库中,不会丢失了。

WP Favorite Posts 安装设置

1.在后台插件安装页面 搜索 WP Favorite Posts  在线安装,或者 下载WP Favorite Posts

2.启用以后,在 设置 – Favorite Posts ,可以进行相关设置(看不懂英文的,就使用翻译工具翻译吧)

wpdaxue.com-201301319

可以设置各种提示语

wpdaxue.com-201301320

设置好以后,就可以使用该插件了。

WP Favorite Posts 使用方法

1.“收藏链接“的显示方式

你可以在第一个图中的界面,选择自动插入文章头部或尾部,或者通过在 single.php 或 page.php 的主题文件中使用下面的代码自定义位置:

<?php if (function_exists('wpfp_link')) { wpfp_link(); } ?>

如果你只希望在某些文章中才显示收藏链接,那你可以在编辑文章的时候,添加下面的简码到文章中即可:

[wpfp-link]

2.小工具调用。你可以在 外观 – 小工具 看到可用的两个小工具,自己设置一下即可。

3.添加收藏列表页面。这个页面就是用来显示用户所有搜藏的文章的页面,你可以在 页面 – 新建页面,然后在内容中添加下面的调用代码,就可以显示用户的收藏列表(每个用户只能看到自己的收藏列表)

[wp-favorite-posts]

wpdaxue.com-201301321

WP Favorite Posts 高级技巧(备用)

下面的是一些高级功能,倡萌在论坛看到的,还未测试,记录一下,方便以后使用。

1.调用文章的收藏次数

最简单的方法在循环中使用下面的代码即可直接调用:

<?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' );}
}

使用下面的代码调用

<?php wpfp_get_current_count(); ?>

2.收藏列表 的另一种调用方法

如果想通过直接在主题文件中修改显示收藏列表,可以使用下面的调用函数

<?php wpfp_list_favorite_posts(); ?>

3.获取某个用户的收藏数量

该插件默认使用自带的 wpfp-page-template.php 文件来显示收藏列表,如果你要在列表上方显示收藏数量,可以参考下面的代码:

    if ($favorite_post_ids){
        $user_favorite_count = count($favorite_post_ids);
        echo '<p>您已收藏了 '.$user_favorite_count.' 篇文章</p>';
    }else{
        echo '您目前还没有收藏任何文章!';
    }

4.删除文章后统计不准确

网站删除了一些文章,如果用户之前收藏过这些文章,他们的收藏数据中仍旧包含这些文章的ID,导致他们的收藏数量统计不准确。

找到插件的 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*/

2016-09-09_103017

来源:

https://www.wpdaxue.com/wp-favorite-posts.html

微信公众号
手机浏览(小程序)
0
分享到:
没有账号? 忘记密码?