GG资源网

Tumblr 被卖掉了,很遗憾,买方不是 Pornhub(WordPress实现文章支持和反对功能的方法)

Tumblr 被卖掉了,很遗憾,买方不是 Pornhub

图片博客 Tumblr 换东家了,原股东 Verizon Communications 将该网站卖给了 Automattic Inc,交易的具体价格未知,《华尔街日报》称费用「微不足道」,Axios 的报道则称价格低于 300 万美元,比起当初卖给雅虎的 11 亿美元,没了小黄图的 Tumblr 身价暴跌。

▲图片来自:WordPress

尽管如此,按照 Automattic 的 CEO Matt Mullenweg 的说法,这已经是该公司在价格和规模上最大一桩收购了,从 11 亿到 300 万美元,有人戏称其实是小黄图撑起了 Tumblr 99% 以上的估值。

Automattic 可不是什么无名之辈,大多数人可能没听过这个名字,但 WordPress 的大名想必知道的人不在少数,这款最初用于博客搭建的开源工具如今已成为最常用的内容管理系统,全球有 30% 的网站都是基于 WordPress 搭建的(数据截至 2018 年 3 月),其中不乏 TechCrunch、Quartz、CNN、纽约时报、路透社、福布斯等知名网站,可以说你见到的资讯网站或品牌官网,十有八九都是 WordPress 的产物。

建站工具收购图片博客,似乎是顺理成章的事。收购完成后,WordPress 还将接收 Tumblr 约 200 名员工。

不算创始人,Tumblr 创办 12 年来已是三易其主。

2003 年,雅虎斥资 11 亿美元将 Tumblr 收入囊中,指望借后者开拓年轻人市场并打入社交领域,但彼时这桩收购引起了 Tumblr 用户强烈不满,他们担心雅虎会通过严查平台上的成人内容,毁了随心所欲的社区氛围,近 17 万人在网上联名请愿反对收购,但胳膊拧不过大腿,Tumblr 最终还是成了雅虎的资产。

▲图片来自:Business Insider

用户的担心不是没有道理,毕竟雅虎向来有「创业公司杀手」之称,此前对 Broadcast、Kelkoo、Right Media、Geocities 等公司的收购均以失败告终。

很难说雅虎有没有毁了 Tumblr,但肯定没能起到 1+1 大于 2 的效果。收购后雅虎并未过多干涉 Tumblr 的发展,后者依然是老司机们的福利之地,但孱弱的变现能力也未能帮助雅虎扭转颓势。

2016 年,雅虎作价 48.3 亿美元被美国电信巨头 Verizon 收购,Tumblr 被归入其子公司 Oath 旗下,当时不少观点认为 Verizon 之所以愿意收购已没落的雅虎,有一部分原因就是看上了 Tumblr,只用了 Twitter 三分之一的价格拿到月活(5.5 亿)高于 Twitter 的社交平台,是一笔相当划算的买卖。

▲ 图片来自:Business Insider

然而,换了东家的 Tumblr 在商业化上并未有突破,反而掐断了赖以为生的成人内容。去年 12 月宣布全面禁止色情内容后,Tumblr 的流量遭遇断崖式下滑,其页面浏览量(PV)从每月的 5.21 亿次跌至今年 2 月的 3.69 亿/月,截至今年 3 月,其移动端月活用户仅为 1840 万,被 Twitter 远远甩在了身后。

▲ 图片来自:Statista

因此今年 5 月当 Pornhub 有意收购 Tumblr 的消息传出时,一度让用户兴奋不已,认为两者是天作之合,但 Pornhub 撩完就跑,只留用户空欢喜一场。

Automattic 看中的也不是 Tumblr 的情色基因,而是后者在移动端优秀的用户体验,Automattic 的 CEO Matt Mullenweg 表示管理层将探索如何打通 WordPress 和 Tumblr 服务和功能的方式。

至于用户最关心的成人内容,很遗憾,目前并没有解禁的希望。虽然 WordPress 允许成人内容的存在,但 Mullenweg 已经明确表态将维持现行的禁黄政策,「对此我们不会有丝毫改变」。

