最近在制作wp主题的过程中,学习了很多网站建设的知识,简单的html+css还可以搞定的,复杂点的php函数就傻眼了。
所以把最近我主题上用到的代码记录下来,以备在以后的主题上使用到。
Comment Mail Notify:把邮件回复功能整合到主题里
/* comment_mail_notify v1.0 by willin kan. (有勾選欄, 由訪客決定) */
function comment_mail_notify($comment_id) {
$admin_notify = '1'; // admin 要不要收回覆通知 ( '1'=要 ; '0'=不要 )
$admin_email = get_bloginfo ('admin_email'); // $admin_email 可改為你指定的 e-mail.
$comment = get_comment($comment_id);
$comment_author_email = trim($comment->comment_author_email);
$parent_id = $comment->comment_parent ? $comment->comment_parent : '';
global $wpdb;
if ($wpdb->query("Describe {$wpdb->comments} comment_mail_notify") == '')
$wpdb->query("ALTER TABLE {$wpdb->comments} ADD COLUMN comment_mail_notify TINYINT NOT NULL DEFAULT 0;");
if (($comment_author_email != $admin_email && isset($_POST['comment_mail_notify'])) || ($comment_author_email == $admin_email && $admin_notify == '1'))
$wpdb->query("UPDATE {$wpdb->comments} SET comment_mail_notify='1' WHERE comment_ID='$comment_id'");
$notify = $parent_id ? get_comment($parent_id)->comment_mail_notify : '0';
$spam_confirmed = $comment->comment_approved;
if ($parent_id != '' && $spam_confirmed != 'spam' && $notify == '1') {
$wp_email = 'no-reply@' . preg_replace('#^www.#', '', strtolower($_SERVER['SERVER_NAME'])); // e-mail 發出點, no-reply 可改為可用的 e-mail.
$to = trim(get_comment($parent_id)->comment_author_email);
$subject = '您在 [' . get_option("blogname") . '] 的留言有了回應';
$message = '
' . trim(get_comment($parent_id)->comment_author) . ', 您好!
您曾在《' . get_the_title($comment->comment_post_ID) . '》的留言:
'
. trim(get_comment($parent_id)->comment_content) . '
' . trim($comment->comment_author) . ' 給您的回應:
'
. trim($comment->comment_content) . '
您可以點擊 查看回應完整內容
歡迎再度光臨 ' . get_option('blogname') . '
(此郵件由系統自動發出, 請勿回覆.)
';
$from = "From: "" . get_option('blogname') . "" <$wp_email>";
$headers = "$fromnContent-Type: text/html; charset=" . get_option('blog_charset') . "n";
wp_mail( $to, $subject, $message, $headers );
//echo 'mail to ', $to, '
' , $subject, $message; // for testing
}
}
add_action('comment_post', 'comment_mail_notify');
/* 自動加勾選欄 */
function add_checkbox() {
echo '';
}
add_action('comment_form', 'add_checkbox');
// -- END ----------------------------------------
把这段代码放入functions.php即可。
解决WordPress分页标题重复问题
max_num_pages); ?> -
直接替代header.php的title标签即可。
不用插件让你的WP标签随机彩色显示
/* 标签彩色显示代码开始 */
function colorCloud($text) {
$text = preg_replace_callback('||i', 'colorCloudCallback', $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = '/style=('|")(.*)('|")/i';
$text = preg_replace($pattern, "style="color:#{$color};$2;"", $text);
return "";
}
add_filter('wp_tag_cloud', 'colorCloud', 1);
/* 标签彩色显示代码结束 */
直接放在functions.php文件即可。
wordpress个性化增加关键词和描述
post_excerpt) {
$description = $post->post_excerpt;
} else {
$description = substr(strip_tags($post->post_content),0,220);
}
$keywords = "";
$tags = wp_get_post_tags($post->ID);
foreach ($tags as $tag ) {
$keywords = $keywords . $tag->name . ", ";
}
} elseif ( is_category() ) {
$description = category_description();
$keywords ="刘元林, 皇家元林, Seven Blog, 7刊, 回忆, 笔记, 工作, 生活, 影片, 杂谈, 翻墙, 自由";
}else{
$description ="刘元林-皇家元林-记录生命的点滴,分享生命的快乐,怀恋以往的回忆,享受网络无国界的自由";
$keywords ="刘元林, 皇家元林, Seven Blog, 7刊, 回忆, 笔记, 工作, 生活, 影片, 杂谈, 翻墙, 自由";
}
?>
放在header.php的head标签里。。。
社会标签:分享按钮代码
分享到: |
这个放在相应位置,具体在哪随便你了!代码中用到的图片我都上传到空间去了,支持外链的,大家随便用。
我正在用的不用插件的pagenavi-翻页导航
在function.php文件加上以下代码:
max_num_pages;}
if($max_page > 1){if(!$paged){$paged = 1;}
if($paged != 1){echo " 返回首页 ";}
previous_posts_link(' 上一页 ');
if($max_page > $range){
if($paged < $range){for($i = 1; $i <= ($range + 1); $i++){echo "$i";}}
elseif($paged >= ($max_page - ceil(($range/2)))){
for($i = $max_page - $range; $i <= $max_page; $i++){echo "$i";}}
elseif($paged >= $range && $paged < ($max_page - ceil(($range/2)))){
for($i = ($paged - ceil($range/2)); $i <= ($paged + ceil(($range/2))); $i++){echo "$i";}}}
else{for($i = 1; $i <= $max_page; $i++){echo "$i";}}
next_posts_link(' 下一页 ');
if($paged != $max_page){echo " 最后一页 ";}}
}
?>
参考CSS样式:
.page_navi{width:100%;height:20px;line-height:20px;text-align:left;overflow:hidden;padding-top:1em;}
.page_navi a{padding:1px 4px;margin:2px;text-decoration:none;color:#888;border:1px solid #ccf;}
.page_navi a:hover,.page_navi a.current{border:1px solid #356aa0;color:#356aa0;}
显示随机文章代码
前台呼叫語法:
以下內容加入functions.php
post_date )){
if ( $list ) $out.= '
- '."n".$out.'
$num_limit = 5 ,修改為要顯示的數量即可。
返回首页按钮平滑滚动特效代码
把这段代码放在footer.php里。。。
然后把这段代码放在相应位置
这个特效是我在一个博客里发现的,具体是谁给忘了,实在不好意思。但是我发现专业的主题在footer.php找不到这段代码,不知道他们是怎么弄的。代码跟域名一样,越短越好。
在single.php加上作者和版权信息
参考CSS样式:
#entry-author-info{overflow:hidden; margin:10px 20px 10px 10px; padding:10px 30px 10px 30px; height: 100%;}
#entry-author-info #author-avatar{float: left; margin-top:10px;}
#entry-author-info #copyright{float: left;margin: 2px 0 0 10px; color: #AAA;}
#author-avatar img.avatar{box-shadow: 0 0 3px #2C2C2C; -moz-box-shadow: 0 0 3px #2C2C2C; -webkit-box-shadow: 0 0 3px #2C2C2C;}
#copyright a, #copyright a:visited{color:#1111CC; text-shadow:1px 1px 1px #999;}
#copyright a:hover{text-decoration:underline; text-shadow:1px 1px 1px #999;}
解决WordPress半角引号变成全角引号问题的方法
修改主题theme下的主题函数functions.php文件,在里面的头部加入下面的代码:
同样这些代码在W7C里都有记载。可能有更好更短的代码,俺还是初学者,只会信手拈来,希望高手们多多指教撒~~~
你的博客主题怎么这样呢,不好看不说,用户体验也不好。打开以后,文章在最下面,反而上面留下了大片的空白。
14年前 · 绍兴 · Unknown Unknown
@绍兴seo 呵呵,居然有这么严重啊!谢谢你的意见。。。
我看你用的是IE6.0,这个浏览器我都不用了,我经常用的是Firefox,不知道你的电脑分辨率多少,我这边1024*768的,用Firefox挺好的。。。
14年前 · 无锡 · Unknown Unknown
你没前途了大哥
14年前 · 韶关 · Unknown Unknown
@风吟 你会算命?
14年前 · 无锡 · Unknown Unknown