wordpress文章采集软件(WPFavoritePosts文章收藏插件试了一下,感觉不错。 )
优采云 发布时间: 2022-01-31 20:16wordpress文章采集软件(WPFavoritePosts文章收藏插件试了一下,感觉不错。
)
最近一直在思考WordPress大学的设计,特别是如何做好注册用户体验。考虑添加一个文章采集功能,让大家可以采集自己喜欢的文章,然后在页面上生成一个列表,在侧边栏显示最近采集的文章,这样,你以后可以轻松找到你需要的文章。于是我找到了 WP Favorite Posts,一个 WordPress文章 采集插件,试用了一下,感觉还不错。
WP采集帖子简介
WP Favorite Posts是一款不错的WordPress文章采集插件,可以在文章页面添加采集按钮,用户可以点击采集自己的文章,并可以将自己展示在一个特殊页面采集文章,还支持“最近采集文章(每个人都看到自己的)”和“全站最多采集文章”两个小工具。
最值得一提的 WP Favorite Posts 通过浏览器 cookie 和数据库存储用户的采集数据,也就是说游客也可以采集 文章,当然游客的采集数据是通过 cookie 保存的,如果删除浏览器的cookie,采集数据会丢失,所以建议采集后注册用户,可以保存在数据库中,不会丢失。
WP Favorite Posts 安装设置
1.在后台插件安装页面搜索WP采集贴在线安装,或下载WP采集贴。
2.启用后,在设置-采集帖子中,可以进行相关设置(如果不懂英文,就用翻译工具翻译)
可设置各种提示
设置好后就可以使用插件了。
如何使用 WP 采集帖子
1.如何显示“采集链接”
您可以选择在第一张图片的界面中自动插入文章页眉或页脚,或者在single.php或page.php的主题文件中使用如下代码自定义位置:
1
如果您只想在某些文章 中显示采集链接,则可以在编辑文章 时将以下短代码添加到文章:
1
[wpfp-link]
2.小部件调用。您可以在外观中看到两个可用的小部件 - 小部件,您可以自己设置它们。
3.添加采集列表页面。这个页面是用来显示所有用户采集的页面文章。可以在页面中新建一个页面,然后在内容中加入如下调用代码,显示用户的采集列表(每个用户只能看到自己的采集列表)
1
[wp-favorite-posts]
WP 最喜欢的帖子高级提示(备用)
以下是一些进阶功能,在论坛上看到过,但还没有测试,记录下来以备后用。
1.调用文章的采集夹
最简单的方法是循环使用下面的代码,直接调用:
1
如果上述方法不起作用,可以考虑以下方法:
在主题的functions.php中添加以下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
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' );}
}
使用下面的代码调用
1
2.另一种调用采集列表的方式
如果想直接在主题文件中修改显示采集列表,可以使用如下调用函数
1
3.获取用户的采集数量
该插件默认使用收录的 wpfp-page-template.php 文件来显示采集夹列表。如果想在列表上方显示采集的数量,可以参考以下代码:
1
2
3
4
5
6
if ($favorite_post_ids){
$user_favorite_count = count($favorite_post_ids);
echo '<p>您已收藏了 '.$user_favorite_count.' 篇文章';
}else{
echo '您目前还没有收藏任何文章!';
}</p>
4.删除后统计不准确文章
网站删除了一些文章,如果用户之前采集过这些文章,他们的采集数据中仍然收录这些文章的ID,导致采集的统计不准确。
找到插件的wpfp-page-template.php文件,添加如下代码:
1
2
3
4
5
6
7
8
9
10
/*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*/