Tumblr 曾经引以为傲的社区特色,如今却让接盘者唯恐避之不及,Mullenweg 是这样解释的:

至此,大概可以说一句:世间再无 Tumblr。

题图来自:Canva

WordPress实现文章支持和反对功能的方法

如果你上网易或QQ网站都会看到文章页面有很多种支持和反对的功能,我们可以发表自己的意见,那么要如何实现文章支持和反对的功能,下面我来介绍利用ajax快速实现.

我是用wp做二次开发的,当然你也可以装插件,不过我是自己定制的了,实现代码:

首先在数据库表wp_posts添加两个字段like 和unlike

PHP实例代码如下:

public function dolike_unlike(){
$b = M();
$input = new input();
$id = $input->post(\'id\');//过滤提交的信息。防止sql注入,之前发的代码我都补上了。
//$id = 5524;
$val = $_POST[\'data\'];
if($val==1){
$b->query(\"update wp_posts set like =like+1 WHERE id = $id\");//点击like的更新
}else if($val==0){
$b->query(\"update wp_posts set unlike =unlike+1 WHERE id = $id\");  //dislike更新
}else{
$this->error(\'error\');
}
$list = $b->query(\"SELECT like,unlike FROM wp_posts WHERE id = $id\");//获取数据
$like = $list[0][\'like\'];
$dislike = $list[0][\'unlike\'];
if($like!=0 || $dislike!=0){//计算
$elike = $like/($like+$dislike);
$elike = substr($elike*100,0,4);
$edislike = $dislike/($like+$dislike);
$edislike = substr($edislike*100,0,4);
}
//echo $elike;
$output = array(//组合函数待输出
likenum=>$like,
dislikenum=>$dislike,
like=>$elike,
dislike=>$edislike
);
//echo $list;
//dump($output);
$this->ajaxReturn($output,\'success\',1);//输出
//echo \'ok\';
//$this->display(\'\');
}

html实例代码如下:

<div class=\"cl\"></div>
<style>
.recomm{ border-bottom:4px solid #FF7523; color:#FF7523}
.single_share_class{ position:absolute; left:-95px; top:80px; width:75px; height:328px; text-align:center; background:url(/img/single_page_share.png) no-repeat;}
.single_share_class .comm_num{ padding:12px 0 48px 0px}
.single_share_class .comm_num span{ font-size:10px; line-height:11px; color:#ff9853; display:block}
.single_share_class >span >span >span{ margin-bottom:7px !important;}
.single_share_class .copylink{ padding:28px 0 0 0; cursor:pointer}
.single_share_class .st_sharethis_large >span >span{ background:none !important}
.dingandcai{ width:526px; height:62px; background:url(/img/likeandunlike.jpg) no-repeat; margin:20px 0;line-height:62px; text-align:center; font-size:24px; text-shadow:1px 1px 1px #000; }
.dingandcai .left_like{ width:224px; float:left;height:62px; position:relative}
.dingandcai .left_like span,.dingandcai .right_unlike span{ position:relative; z-index:2}
.dingandcai .dingload{ width:78px; float:left; }
.dingandcai .right_unlike{ width:224px; float:left; height:62px;position:relative }
.dingandcai .left_like .left_con{ background:url(/img/likeandunlike.jpg) 0px -63px no-repeat; width:50%; height:62px;position:absolute;top:0;left:0; z-index:1}
.dingandcai .right_unlike .right_con{ background:url(/img/likeandunlike.jpg) -302px -63px no-repeat; width:50%; height:62px;position:absolute;top:0;left:0; z-index:1}
.allow_click,.disallow_click{cursor:pointer}
</style>
<div class=\"dingandcai\">
<div class=\"left_like\"  val=\"1\" postid=\"<?php the_ID(); ?>\">
<div class=\"left_con\"></div><span id=\"like\">Like</span>
</div>
<div class=\"dingload\">
<img src=\"/img/loading_sm.gif\" />&nbsp;
</div>
<div class=\"right_unlike\"  val=\"0\" postid=\"<?php the_ID(); ?>\">
<div class=\"right_con\"></div>
<span id=\"dislike\">Dislike</span>
</div>
</div>
<div class=\"cl\"></div>

js实例代码如下:

jQuery(\".dingload img\").ajaxStart(function(){//ajax提示
jQuery(this).show();
});
jQuery(\".dingload img\").ajaxStop(function(){
jQuery(this).hide();
});
var pid = jQuery(\".left_like\").attr(\"postid\");
var likecookie = jQuery.cookie(\"like\"+pid);
if(likecookie!=pid){//判断是否点击过,如果没有点击则
jQuery(\".left_like,.right_unlike\").addClass(\"allow_click\");
jQuery.get(\'/cityosweb/default.php/Shanmao/wplike_unlike\',{id:pid},function(data){
if(data.status==1){//显示背景百分比和like dislike字样
jQuery(\".left_like .left_con\").css(\"width\",data.data.like+\"%\");
jQuery(\".right_unlike .right_con\").css(\"width\",data.data.dislike+\"%\");
}
},\"json\");
}else{//如果已经投过票了则
jQuery(\".left_like,.right_unlike\").addClass(\"disallow_click\");
jQuery.get(\'/cityosweb/default.php/Shanmao/wplike_unlike\',{id:pid},function(data){
if(data.status==1){//显示背景百分比和投票数
//alert(data.likenum);
jQuery(\"#like\").html(data.data.likenum);
jQuery(\"#dislike\").html(data.data.dislikenum);
jQuery(\".left_like .left_con\").css(\"width\",data.data.like+\"%\");
jQuery(\".right_unlike .right_con\").css(\"width\",data.data.dislike+\"%\");
}
},\"json\");
}
jQuery(\".left_like,.right_unlike\").click(function(){
if(jQuery(this).hasClass(\"allow_click\")){//如果有这个class才提交
var val = jQuery(this).attr(\"val\");
var postid = jQuery(this).attr(\"postid\");
jQuery.post(\'/cityosweb/default.php/Shanmao/dolike_unlike\',{data:val,id:postid},function(data){//点击的时候
if(data.status==1){//成功返回处理
jQuery(\"#like\").html(data.data.likenum);
jQuery(\"#dislike\").html(data.data.dislikenum);
jQuery(\".left_like .left_con\").css(\"width\",data.data.like+\"%\");
jQuery(\".right_unlike .right_con\").css(\"width\",data.data.dislike+\"%\");
jQuery(\".left_like,.right_unlike\").removeClass(\"allow_click\").addClass(\"disallow_click\");
jQuery.cookie(\'like\'+postid,postid,{expires: 1});//提交后写入cookie,这里是用juqery.cookie插件。保存一天时间,每篇文章保存不一样的id。值随意,只要你上面好做判断。
}else{
alert(data.info);
}
},\"json\");
}
});
jQuery(\".disallow_click\").live(\"click\",function(){//不允许提交时候弹出
alert(\"Your vote has already been submitted!\");
});

希望本文所述对大家的WordPress建站有所帮助。

Wordpress实现文章支持和反对功能的方法 (https://www.wpmee.com/) WordPress使用教程 第1张

由于网站搬家,部分链接失效,如无法下载,请联系站长!谢谢支持!
1. 带 [亲测] 说明源码已经被站长亲测过!
2. 下载后的源码请在24小时内删除,仅供学习用途!
3. 分享目的仅供大家学习和交流,请不要用于商业用途!
4. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
5. 本站所有资源来源于站长上传和网络,如有侵权请邮件联系站长!
6. 没带 [亲测] 代表站长时间紧促,站长会保持每天更新 [亲测] 源码 !
7. 盗版ripro用户购买ripro美化无担保,若设置不成功/不生效我们不支持退款!
8. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
9. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
10.如果您购买了某个产品,而我们还没来得及更新,请联系站长或留言催更,谢谢理解 !
GG资源网 » Tumblr 被卖掉了,很遗憾,买方不是 Pornhub(WordPress实现文章支持和反对功能的方法)

发表回复

CAPTCHAis initialing...