作为一个独立的个人博客,说说怎么少得了,有时候我们写日志,或者做通告,长不长,短不短的话语总是纠结怎么写成文章,但是为了人性化,像qq空间的说说,emlog的微语以及微博,都是把短语发挥到了极致,无奈wordpress没有这项功能,今天我就教大家添加该功能,非常简单,代码也很少。从此踏上说说的征途吧~
首先在主题的functions.php里面加入以下代码:
之后创建一个php文档,把以下内容(顺便附上css样式)复制进去:
保存该文档,命名为shuoshuo.php,将其放于主题目录下(记得是主题目录下)。shuoshuo.php里可以修改头像。
接下来就是进入wordpress后台新建页面,标题写“我的说说”,模版选择“说说”,发布,大功告成,之后可通过后台发表说说了。以上不提供样式,请各位自行设置样式,充分发挥自己的想象力。效果请看
http://liuyanzhao.com/shuoshuo.html
注:如果不想富媒体说说,单纯地写文字的话,可以把最后一段代码中的<?php the_content(); ?>改成<?php the_title(); ?>,这样以后发表说说只要填写标题就可以了,查找起来也比较方便。如果你用<?php the_content(); ?>,那么你发表说说的时候标题和内容要写成一样,以方便查找,如果你只填写内容,那么你在后台查看说说的时候,显示的列表全是无标题,对于修改比较麻烦。
如遇代码错误请批量转换全角符号至半角符号。至于分页问题很多人问道,请看这篇文章《解决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样式)复制进去:
- <?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="https://oss.liuyanzhao.com/uploads/2017/02/zhitianjiahui-e1489667385398.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.html
css代码取自于 憧憬博客
2024年07月02日 17:12:23
谢谢分享。2024年才看到这个,感觉不支持新版的wp了吗?
2024年07月02日 17:14:55
@乱云:不清楚,太久没用WordPress了
2019年01月30日 23:55:38
通过教程成功的实现了说说功能,效果很不错,非常感谢,但是发表说说的时候如果里面带有文章链接的话就会错行显示异常不知道是哪里的原因,有没有办法可以解决呢?
2018年08月03日 21:42:23
问一下怎么实现分页
2018年02月27日 15:26:57
博主为啥我像这样添加然后就在网站的最上面提示乱码了 可以帮我解答一下嘛
2018年01月23日 17:13:34
很强大,试了一下,没想到真的可以了,感谢!
2018年01月10日 00:45:58
博主 php文件 js有一处报错
2017年12月06日 22:06:33
说说可以支持评论功能吗
2017年06月04日 20:56:21
博主你好 我想问一下,可不可以把 说说样式那个白底弄成透明的?http://yunx.08tk.cn/wp-content/uploads/2017/06/QQ截图20170604205248.png 该怎么改? 我是小白 不知道这么说博主能不能明白 :?:
2017年06月04日 22:33:05
可以的,像这样吗?https://liuyanzhao.com/wp-content/uploads/2017/06/QQ截图20170604223001.jpg 你可以刷新一下,看下
2017年06月04日 22:35:04
对的 就是这样 我自己糊弄了好久都没弄好 不知道博主怎么实现的 能不能分享下教程
2017年05月26日 21:51:53
在网上找了半天,没想到在这找到了
2017年05月26日 22:07:17
没事多来看看
2017年05月27日 19:59:48
你这评论者UA显示把我的安卓版本,手机型号都显示出来了 :smile:
2017年05月27日 20:20:50
现在都安卓7.0了吧
2017年05月11日 18:11:42
转走了,感谢博主