Site icon 老张博客

为WordPress博客增加说说功能即微语功能

文章目录 「隐藏」
  1. 简单教程

当博客搭建起来后,只得要对博客进行功能上的优化和界面上的美化。这个“说说”功能,也就是类似于微博,一句话文章。更简单地可以说也像我们微信的朋友圈。

说说功能,可以简单地实现不想长篇大论而是只言片语地表达。这个再合适不过了。

请稳步查看效果:https://laozhang.org/shuo.html

简单教程

首先在主题的functions.php里面加入以下代码

  1. //说说
  2.      add_action('init', 'my_custom_init'); function my_custom_init() { $labels = array( 'name' => '说说', 'singular_name' => 'singularname', 'add_new' => '发表说说', 'add_new_item' => '发表说说', 'edit_item' => '编辑说说', 'new_item' => '新说说', 'view_item' => '查看说说', 'search_items' => '搜索说说', 'not_found' => '暂无说说', 'not_found_in_trash' => '没有已遗弃的说说', 'parent_item_colon' => '', 'menu_name' => '说说' ); $args = array( 'labels' => $labels, 'public' => true, 'publicly_queryable' => true, 'show_ui' => true, 'show_in_menu' => true, 'query_var' => true, 'rewrite' => true, 'capability_type' => 'post', 'has_archive' => true, 'hierarchical' => false, 'menu_position' => null, 'supports' => array('title','editor','author') ); register_post_type('shuoshuo',$args); }

