【wordpress教程】给博客添加说说功能和微语功能

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

效果

[wm_wpbutton link="https://www.dujia520.cn/23137-2" target="blank" variation="blue"]说说功能[/wm_wpbutton]

教程开始

第一步:添加到functions.php里

//新建说说功能 
add_action('init', 'my_custom_init');
function my_custom_init()
{ $labels = array( 'name' => '说说',
'singular_name' => '说说',
'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,
'exclude_from_search' =>true,
'query_var' => true,
'rewrite' => true, 'capability_type' => 'post',
'has_archive' => false, 'hierarchical' => false,
'menu_position' => null,
'taxonomies'=> array('category','post_tag'),
'supports' => array('editor','author','title', 'custom-fields','comments') );
register_post_type('shuoshuo',$args);
}

第二步添加PHP文件

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

<?php /*
    Template Name: 说说碎语
      */
    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="https://www.XXXX.cn/wp-content/uploads/2017/03/5201314_avatar-96x96.jpg" 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();?>


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

说明

如果只想单纯的写文字的话,可以把第150行代码中的<?php the_content(); ?>改成<?php the_title(); ?>,这样发表说说只要填写标题就可以了,查找起来也比较方便。如果用<?php the_content(); ?>,那么发表说说的时候标题和内容要写成一样,方便查找,如果只填写内容,那么在后台查看说说的时候,显示的列表全是无标题。

第三步添CSS样式

/* 说说css代码 */
   #shuoshuo_content {
       background-color: #fff;
       padding: 10px;
       min-height: 500px;
   }
   //说说
   body.theme-dark .bsy_timeline::before {
       background: RGBA(255, 255, 255, 0.06);
   }
   ul.bsy_timeline {
       padding: 0;
   }
   div class.bsy_tmlabel > li .bsy_tmlabel {
       margin-bottom: 0;
   }
   .bsy_timeline {
       margin: 30px 0 0 0;
       padding: 0;
       list-style: none;
       position: relative;
   }
   //时间
   .bsy_timeline > li .bsy_tmtime {
       display: block;
       max-width: 70px;
       position: absolute;
   }
   .bsy_timeline > li .bsy_tmtime span {
       display: block;
       text-align: rightright;
   }
   .bsy_timeline > li .bsy_tmtime span:first-child {
       font-size: 0.9em;
       color: #bdd0db;
   }
   .bsy_timeline > li .bsy_tmtime span:last-child {
       font-size: 1.2em;
       color: #9bcd9b;
   }
   .bsy_timeline > li:nth-child(odd) .bsy_tmtime span:last-child {
       color: rgba(255, 125, 73, 0.75);
   }
   div.bsy_tmlabel > p {
       margin-bottom: 0;
   }
   //说说内容
   .bsy_timeline > li .bsy_tmlabel {
       margin: 0 0 45px 65px;
       background: #9bcd9b;
       color: #fff;
       padding: .8em 1.2em .4em 1.2em;
       line-height: 1.4;
       position: relative;
       border-radius: 8px;
       transition: all 0.3s ease 0s;
       box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
       display: block;
   }
   .bsy_tmlabel:hover {
       transform: translateY(-3px);
       z-index: 1;
       -webkit-box-shadow: 0 15px 32px rgba(0, 0, 0, 0.15) !important
   }
   .bsy_timeline > li:nth-child(odd) .bsy_tmlabel {
       background: rgba(255, 125, 73, 0.75);
   }
   //三角
   .bsy_timeline > li .bsy_tmlabel:after {
       rightright: 100%;
       border: solid transparent;
       content: " ";
       height: 0;
       width: 0;
       position: absolute;
       pointer-events: none;
       border-right-color: #9bcd9b;
       border-width: 10px;
       top: 10px;
   }
   .bsy_timeline > li:nth-child(odd) .bsy_tmlabel:after {
       border-right-color: rgba(255, 125, 73, 0.75);
   }
   .shuoshuo_time {
       margin-top: 10px;
       border-top: 1px dashed #eaeaea;
       padding-top: 6px;
   }
   //头像
   @media screen and (max-width: 65em) {
       .bsy_timeline > li .bsy_tmtime span:last-child {
           font-size: 1.3em;
       }
   }
   .author_tou img {
       border: 1px solid #ccc;
       padding: 2px;
       float: left;
       border-radius: 8px;
       transition: all 1.0s;
   }
 .zhuan {
        transform: rotateZ(720deg);
        -webkit-transform: rotateZ(720deg);
        -moz-transform: rotateZ(720deg);
    }

把以上css代码添加到 style.css 文件里

使用方法

进入 WordPress 后台,新建“说说”页面,模版选择之前创建的“说说”模版,之后就可以发表说说了。

直接下载

[wm_gzh keyword="关键字" key="dujia520"] 下载地址 https://www.lanzous.com/i9vlo6b[/wm_gzh]