一日程——纯代码给wordpress博客添加说说/微博/微语功能

作者: ricksteves 分类: wordpress 发布时间: 2019-07-02 00:04

一、首先在主题的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: ricksteves url: https://yiricheng.com */ 
get_header(); ?>

<div id="primary" class="content-area" style="">
    <main id="main" class="site-main" role="main">
	<div id="entry-content">
        <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://yiricheng.com/wp-content/uploads/2019/07/greenland.jpg" class="avatar avatar-48" width="48" height="48"></span> 
                    <a class="cbp_tmlabel" href="javascript:void(0)">
                        <p></p>
                        <p><?php the_title(); ?></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>
		 </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();?>

保存该文档,命名为suisuinian.php,将其放于主题目录下。
接下来就是进入wordpress后台新建页面,标题写“碎碎念”,模版选择“碎碎念”,发布,大功告成,之后可通过后台发表说说了。

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

/* shuo */
       #shuoshuo_content {
       background-color: #fff;
       padding: 10px;
       min-height: 500px;
	   padding-right: 30px;
   }

   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: #9bcd9b2b;
       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: #7bc1f14f;
   }
  
   /* 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);
   }

发表评论

电子邮件地址不会被公开。 必填项已用*标注