然后新建一个shuoshuo.php文件放到你正在使用的主题根目录里把下面代码放入shuoshuo.php;

  1. <?php /*
  2.     Template Name: 说说
  3.       */
  4.     get_header(); ?>
  5. <style type="text/css">
  6.     #shuoshuo_content {
  7.         background-color: #fff;
  8.         padding: 10px;
  9.         min-height: 500px;
  10.     }
  11.     /* shuo */
  12.     body.theme-dark .cbp_tmtimeline::before {
  13.         background: RGBA(255, 255, 255, 0.06);
  14.     }
  15.     ul.cbp_tmtimeline {
  16.         padding: 0;
  17.     }
  18.     div class.cdp_tmlabel > li .cbp_tmlabel {
  19.         margin-bottom: 0;
  20.     }
  21.     .cbp_tmtimeline {
  22.         margin: 30px 0 0 0;
  23.         padding: 0;
  24.         list-style: none;
  25.         position: relative;
  26.     }
  27.     /* The line */
  28.     .cbp_tmtimeline:before {
  29.         content: '';
  30.         position: absolute;
  31.         top: 0;
  32.         bottom: 0;
  33.         width: 4px;
  34.         background: RGBA(0, 0, 0, 0.02);
  35.         left: 80px;
  36.         margin-left: 10px;
  37.     }
  38.     /* The date/time */
  39.     .cbp_tmtimeline > li .cbp_tmtime {
  40.         display: block;
  41.         /* width: 29%; */
  42.         /* padding-right: 110px; */
  43.         max-width: 70px;
  44.         position: absolute;
  45.     }
  46.     .cbp_tmtimeline > li .cbp_tmtime span {
  47.         display: block;
  48.         text-align: right;
  49.     }
  50.     .cbp_tmtimeline > li .cbp_tmtime span:first-child {
  51.         font-size: 0.9em;
  52.         color: #bdd0db;
  53.     }
  54.     .cbp_tmtimeline > li .cbp_tmtime span:last-child {
  55.         font-size: 1.2em;
  56.         color: #9BCD9B;
  57.     }
  58.     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmtime span:last-child {
  59.         color: RGBA(255, 125, 73, 0.75);
  60.     }
  61.     div.cbp_tmlabel > p {
  62.         margin-bottom: 0;
  63.     }
  64.     /* Right content */
  65.     .cbp_tmtimeline > li .cbp_tmlabel {
  66.         margin: 0 0 45px 65px;
  67.         background: #9BCD9B;
  68.         color: #fff;
  69.         padding: .8em 1.2em .4em 1.2em;
  70.         /* font-size: 1.2em; */
  71.         font-weight: 300;
  72.         line-height: 1.4;
  73.         position: relative;
  74.         border-radius: 5px;
  75.         transition: all 0.3s ease 0s;
  76.         box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  77.         cursor: pointer;
  78.         display: block;
  79.     }
  80.     .cbp_tmlabel:hover {
  81.         /* transform:scale(1.05); */
  82.         transform: translateY(-3px);
  83.         z-index: 1;
  84.         -webkit-box-shadow: 0 15px 32px rgba(0, 0, 0, 0.15) !important
  85.     }
  86.     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel {
  87.         background: RGBA(255, 125, 73, 0.75);
  88.     }
  89.     /* The triangle */
  90.     .cbp_tmtimeline > li .cbp_tmlabel:after {
  91.         right: 100%;
  92.         border: solid transparent;
  93.         content: " ";
  94.         height: 0;
  95.         width: 0;
  96.         position: absolute;
  97.         pointer-events: none;
  98.         border-right-color: #9BCD9B;
  99.         border-width: 10px;
  100.         top: 4px;
  101.     }
  102.     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
  103.         border-right-color: RGBA(255, 125, 73, 0.75);
  104.     }
  105.     p.shuoshuo_time {
  106.         margin-top: 10px;
  107.         border-top: 1px dashed #fff;
  108.         padding-top: 5px;
  109.     }
  110.     /* Media */
  111.     @media screen and (max-width: 65.375em) {
  112.         .cbp_tmtimeline > li .cbp_tmtime span:last-child {
  113.             font-size: 1.2em;
  114.         }
  115.     }
  116.     .shuoshuo_author_img img {
  117.         border: 1px solid #ddd;
  118.         padding: 2px;
  119.         float: left;
  120.         border-radius: 64px;
  121.         transition: all 1.0s;
  122.     }
  123.     .avatar {
  124.         -webkit-border-radius: 100% !important;
  125.         -moz-border-radius: 100% !important;
  126.         box-shadow: inset 0 -1px 0 #3333sf;
  127.         -webkit-box-shadow: inset 0 -1px 0 #3333sf;
  128.         -webkit-transition: 0.4s;
  129.         -webkit-transition: -webkit-transform 0.4s ease-out;
  130.         transition: transform 0.4s ease-out;
  131.         -moz-transition: -moz-transform 0.4s ease-out;
  132.     }
  133.     .zhuan {
  134.         transform: rotateZ(720deg);
  135.         -webkit-transform: rotateZ(720deg);
  136.         -moz-transform: rotateZ(720deg);
  137.     }
  138.     /* end */
  139. </style>
  140. </head>
  141. <body>
  142. <div id="primary" class="content-area" style="">
  143.     <main id="main" class="site-main" role="main">
  144.         <div id="shuoshuo_content">
  145.             <ul class="cbp_tmtimeline">
  146.                 <?php query_posts("post_type=shuoshuo&post_status=publish&posts_per_page=-1");if (have_posts()) : while (have_posts()) : the_post(); ?>
  147.                 <li> <span class="shuoshuo_author_img"><img src="https://www.XXXX.cn/wp-content/uploads/2017/03/5201314_avatar-96x96.jpg" class="avatar avatar-48" width="48" height="48"></span>
  148.                     <a class="cbp_tmlabel" href="javascript:void(0)">
  149.                         <p></p>
  150.                         <p><?php the_content(); ?></p>
  151.                         <p></p>
  152.                         <p class="shuoshuo_time"><i class="fa fa-clock-o"></i>
  153.                             <?php the_time('Y年n月j日G:i'); ?>
  154.                         </p>
  155.                     </a>
  156.                     <?php endwhile;endif; ?>
  157.                 </li>
  158.             </ul>
  159.         </div>
  160.     </main>
  161.     <!-- .site-main -->
  162. </div>
  163. <script type="text/javascript">
  164.     $(function () {
  165.         var oldClass = "";
  166.         var Obj = "";
  167.         $(".cbp_tmtimeline li").hover(function () {
  168.             Obj = $(this).children(".shuoshuo_author_img");
  169.             Obj = Obj.children("img");
  170.             oldClass = Obj.attr("class");
  171.             var newClass = oldClass + " zhuan";
  172.             Obj.attr("class", newClass);
  173.         }, function () {
  174.             Obj.attr("class", oldClass);
  175.         })
  176.     })
  177. </script>
  178. <?php get_sidebar(); ?>
  179. <?php get_footer();?>

然后在wordpress后台新建单页模板选择说说,头像地址在代码里修改,在哪发说说你自己找,发说说不用填标题!!

注意上面代码第147行处是你头像的地址,修改即可!

对于功能优化和美化,本着实用为原则,不能是人云亦云。就好像插件,安装多了最后会影响到博客的整体速度。

 

Exit mobile version