Unite3.0主题完美移植知更鸟点赞分享样式教程

 懿古今   2016-03-23 21:05:15 发布  技术文档

最近,一直都有博主问到如何将文章页面中的“朕要赏赐”和“真要分享”更改为类似知更鸟Begin主题的点赞分享样式。其实,对于这种需求动手能力强的博主自己就可以解决了,不过为了让不太会动手折腾的博主也能多一个选择,所以今天特意将Unite3.0主题移植知更鸟点赞分享样式的详细过程分享给大家。

Unite3.0主题完美移植知更鸟点赞分享样式教程

一、懒人移植方法(适合未修改过Unite主题的方法)

只需下载【Unite3.0主题移植知更鸟点赞分享样式文件】,解压后按以下要求覆盖更新即可。

1、script.js文件直接拷贝到Unite\js\覆盖更新。

2、social.php文件直接拷贝到Unite\inc\覆盖更新。

3、functions.php、header.php和style.css文件直接拷贝到Unite\覆盖更新。

二、自己动手折腾代码(适合修改过Unite主题的方法)

1、打开Unite\js\ script文件,在最后面添加以下代码:

  1. // 点赞
  2. $.fn.postLike = function() {
  3.     if (jQuery(this).hasClass('done')) {
  4.         return false;
  5.     } else {
  6.         $(this).addClass('done');
  7.         var id = $(this).data("id"),
  8.         action = $(this).data('action'),
  9.         rateHolder = jQuery(this).children('.count');
  10.         var ajax_data = {
  11.             action: "ality_ding",
  12.             um_id: id,
  13.             um_action: action
  14.         };
  15.         $.post(wpl_ajax_url, ajax_data,
  16.         function(data) {
  17.             jQuery(rateHolder).html(data);
  18.         });
  19.         return false;
  20.     }
  21. };
  22. $(document).on("click"".favorite",
  23. function() {
  24.     $(this).postLike();
  25. });

2、打开主题中的functions.php文件,并在最后一个?>前面添加以下代码:

  1. // 点赞
  2. add_action('wp_ajax_nopriv_ality_ding', 'ality_ding');
  3. add_action('wp_ajax_ality_ding', 'ality_ding');
  4. function ality_ding(){
  5.     global $wpdb,$post;
  6.     $id = $_POST["um_id"];
  7.     $action = $_POST["um_action"];
  8.     if ( $action == 'ding'){
  9.         $bigfa_raters = get_post_meta($id,'ality_like',true);
  10.         $expire = time() + 99999999;
  11.         $domain = ($_SERVER['HTTP_HOST'] != 'localhost') ? $_SERVER['HTTP_HOST'] : false;
  12.         setcookie('ality_like_'.$id,$id,$expire,'/',$domain,false);
  13.         if (!$bigfa_raters || !is_numeric($bigfa_raters)) {
  14.             update_post_meta($id, 'ality_like', 1);
  15.         }
  16.         else {
  17.             update_post_meta($id, 'ality_like', ($bigfa_raters + 1));
  18.         }
  19.         echo get_post_meta($id,'ality_like',true);
  20.     }
  21.     die;
  22. }

