当文章较短时,采用类似于微博,QQ说说,人人状态等的方式,能够得到更好的可视化体验. 网上搜索到相关的操作方式是,创建一个说说页面. 尝试了很多次,终于摆弄成功. 特此记录. 参考:wordpress如何加一个说说页面 基于主题:Kratos.

说说页面的创建,主要处理三个文件:

  • 修改 functions.php
  • 新增 shuoshuo.php
  • 新增 shuoshuo.css

其中,functions.php 是WordPress 主题自带函数文件.

<h2>1. 修改 function.php - 添加 shuoshuo 函数</h2>

在主题的 function.php 文件的最后,如 Kratos 主题文件夹中的 function.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' =&gt; $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); }

<h2>2. 新增 shuoshuo.php 文件</h2>

在主题目录文件夹中,如 Kratos 主题文件夹,新增 shuoshuo.php 文件,内容如下:

<?php /* Template Name: 说说 url: https://www.aiuai.cn/shuoshuo */ get_header(); get_header('banner'); ?> <link href="/wp-content/themes/Kratos/shuoshuo.css" rel="stylesheet"> <div class="shuoshuo"> <ul class="archives-monthlisting"> <?php query_posts("post_type=shuoshuo&post_status=publish&posts_per_page=-1");if (have_posts()) : while (have_posts()) : the_post(); ?> <li><span class="tt"><?php the_time('YnjG:i'); ?></span> <div class="shuoshuo-content"><?php the_content(); ?><br/><div class="shuoshuo-meta"></div></div><?php endwhile;endif; ?></li> </ul> </div> <?php get_footer();?>

这里,说说内容显示的文章格式的内容.
也可以替换 the_content()the_title(),以文章标题作为说说内容.

<h2>3. 新增 shuoshuo.css 文件</h2>

在主题目录文件夹中,如 Kratos 主题文件夹,新增 shuoshuo.css 文件,设置说说的显示样式,内容如下:

.shuoshuo { position: relative; margin: 50px 0; } .shuoshuo li { padding: 8px 0; display: block; } .shuoshuo-content { box-shadow: 0 0 3px RGBA(0,0,0,.15); background-color: #f8f8f8; border:1px #eee solid; border-radius: 4px; font-size: 1em; line-height:2.3em; margin:0 150px 0 200px; letter-spacing: 1px; padding: 20px 20px 5px 30px; color: #666; min-height:60px; position: relative; white-space: pre; / CSS 2.0 / white-space: pre-wrap; / CSS 2.1 / white-space: pre-line; / CSS 3.0 / white-space: -pre-wrap; / Opera 4-6 / white-space: -o-pre-wrap; / Opera 7 / white-space: -moz-pre-wrap; / Mozilla / white-space: -hp-pre-wrap; / HP Printers / word-wrap: break-word; / IE 5+, 文本行的任意字内断开 / } .shuoshuo-content p{margin:0;} /作者/ .shuoshuo-meta { text-align: right; letter-spacing: 0px; margin-top:-85px; } .toolbar{display:none} /时间/ /.shuoshuo .tt{margin: 35px 0 0 15px;float:left;font-size:0.9em;}/ /.shuoshuo li em{float:left;background:url("//www.100day.cc/wp-content/themes/frontopen2_v1.5.04.15/images/bolangxian.png") no-repeat;width:50px;height:10px;margin:42px 0 0 28px;}/ /.shuoshuo li:hover .tt {color:#0c0;font-weight:bold;} / /头像/ .shuoshuo .zhutou{ border-radius: 50%; margin: 25px 35px 0 5px; float:right; padding: 2px; border: 1px #ddd solid; display: block; transition: .5s; width: 40px; height: 40px; overflow:hidden; } .shuoshuo li:hover .zhutou { transform: rotate(720deg); -webkit-transform: rotate(720deg); -moz-transform: rotate(720deg); border-color: #0c0; } /前面的轴/ .shuoshuo:before { height: 100%; width: 2px; background: #eee; position: absolute; left: 164px; content: ""; top:0px; } .shuoshuo-content:before { position: absolute; top: 40px; bottom: 0px; left: -42px; background: #fff; height: 12px; width: 12px; border-radius: 6px; content: ""; box-shadow: inset 0 0 2px #0c0; } .shuoshuo-content:after { position: absolute; top: 42px; bottom: 0px; left: -40px; background: #ccc; height: 8px; width: 8px; border-radius: 6px; content: ""; } .shuoshuo li:hover .shuoshuo-content:after { background: #0c0; -webkit-transform: scale(1.3); -moz-transform: scale(1.3); -ms-transform: scale(1.3); -o-transform: scale(1.3); } .shuoshuo li:hover .shuoshuo-content:before { -webkit-transform: scale(1.3); -moz-transform: scale(1.3); -ms-transform: scale(1.3); -o-transform: scale(1.3);} /后面的轴/ .shuoshuo:after { height: 100%; width: 2px; background: #eee; position: absolute; right: 100px; content: ""; top:0px; } .shuoshuo-meta:before { position: absolute; top: 42px; bottom: 0px; right: -56px; background: #fff; height: 12px; width: 12px; border-radius: 6px; content: ""; z-index:2; box-shadow: inset 0 0 2px #0c0; } .shuoshuo-meta:after { position: absolute; top: 44px; bottom: 0px; right: -54px; background: #ccc; height: 8px; width: 8px; z-index:2; border-radius: 6px; content: ""; } .shuoshuo li:hover .shuoshuo-meta:after { background: #0c0; } @media screen and (min-width:1080px){ .shuoshuo{ width:1060px; margin:50px auto } } @media screen and (max-width: 800px) { .shuoshuo-content {margin:0 60px 0 70px;padding: 10px 10px 5px 10px;font-size:0.9em;} .shuoshuo .tt{width:30px;font-weight:bold;margin: 30px 0 0 1px;font-size:0.5em;height: 20px;} .shuoshuo li:hover .tt {color:#0c0;font-size:0.5em;} .shuoshuo:before {left: 50px;} .shuoshuo-content:before {left: -26px;top:30px;} .shuoshuo-content:after {left: -24px;top:32px;} .shuoshuo:after {right: 27px;} .shuoshuo-meta:before {right: -39px;top:33px;} .shuoshuo-meta:after {right: -37px;top:35px;} .shuoshuo .zhutou{margin: 17px 5px 0 5px;} .shuoshuo li em{float:left;width:39px;height:10px;margin:34px 0 0 -1px;} }

根据自己喜好,可自定义 shuoshuo.css文件.

<h2>4. 后台添加说说页面</h2>

以上三个文件在主题目录下操作完成后,
在 WordPress 后台,"页面 - 新建页面",命名为 "测试说说“,页面模板选择 "说说".
即可发布说说.

如:

https://www.aiuai.cn/aishuo.html
Last modification:October 9th, 2018 at 09:31 am