DUX主题我应该用了两年。不定期更新
一、自带功能:
1.代码高亮,在需要代码高亮的地方,切换到文本,并且将代码用下面的方式包起来:
<pre class="prettyprint linenums">Your code.</pre>
如果不显示行号,请将class中的linenums
去掉
二、扩展功能:
1.将知更鸟begin主题的评论等级整合到dux
在functions-theme.php中新增如下代码:
function get_author_class($comment_author_email, $user_id){ global $wpdb; $author_count = count($wpdb->get_results( "SELECT comment_ID as author_count FROM $wpdb->comments WHERE comment_author_email = '$comment_author_email' ")); if ($user_id != '1'){ if($author_count>=1 && $author_count< 5) echo '<div class="vip0" title="评论达人 LV.0"><i class="fa fa-vimeo-square"></i><span class="lv">0</span></div>'; else if($author_count>=5 && $author_count< 20) echo '<div class="vip1" title="评论达人 LV.1"><i class="fa fa-vimeo-square"></i><span class="lv">1</span></div>'; else if($author_count>=20 && $author_count< 40) echo '<div class="vip2" title="评论达人 LV.2"><i class="fa fa-vimeo-square"></i><span class="lv">2</span></div>'; else if($author_count>=40 && $author_count< 60) echo '<div class="vip3" title="评论达人 LV.3"><i class="fa fa-vimeo-square"></i><span class="lv">3</span></div>'; else if($author_count>=60 && $author_count< 80) echo '<div class="vip4" title="评论达人 LV.4"><i class="fa fa-vimeo-square"></i><span class="lv">4</span></div>'; else if($author_count>=80&& $author_count<120) echo '<div class="vip5" title="评论达人 LV.5"><i class="fa fa-vimeo-square"></i><span class="lv">5</span></div>'; else if($author_count>=120&& $author_count< 220) echo '<div class="vip6" title="评论达人 LV.6"><i class="fa fa-vimeo-square"></i><span class="lv">6</span></div>'; else if($author_count>=220) echo '<div class="vip7" title="评论达人 LV.7"><i class="fa fa-vimeo-square"></i><span class="lv">7</span></div>'; } }
在modules/mo_comments_list.php
添加如下代码:
echo '<div class="comt-meta"><span class="comt-author">'.get_comment_author_link().'</span>'; get_author_class($comment->comment_author_email,$comment->user_id); if(user_can($comment->user_id, 1)){ echo '<div class="vip" title="博主认证"><i class="fa fa-vimeo-square"></i>博主</div>'; }; echo _get_time_ago($comment->comment_date);
在main.css中的末尾添加如下样式:
.vip0,.vip1,.vip2,.vip3,.vip4,.vip5,.vip6,.vip7,.vip{font-weight:bold;display:inline-block;margin-right:5px;font-size:13px;opacity:.9}[class*=vip]:hover{opacity:.7}.vip0{color:#bbb}.vip1{color:#348be8}.vip2{color:#0896a1}.vip3{color:#fc15b2}.vip4{color:#7ba0b6}.vip5{color:#ff6e00}.vip6{color:#6ec400}.vip7{color:#e40000}.vip{color:#d76e00}/*颜色可以根据自己喜爱更改*/ .lv { font-size: 13px; padding-left: 3px; }
2.右侧方格小工具的实现:
将DUX本身的小工具”D-广告”直接稍做改动即可:
首先,在main.css的末尾新增如下样式:
.ebox{overflow:hidden;font-size:12px;text-align:center;background-color:#fff} .ebox-i{position:relative;float:left;width:50%;padding:15px 15px 20px;background-color:#fff;color:#777;border-bottom:1px dashed #ddd} .ebox-01,.ebox-03{border-right:1px dashed #ddd} .ebox-i:hover{background-color:#F9F9F9} .ebox-100{width:100%;margin-bottom:0;border-bottom:none} .ebox-i p{height:36px;overflow:hidden;color:#bbb}
在后台小工具中添加”D-广告”加入以下代码实现右侧四方格的效果。
<div class="item"> <ul class="ebox"> <li class="ebox-i ebox-01"> <h4>SpringBoot</h4> <p>Spring Boot是用来简化新Spring应用的初始搭建以及开发过程</p> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.cco.xyz">专题</a> <a class="btn btn-default btn-sm" target="_blank" href="https://www.cco.xyz">查看演示</a></li> <li class="ebox-i ebox-02"> <h4>Thymeleaf</h4> <p>新一代的HTML5模版引擎</p> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.cco.xyz">专题</a> <a class="btn btn-default btn-sm" target="_blank" href="https://www.cco.xyz">查看演示</a></li> <li class="ebox-i ebox-03"> <h4>Hadoop</h4> <p>分布式存储计算服务</p> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.cco.xyz">专题</a></li> <li class="ebox-i ebox-04"> <h4>Linux</h4> <p>非常稳定的服务器操作系统</p> <a class="btn btn-primary btn-sm" target="_blank" href="https://www.cco.xyz">专题</a></li> <li class="ebox-i ebox-100"> <h4>码农志</h4> <p>专注分享码农成长学习的技术博客</p> <a class="btn btn-danger btn-sm" target="_blank" href="https://www.cco.xyz">点击进入</a> <!-- <a class="btn btn-default btn-sm" href="https://www.cco.xyz/">咨询排期</a> --></li> </ul> </div>
保存后,请查看效果。
3.自动推送文章到百度
/** * WordPress发布文章主动推送到百度,加快收录保护原创【WordPress通用方式】 * 文章地址:https://zhangge.net/5041.html */ if(!function_exists('Baidu_Submit')){ function Baidu_Submit($post_ID) { $WEB_TOKEN = '1rnLYi666IYTbXAz'; //这里请换成你的网站的百度主动推送的token值 $WEB_DOMAIN = get_option('home'); //已成功推送的文章不再推送 if(get_post_meta($post_ID,'Baidusubmit',true) == 1) return; $url = get_permalink($post_ID); $api = 'http://data.zz.baidu.com/urls?site='.$WEB_DOMAIN.'&token='.$WEB_TOKEN; $request = new WP_Http; $result = $request->request( $api , array( 'method' => 'POST', 'body' => $url , 'headers' => 'Content-Type: text/plain') ); $result = json_decode($result['body'],true); //如果推送成功则在文章新增自定义栏目Baidusubmit,值为1 if (array_key_exists('success',$result)) { add_post_meta($post_ID, 'Baidusubmit', 1, true); } } add_action('publish_post', 'Baidu_Submit', 0); }
/** * WordPress百度搜索自动推送、主动收录JS优化 By 张戈博客 * 文章地址:http://zhangge.net/5100.html * 转载请保留出处,谢谢合作! **/ add_action( 'wp_footer', 'bdPushData', 999); //检查百度是否已收录最新改进版本 if(!function_exists('baidu_check_record')){ function baidu_check_record($url){ global $wpdb; $post_id = ( null === $post_id ) ? get_the_ID() : $post_id; $baidu_record = get_post_meta($post_id,'baidu_record',true); if( $baidu_record != 1){ $url='http://www.baidu.com/s?wd='.$url; $curl=curl_init(); curl_setopt($curl,CURLOPT_URL,$url); curl_setopt($curl,CURLOPT_RETURNTRANSFER,1); $rs=curl_exec($curl); curl_close($curl); //如果抓取到的百度结果中不存在【提交网址】这个关键词,则认为该页面已被百度收录 if(!preg_match_all('/提交网址/u',$rs,$matches) && preg_match_all('/百度为您找到相关结果/u',$rs, $matches)){ update_post_meta($post_id, 'baidu_record', 1) || add_post_meta($post_id, 'baidu_record', 1, true); return 1; } else { return 0; } } else { return 1; } } }
//输出百度自动推送js代码 if(!function_exists('bdPushData')){ function bdPushData() { if ($_SERVER['HTTPS'] != "on") { $currentUrl = 'http://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]; } else { $currentUrl = 'https://'.$_SERVER['HTTP_HOST'].$_SERVER["REQUEST_URI"]; } //判断是否是未收录页面,并且当前页面是否等于正规url地址(get_premalink) if(baidu_check_record(get_permalink()) == 0 && $currentUrl == get_permalink()) { echo "<script>(function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(bp, s); })();</script>"; } } }
3.外链转内链