• 注册
  • 查看作者
  • 纯代码给wordpress添加说说/微博/微语功能

    用纯代码的方法给wordpress添加说说、微博、微语功能吧!作为一个独立的个人博客,说说怎么少得了,有时候我们写日志,或者做通告,长不长,短不短的话语总是纠结怎么写成文章,但是为了人性化,像qq空间的说说,emlog的微语以及微博,都是把短语发挥到了极致,无奈wordpress没有这项功能,今天无作为就教大家添加该功能,非常简单,代码也很少。

    现在博客越来越难做了,基本没又人会看,不过WordPress的功能却是越来越强大,在无聊分享的同时,我们是不是可以单独弄一个说说页面出来,发送一下郁闷的心情呢?

    演示截图:

    纯代码给wordpress添加说说/微博/微语功能

    说说页面效果如上图所示!

    纯代码给wordpress添加说说/微博/微语功能

    说说编辑页面展示!

    纯代码给wordpress添加说说/微博/微语功能

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

    //说说
    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); }

    添加之后创建一个php文档,把以下内容(顺便附上css样式)复制进去:保存该文档,命名为shuoshuo.php,将其放于主题目录下。

    <?php /*
     Template Name: 说说
     author: 无作为
     url:  链接
     */
     get_header(); ?>
    <style type="text/css">
     #shuoshuo_content {
     background-color: #fff;
     padding: 10px;
     min-height: 500px;
     }
     /* shuo */
     body.theme-dark .cbp_tmtimeline::before {
     background: RGBA(255, 255, 255, 0.06);
     }
     ul.cbp_tmtimeline {
     padding: 0;
     }
     div class.cdp_tmlabel > li .cbp_tmlabel {
     margin-bottom: 0;
     }
     .cbp_tmtimeline {
     margin: 30px 0 0 0;
     padding: 0;
     list-style: none;
     position: relative;
     }
     /* The line */
    
    .cbp_tmtimeline:before {
     content: '';
     position: absolute;
     top: 0;
     bottom: 0;
     width: 4px;
     background: RGBA(0, 0, 0, 0.02);
     left: 80px;
     margin-left: 10px;
     }
     /* The date/time */
     .cbp_tmtimeline > li .cbp_tmtime {
     display: block;
     /* width: 29%; */
     /* padding-right: 110px; */
     max-width: 70px;
     position: absolute;
     }
     .cbp_tmtimeline > li .cbp_tmtime span {
     display: block;
     text-align: right;
     }
     .cbp_tmtimeline > li .cbp_tmtime span:first-child {
     font-size: 0.9em;
     color: #bdd0db;
     }
     .cbp_tmtimeline > li .cbp_tmtime span:last-child {
     font-size: 1.2em;
     color: #9BCD9B;
     }
     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmtime span:last-child {
     color: RGBA(255, 125, 73, 0.75);
     }
     div.cbp_tmlabel > p {
     margin-bottom: 0;
     }
     /* Right content */
     .cbp_tmtimeline > li .cbp_tmlabel {
     margin: 0 0 45px 65px;
     background: #9BCD9B;
     color: #fff;
     padding: .8em 1.2em .4em 1.2em;
     /* font-size: 1.2em; */
     font-weight: 300;
     line-height: 1.4;
     position: relative;
     border-radius: 5px;
     transition: all 0.3s ease 0s;
     box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
     cursor: pointer;
     display: block;
     }
     .cbp_tmlabel:hover {
     /* transform:scale(1.05); */
     transform: translateY(-3px);
     z-index: 1;
     -webkit-box-shadow: 0 15px 32px rgba(0, 0, 0, 0.15) !important
     }
     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel {
     background: RGBA(255, 125, 73, 0.75);
     }
     /* The triangle */
     .cbp_tmtimeline > li .cbp_tmlabel:after {
     right: 100%;
     border: solid transparent;
     content: " ";
     height: 0;
     width: 0;
     position: absolute;
     pointer-events: none;
     border-right-color: #9BCD9B;
     border-width: 10px;
     top: 4px;
     }
     .cbp_tmtimeline > li:nth-child(odd) .cbp_tmlabel:after {
     border-right-color: RGBA(255, 125, 73, 0.75);
     }
     p.shuoshuo_time {
     margin-top: 10px;
     border-top: 1px dashed #fff;
     padding-top: 5px;
     }
     /* Media */
     @media screen and (max-width: 65.375em) {
     .cbp_tmtimeline > li .cbp_tmtime span:last-child {
     font-size: 1.2em;
     }
     }
     .shuoshuo_author_img img {
     border: 1px solid #ddd;
     padding: 2px;
     float: left;
     border-radius: 64px;
     transition: all 1.0s;
     }
     .avatar {
     -webkit-border-radius: 100% !important;
     -moz-border-radius: 100% !important;
     box-shadow: inset 0 -1px 0 #3333sf;
     -webkit-box-shadow: inset 0 -1px 0 #3333sf;
     -webkit-transition: 0.4s;
     -webkit-transition: -webkit-transform 0.4s ease-out;
     transition: transform 0.4s ease-out;
     -moz-transition: -moz-transform 0.4s ease-out;
     }
     .zhuan {
     transform: rotateZ(720deg);
     -webkit-transform: rotateZ(720deg);
     -moz-transform: rotateZ(720deg);
     }
     /* end */
    </style>
    </head>
    
    <body>
    <div id="primary" class="content-area" style="">
     <main id="main" class="site-main" role="main">
     <div id="shuoshuo_content">
     <ul class="cbp_tmtimeline">
     <?php query_posts("post_type=shuoshuo&post_status=publish&posts_per_page=-1");if (have_posts()) : while (have_posts()) : the_post(); ?>
     <li> <span class="shuoshuo_author_img"><img src="http://liuyanzhao.com/wp-content/uploads/2017/01/2017012612411040.png" class="avatar avatar-48" width="48" height="48"></span>
     <a class="cbp_tmlabel" href="javascript:void(0)">
     <p></p>
     <p><?php the_content(); ?></p>
     <p></p>
     <p class="shuoshuo_time"><i class="fa fa-clock-o"></i>
     <?php the_time('Y年n月j日G:i'); ?>
     </p>
     </a>
     <?php endwhile;endif; ?>
     </li>
     </ul>
     </div>
     </main>
     <!-- .site-main -->
    </div>
    <script type="text/javascript">
     $(function () {
     var oldClass = "";
     var Obj = "";
     $(".cbp_tmtimeline li").hover(function () {
     Obj = $(this).children(".shuoshuo_author_img");
     Obj = Obj.children("img");
     oldClass = Obj.attr("class");
     var newClass = oldClass + " zhuan";
     Obj.attr("class", newClass);
     }, function () {
     Obj.attr("class", oldClass);
     })
     })
    </script>
    <?php get_sidebar(); ?>
    <?php get_footer();?>

    接下来就是进入wordpress后台新建页面,标题写“我的说说”,模版选择“说说”,发布,大功告成,之后可通过后台发表说说了。以上不提供样式,请各位自行设置样式,充分发挥自己的想象力。

    注:如果不想富媒体说说,单纯地写文字的话,可以把最后一段代码中的<?php the_content(); ?>改成<?php the_title(); ?>,这样以后发表说说只要填写标题就可以了,查找起来也比较方便。如果你用<?php the_content(); ?>,那么你发表说说的时候标题和内容要写成一样,以方便查找,如果你只填写内容,那么你在后台查看说说的时候,显示的列表全是无标题,对于修改比较麻烦。

  • 0
  • 0
  • 0
  • 10
  • 请登录之后再进行评论

    登录

    捐助

    请在小工具里添加二维码

  • 做任务
  • 发表内容
  • 实时动态
  • 偏好设置
  • 单栏布局 侧栏位置: