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

来源:互联网 发布:剑三捏脸数据 编辑:程序博客网 时间:2024/04/28 00:15

原文地址:http://liuyanzhao.com/945.html
作为一个独立的个人博客,说说怎么少得了,有时候我们写日志,或者做通告,长不长,短不短的话语总是纠结怎么写成文章,但是为了人性化,像qq空间的说说,emlog的微语以及微博,都是把短语发挥到了极致,无奈wordpress没有这项功能,今天我就教大家添加该功能,非常简单,代码也很少。从此踏上说说的征途吧~
效果图:http://liuyanzhao.com/shuoshuo.html

首先在主题的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样式)复制进去:

    <?php /*        Template Name: 说说        author: 秋叶        url: http://www.mizuiren.com/141.html        */        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://media.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();?>

保存该文档,命名为shuoshuo.php,将其放于主题目录下(记得是主题目录下)。shuoshuo.php里可以修改头像。

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

http://liuyanzhao.com/shuoshuo.html
这里写图片描述

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

如遇代码错误请批量转换全角符号至半角符号。至于分页问题很多人问道,请看这篇文章《解决WordPress自定义页面分页问题》

说说效果图:http://liuyanzhao.com/shuoshuo.htmlcss代码取自于 憧憬博客

原文地址:http://liuyanzhao.com/945.html

0 0
原创粉丝点击