無意間在別的博客發(fā)現(xiàn)wordpress可以添加說說功能,和大家分享下,非常簡單,代碼也很少。
首先在主題的functions.php里面加入以下代碼:
//說說
add_action('init', 'my_custom_init'); function my_custom_init() { $labels = array( 'name' => '說說', 'singular_name' => 'singularname', 'add_new' => '發(fā)表說說', 'add_new_item' => '發(fā)表說說', '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); }
之后創(chuàng)建一個php文檔,把以下內(nèi)容(順便附上css樣式)復(fù)制進(jìn)去:
<?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="http://www.zswu.net/zb_users/upload/p.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>
</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里可以修改頭像。
注:如果單純地寫文字的話,可以把最后一段代碼中的<?php the_content(); ?>改成<?php the_title(); ?>,這樣以后發(fā)表說說只要填寫標(biāo)題就可以了,查找起來也比較方便。如果你用<?php the_content(); ?>,那么你發(fā)表說說的時候標(biāo)題和內(nèi)容要寫成一樣,以方便查找,如果你只填寫內(nèi)容,那么你在后臺查看說說的時候,顯示的列表全是無標(biāo)題,對于修改比較麻煩。
接下來就是進(jìn)入wordpress后臺新建頁面,標(biāo)題寫“我的說說”,模版選擇“說說”,發(fā)布,大功告成,之后可通過后臺發(fā)表說說了。以上不提供樣式,請各位自行設(shè)置樣式,充分發(fā)揮自己的想象力。效果請看
注意:如果是三欄的主題的話,就要加上下面的代碼在css里面,不然會出現(xiàn)重疊問題?。?br>
你自己把這個加進(jìn)去吧。
main#main {
float: left;
width: 703px;
}