3、打开主题中的header.php文件,找到以下代码

  1. <?php if (is_single() || is_page() ) { ?>

然后在它下面添加以下代码

  1. <script type="text/javascript">
  2. /* <![CDATA[ */
  3. var wpl_ajax_url = "http:\/\/你的域名\/wp-admin\/admin-ajax.php";
  4. /* ]]> */
  5. </script>

PS:一定要记得更换以上代码中的“你的域名”为真正的域名哦。

4、打开Unite\inc\ social.php文件,把所有代码替换为以下代码:

  1. <div id="social">
  2.     <div class="social-main">
  3.         <span class="like">
  4.             <a href="javascript:;" data-action="ding" data-id="<?php the_ID(); ?>" title="好文!一定要点赞!" class="favorite<?php if(isset($_COOKIE['ality_like_'.$post->ID])) echo ' done';?>"><i class="fa fa-thumbs-up"></i><i class="count">
  5.                 <?php if( get_post_meta($post->ID,'ality_like',true) ){
  6.                     echo get_post_meta($post->ID,'ality_like',true);
  7.                 } else {
  8.                     echo '0';
  9.                 }?></i>
  10.             </a>
  11.         </span>
  12.         <span class="shang-p"><a href="#shang" id="shang-main-p" title="好文!一定要打赏!"></a></span>
  13.         <span class="share-s"><a href="#share" id="share-main-s" title="好文!一定要分享!"><i class="fa fa-share-alt"></i>分享</a></span>
  14.         <div class="clear"></div>
  15.     </div>
  16. </div>

5、打开主题文件中的style.css文件,找到以下代码:

  1. .shang-p {
  2.     position: absolute;
  3.     left: 102px;
  4.     top:-3px;
  5.     background: #7ab951;
  6.     width: 40px;
  7.     height: 40px;
  8.     font-size: 16px;
  9.     line-height: 30px;
  10.     border: 4px solid #fff;
  11.     border-radius: 40px;
  12.     text-align:center;
  13. }

直接替换为以下代码:

  1. .shang-p a {
  2.     position: absolute;
  3.     left: 102px;
  4.     top:-3px;
  5.     color: #111;
  6.     font-weight:blod;
  7.     background: #7ab951;
  8.     width: 40px;
  9.     height: 40px;
  10.     font-size: 16px;
  11.     line-height: 30px;
  12.     border: 4px solid #fff;
  13.     border-radius: 40px;
  14.     text-align:center;
  15. }
  16. .shang-p a:hover {
  17. color: #111;
  18. }

即可。

到了这里,Unite 3.0主题已经完美移植了知更鸟主题中的点赞和分享按钮。如果没有安装Font Awesome 4 Menus插件,那么赞和分享前面的个性化图标将无法显示。如果安装有,那么整个点赞分享出来的效果就会跟本站的一模一样的,不需要设置任何东西,如下图所示:

Unite3.0主题完美移植知更鸟点赞分享样式教程

PS:为什么只分享Unite主题的移植而不分享Three主题?那是因为近期有计划更新Three主题,到时候将会直接把它变成这个样式,所以就懒得再分享了。而且这两个主题比较相近,看得懂本文的,一定也可以折腾出Three主题的点赞和分享样式的,我相信你们的能力。

本文地址:https://www.yigujin.cn/677.html

你可能感兴趣的文章

文章标签: ,   ,  
版权声明:本文为原创文章,版权归 懿古今 所有,欢迎分享本文,转载请保留出处!发布此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请发邮件至[email protected],确认后马上更正、删除,谢谢!

发表评论

  1. 路易大叔
    路易大叔 @回复

    用户的要求还真不少

    • 懿古今
      懿古今2016-03-24 12:52  回复

      @路易大叔是的,这个也是为什么很多人不愿意折腾免费主题的缘故了,有时候感觉比收费主题还累

  2. 米粒博客
    米粒博客 @回复

    真不错 有空 我也操刀试试

  3. 艾特SEO
    艾特SEO @回复

    已经是实验成功,博主真的是太有心了,真心感谢,我是你的忠诚粉丝!

  4. Koolight
    Koolight @回复

    主题够用就好了,不敢再多折腾了。

    • 懿古今
      懿古今2016-03-24 12:50  回复

      @Koolight[呲牙] 是的,够用就行,我也就是偶尔折腾一下,保持激情而已

  5. Luckylee
    Luckylee @回复

    您好,为何我更新后,“赏”字显示错位了。如何解决呢?

  6. 滕绍武博客
    滕绍武博客 @回复

    我还是喜欢点赞分心情的那种,坐等更新的时候再来

  7. 无忧
    无忧 @回复

    太棒了,修改前跟改后有什么区别呢? 我就不修改了。

    • 懿古今
      懿古今2016-04-09 22:43  回复

      @无忧修改后多一个点赞功能,其实意义不大

  8. 老K
    老K @回复

    为什么修改过后点击‘赞’字无反应 始终显示的是‘0’

    • 懿古今
      懿古今2016-06-29 17:45  回复

      @老K这个方法只适合Unite3.0主题,其他主题未必适合。如果点击没反应一般都是JS冲突之类的,请自行排查。

      • 老K
        老K2016-06-29 17:53  回复

        @懿古今我安装的主题就是Unite3.0主题,而且全新安装,不过也没关系了 [呲牙]

        感谢博主的回答,谢谢! [强] [强]

  9. 黑蚁博客
    黑蚁博客 @回复

    刚开始点了赞没反应,后台折腾了好几次才改好。

    • 懿古今
      懿古今2016-10-21 08:45  回复

      @黑蚁博客[呲牙] 我刚开始折腾这个点赞也是没反应,后来折腾很久才成功