WordPress代码教学

用代码去除WordPress 分类连结中的category标志

我们看图片马上就知道意思啰!
用代码去除WordPress 分类连结中的category标志
也就是将外观>>选单>>分类的连结中
本来是这样的形式
http://dhamma.com.tw/category/行销教学/wordpress教学
变成这样的形式
http://dhamma.com.tw/行销教学/wordpress教学

 

开启主题的functions.php贴入以下代码

[cc lang="php"] //用代码去除WordPress 分类连结中的category标志add_action( 'load-themes.php', 'no_category_base_refresh_rules'); add_action('created_category', 'no_category_base_refresh_rules'); add_action('edited_category ', 'no_category_base_refresh_rules'); add_action('delete_category', 'no_category_base_refresh_rules'); function no_category_base_refresh_rules() { global $wp_rewrite; $wp_rewrite -> flush_rules(); } // register_deactivation_hook(__FILE__, 'no_category_base_deactivate'); // function no_category_base_deactivate() { // remove_filter('category_rewrite_rules', 'no_category_base_rewrite_rules'); // // We don't want to insert our custom rules again // no_category_base_refresh_rules(); // } // Remove category base add_action('init ', 'no_category_base_permastruct'); function no_category_base_permastruct() { global $wp_rewrite, $wp_version; if (version_compare($wp_version, '3.4', '<')) { // For pre-3.4 support $wp_rewrite -> extra_permastructs[' category'][0] = '%category%'; } else { $wp_ rewrite -> extra_permastructs['category']['struct'] = '%category%'; } } // Add our custom category rewrite rules add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules'); function no_category_base_rewrite_rules($category_rewrite) { / /var_dump($category_rewrite); // For Debugging $category_rewrite = array(); $categories = get_categories(array('hide_empty' => false)); foreach ($categories as $category) { $category_nicename = $category -> slug; if ($category -> parent == $category -> cat_ID)// recursive recursion $category -> parent = 0; elseif ($category -> parent != 0) $category_nicename = get_category_parents($category -> parent , false, '/', true) . $category_nicename; $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]'; $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/? $'] = 'index.php?category_name=$matches[1]&paged=$matches[2]'; $category_rewrite['(' . $categor y_nicename . ')/?$'] = 'index.php?category_name=$matches[1]'; } // Redirect support from Old Category Base global $wp_rewrite; $old_category_base = get_option('category_base') ? get_option(' category_base') : 'category'; $old_category_base = trim($old_category_base, '/'); $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]' ; //var_dump($category_rewrite); // For Debugging return $category_rewrite; } // Add 'category_redirect' query variable add_filter('query_vars', 'no_category_base_query_vars'); function no_category_base_query_vars($public_query_vars) { $public_query_vars[] = ' category_redirect'; return $public_query_vars; } // Redirect if 'category_redirect' is set add_filter('request', 'no_category_base_request'); function no_category_base_request($query_vars) { //print_r($query_vars); // For Debugging if (isset ($query_vars['category_redirect'])) { $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redir ect'], 'category'); status_header(301); header("Location: $catlink"); exit(); } return $query_vars; } [/cc]

用代码把WordPress上方工具栏移到下方

把WordPress上方工具栏移到下方
效果就是这样

用代码把WordPress上方工具栏移到下方打开主题的functions.php复制以下代码 [cc lang="php"] //用代码把WordPress上方工具栏移到下方 function fb_move_admin_bar() { echo '

'; } // 你想让工具列,显示在后台顶部,请删除这段代码add_action( 'admin_head', 'fb_move_admin_bar' ); //你想让工具列,显示在前台顶部,请删除这段代码add_action( 'wp_head', 'fb_move_admin_bar' ); [/cc]

所有文章

不用外挂,让wordpress图片灯箱效果

wordpress有灯箱效果,是一件非常棒的事情。
首先,先[button text="下载档案" icon="icon-unlink" type="btn-custom" url="https://drive.google.com/open?id=0B7-p5jspsellS3ZlMjhkMXUxZHM" bg_color="# 1BC4DE" bg_hover_color="#00b3ce" txt_color="#ffffff" txt_hover_color="#cef8ff"]
解开来后,会有
fancybox资料夹
把这个资料夹,丢入wordpress当前主题的目录里面
在当前主题的footer.php里面,在上面加入下面代码:
  1. "stylesheet" type="text/css" href="/fancybox/jquery.fancybox.css" />
在当前主题的functions.php里面,在 上面加入下面代码:
 
  1. //wordpress灯箱效果
  2. add_filter('the_content', 'replace_content');
  3. function replace_content ($content){
  4.     global $post;
  5.     $pattern = "/]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(. *?)<\/a>/i";
  6.     $replacement = '$1href=$2$3.$4$5 class="fancybox"$6>$7';
  7.     $content = preg_replace($pattern$replacement$content);
  8.     return $content;
  9. }
现在,你只需要把新增媒体的图片设定「图片网址」
就会有以下灯箱效果啰!

WordPress让分类及标签的页面也实现文章置顶功能

wordpress都有文章置顶的功能不过文章置顶却无法在
分类页面、标签页面,产生文章置顶的功能
如果我想将分类中的「wordpress教学」里面的一篇文章
成为wordpress教学分类的文章置顶。

说明: 这是我文章分类的「wordpress教学」分类页面WordPress让分类及标签的页面也实现置顶文章功能

现在我想将9月2日的「WordPress 角色和权限终极指南(译文-出处国外)
变成文章置顶

WordPress让分类及标签的页面也实现置顶文章功能

设定完成后

 WordPress让分类及标签的页面也实现置顶文章功能

也可以让分类页面有文章置顶功能啰!

WordPress让分类及标签的页面也实现置顶文章功能

现在打开你主题的functions.php

加入以下代码

[cc lang="php"] //WordPress让分类及标签的页面也实现置顶文章功能add_filter('the_posts', 'putStickyOnTop' ); function putStickyOnTop( $posts ) { if(is_home() || !is_main_query( ) || !is_archive()) return $posts; global $wp_query; // 取得所有置顶文章讯息$sticky_posts = get_option('sticky_posts'); if ( $wp_query->query_vars['paged'] <= 1 && ! empty($sticky_posts) && is_array($sticky_posts) && !get_query_var('ignore_sticky_posts') ) { $stickies1 = get_posts( array( 'post__in' => $sticky_posts ) ); foreach ( $stickies1 as $sticky_post1 ) { // 判断是否为分类页if($wp_query->is_category == 1 && !has_category($wp_query->query_vars['cat'], $sticky_post1->ID)) { // 排除不属于本分类的置顶文章$offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_tag == 1 && !has_tag($wp_query->query_vars['tag'], $sticky_post1 ->ID)) { // 排除不属于本标签的文章$offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_year == 1 && date_i18n('Y', strtotime($sticky_p ost1->post_date))!=$wp_query->query['m']) { // 排除不属于本年份的文章$offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$ offset1] ); } if($wp_query->is_month == 1 && date_i18n('Ym', strtotime($sticky_post1->post_date))!=$wp_query->query['m']) { // 排除不属于本月份的文章$offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } if($wp_query->is_day == 1 && date_i18n('Ymd', strtotime($ sticky_post1->post_date))!=$wp_query->query['m']) { // 排除不属于本日期的文章$offset1 = array_search($sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$ offset1] ); } if($wp_query->is_author == 1 && $sticky_post1->post_author != $wp_query->query_vars['author']) { // 排除不属于本作者的文章$offset1 = array_search($ sticky_post1->ID, $sticky_posts); unset( $sticky_posts[$offset1] ); } } $num_posts = count($posts); $sticky_offset = 0; // Loop over posts and relocate stickies to the front. for ( $ i = 0; $i < $num_posts; $i++ ) { if ( in_array($posts[$i]->ID, $sticky_posts) ) { $stick y_post = $posts[$i]; // Remove sticky from current position array_splice($posts, $i, 1); // Move to front, after other stickies array_splice($posts, $sticky_offset, 0, array($sticky_post )); // Increment the sticky offset. The next sticky will be placed at this offset. $sticky_offset++; // Remove post from sticky posts array $offset = array_search($sticky_post->ID, $sticky_posts); unset( $sticky_posts [$offset] ); } } // If any posts have been excluded specifically, Ignore those that are sticky. if ( !empty($sticky_posts) && !empty($wp_query->query_vars['post__not_in'] ) ) $sticky_posts = array_diff($sticky_posts, $wp_query->query_vars['post__not_in']); // Fetch sticky posts that weren't in the query results if ( !empty($sticky_posts) ) { $stickies = get_posts( array( 'post__in ' => $sticky_posts, 'post_type' => $wp_query->query_vars['post_type'], 'post_status' => 'publish', 'nopaging' => true ) ); foreach ( $stickies as $sticky_post ) { array_splice ( $posts, $sticky_offset, 0, array( $st icky_post ) ); $sticky_offset++; } } } return $posts; } [/cc]

用代码让WordPress会员注册成功后,自动登入,并进入指定页面

这个教学主要是谈
当有人在你的wordpress注册成会员后
不需要在输入帐号密码,就会自动登入
(我们有时候申请其他网站会员,成功后,还要在输入一次帐密登入,很麻烦吧)
同时自动转到指定的页面。
这么一来,就产生更多自动化的感觉
让我们开启主题的functions.php贴入

[cc lang="php"] // 会员注册成功后自动登入,并转到指定页面function auto_login_new_user( $user_id ) { wp_set_current_user($user_id); wp_set_auth_cookie($user_id); // 这边我们设定是跳转到首页,你要换成其他页面// 可以将home_url()改成你指定的URL // 如return 'http://amitabhabuddhaya.com.tw'; wp_redirect( home_url() ); exit; } add_action( ' user_register', 'auto_login_new_user' ); [/cc]

用代码使WordPress成员注册成功后跳转到指定页面

你如果希望你的wordpress
在新会员注册成功后,跳转到指定页面。
 
那你开启主题的functions.php加入以下代码
[cc lang="php"]// 成员注册成功后跳转到指定页面function __my_registration_redirect() {// 这边我们设定是跳转到首页,你要换成其他页面// 可以将home_url()改成你指定的URL// 如return 'https://onetruth.com.tw';return home_url();}add_filter( 'registration_redirect', '__my_registration_redirect' );[/cc]

用代码让WordPress的预设角色无法进入后台

譬如:我WordPress的预设角色是订阅者
 用代码让WordPress的预设角色无法进入后台
若你的的wordpress有开放注册。
但你又不希望注册后的「新帐号预设角色」
订阅者可以进入后台,乱逛。

当然他进入后台,跟你进入后台看到的是不一样。
但很多会员网站都希望「会员登入后看到是前端」
而不是好像后台操作的页面感觉。

那你可以使用这个代码
实现WordPress的预设角色无法进入后台
而是直接跳转到首页
 开启主题的functions.php贴入

[cc lang="php"] //用代码让WordPress的预设角色无法进入后台if ( is_admin() && ( !defined( 'DOING_AJAX' ) || !DOING_AJAX ) ) { $current_user = wp_get_current_user(); if ($current_user->roles[0] == get_option('default_role')) { wp_safe_redirect( home_url() ); exit(); } } [/cc]

用代码WordPress实现文章只允许评论留言一次

这是一个非常有趣的功能
只让访问者留言一次
毕竟wordpress的用户非常多,总是会有一些管理上的想法
现在我们可以用代码实现WordPress实现文章只允许评论留言一次
放入主题主题的functions.php中即可

 


[cc lang="php"] // 读取留言评论者的ip,仅参考wp-includes/comment.php function ludou_getIP() { $ip = $_SERVER['REMOTE_ADDR']; $ip = preg_replace( '/ [^0-9a-fA-F:., ]/', '', $ip ); return $ip; } function ludou_only_one_comment( $commentdata ) { global $wpdb; $currentUser = wp_get_current_user(); // 不限制管理员发表留言评论if(empty($currentUser->roles) || !in_array('administrator', $currentUser->roles)) { $bool = $wpdb->get_var("SELECT comment_ID FROM $wpdb->comments WHERE comment_post_ID = ".$commentdata['comment_post_ID']." AND (comment_author = '".$commentdata['comment_author']."' OR comment_author_email = '".$commentdata['comment_author_email']."' OR comment_author_IP = '".ludou_getIP()."') LIMIT 0, 1;"); if($bool) wp_die('我们只允许留言评论一次喔!点击返回'); } return $commentdata; } add_action( 'preprocess_comment' , 'ludou_only_one_comment', 20); [/cc]

WordPress 的错误讯息: You don’t have permission to access post.php

当你上传图片

[cc lang="php"] Http Error [/cc]

或是发表文章、修改文章、发表页面、修改页面出现

[cc lang="php"] You don’t have permission to access /wordpress/wp-admin/post.php on this server. [/cc]

这是 Apache 的 mod_security 造成之错误
这时候你可以在 wp-admin 的目录下新增.htaccess 档案,内容如下:

[cc lang="php"]SecFilterEngine Off SecFilterScanPOST Off[/cc]

这样应该就可以轻松解决了。

WordPress禁用后台Google Open Sans字体,网站加速

总之,关闭不需要的功能,就可以加速
开启主题的functions.php贴入下面代码

[emaillocker][cc lang="php"] /** * WordPress后台禁用Google Open Sans字体,网站加速*/ add_filter( 'gettext_with_context', 'wpdx_disable_open_sans', 888, 4 ); function wpdx_disable_open_sans( $translations, $text , $context, $domain ) { if ( 'Open Sans font: on or off' == $context && 'on' == $text ) { $translations = 'off'; } return $translations; }[/cc] [/emaillocker]

简单用代码实现wordpress显示相关文章

很多人会使用外挂来显示文章内的相关文章
或是使用主题内建的功能,在文章中显示相关文章
但我个人则喜好清爽的显示方法
以及简单的实现方式
也是有人问我,我的相关文章是怎么做出来的
做法很简单,我就来分享一下
开启主题的single.php如下图

简单用代码实现wordpress显示相关文章

在single.php里面找到这段 

简单用代码实现wordpress显示相关文章

后面加入以下代码

[cc lang="php"]

▉▉推荐阅读
    cat_ID; } query_posts('cat=' . $cat . '&orderby=rand&showposts=10'); //控制相關文章排序為隨機,顯示5篇相關文章 while (have_posts()) : the_post(); $thumbnail = wp_get_attachment_image_src(get_post_thumbnail_id(), 'large'); ?>

[/cc]

在你的主题css中加入以下代码

[emaillocker] [cc lang="php"] .wrapper112{ clear: both; height: 100%; position: relative; color: #444; overflow: hidden; border: 0px solid #CCC; border-radius: 5px; font -family: Verdana,Arial,Helvetica,sans-serif; line-height: 26px; font-size: 20px; padding: 5px; } .toky_ooo li a:hover{color:#fff;background:#0099cb;border-color :#0099cb;} .toky_ooo li{float:left;list-style-type:none;-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;} .toky_ooo li a {display:block;width:100%;height:100%;color:#232323;text-decoration:none;background:#f1f1f1;-moz-box-shadow:1px 1px 3px #666;-webkit-box-shadow :1px 1px 3px #666;box-shadow:1px 1px 3px #666;-moz-border-radius:8px;-webkit-border-radius:8px;;margin:6px 5px 9px 0;padding:5px;} [/ cc]

那么你可以自行修改css的样式

[/emaillocker]

用代码压缩wordpress的html页面(通用一切主题)

这是一篇进阶教学,不太懂语法的人,还是别尝试
以免让主题或外挂的功能失效
但你可以尝试看看,也许不会有影响
好处是,加速你网站的速度
概念是这样的,没有使用html压缩时,如下
压缩啰!这样可以让网站速度优化
代码如下
开启主题的functions.php贴入代码

  1. function wp_compress_html()   
  2. {   
  3. function wp_compress_html_main ($buffer)   
  4. {   
  5.     $initial=strlen($buffer);   
  6.     $buffer=explode("", $buffer);   
  7.     $count=count ($buffer);   
  8.     for ($i = 0; $i <= $count; $i++)   
  9.     {   
  10.         if (stristr($buffer[$i], ''))   
  11.         {   
  12.             $buffer[$i]=(str_replace(""" ", $buffer[$i]));   
  13.         }   
  14.         else  
  15.         {   
  16.             $buffer[$i]=(str_replace("\t"" ", $buffer[$i]));   
  17.             $buffer[$i]=(str_replace("\n\n""\n", $buffer[$i]));   
  18.             $buffer[$i]=(str_replace("\n""", $buffer[$i]));   
  19.             $buffer[$i]=(str_replace("\r""", $buffer[$i]));   
  20.             while (stristr($buffer[$i], '  '))   
  21.             {   
  22.             $buffer[$i]=(str_replace("  "" ", $buffer[$i]));   
  23.             }   
  24.         }   
  25.         $buffer_out.=$buffer[$i];   
  26.     }   
  27.     //$final=strlen($buffer_out);  
  28.     //$savings=($initial-$final)/$initial*100;  
  29.     //$savings=round($savings, 2);  
  30.     //$buffer_out.="\n";  
  31.     return $buffer_out;   
  32. }   
  33. ob_start("wp_compress_html_main");   
  34. }   
  35. add_action('get_header', 'wp_compress_html');  

用.htaccess启用GZIP压缩,让wordpress加速

我喜欢使用

 https://developers.google.com/speed/pagespeed/insights/

来测网站速度,进而修正

影响网站速度最关键的其中一点

就是要启用压缩功能

如果你是租用虚拟主机,那你就必需检查,该功能有没有被启用

像有些虚拟主机,再帮你安装wordpress后,就自动启用

那有些虚拟主机,安装完wordpress后,还没启用,如下图

 

有些wordpress外挂也会启用

但我不喜欢使用外挂,会拖垮网站速度

我建议用.htaccess启动Gzip或deflate

进入ftp的根目录,找出.htaccess

若没有,就自己建立一个.htaccess

贴入启用GZIP压缩代码
 
  1.   
  2. # Insert filters   
  3. AddOutputFilterByType DEFLATE text/plain   
  4. AddOutputFilterByType DEFLATE text/html   
  5. AddOutputFilterByType DEFLATE text/xml   
  6. AddOutputFilterByType DEFLATE text/css   
  7. AddOutputFilterByType DEFLATE application/xml   
  8. AddOutputFilterByType DEFLATE application/xhtml+xml   
  9. AddOutputFilterByType DEFLATE application/rss+xml   
  10. AddOutputFilterByType DEFLATE application/javascript   
  11. AddOutputFilterByType DEFLATE application/x-javascript   
  12. AddOutputFilterByType DEFLATE application/x-httpd-php   
  13. AddOutputFilterByType DEFLATE application/x-httpd-fastphp   
  14. AddOutputFilterByType DEFLATE image/svg+xml   
  15.   
  16. # Drop problematic browsers   
  17. BrowserMatch ^Mozilla/4 gzip-only-text/html   
  18. BrowserMatch ^Mozilla/4\.0[678] no-gzip   
  19. BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html   
  20.   
  21. # Make sure proxies don't deliver the wrong content   
  22. Header append Vary User-Agent env=!dont-vary   
  23.   

完成后!

速度明显增加

 

代码关闭wordpress页面评论,关闭wordpress文章评论的完整方法

每个人都有不同的偏好
有些人用wordpress做企业网站,当然就不希望有评论功能碍眼
有些人使用的wordpress主题,有关闭文章留言评论或是页面留言评论功能
但却不是每个主题都有
虽然发表文章或页面,可以设置是否启用或是禁用留言评论,但若文章很多,那就很麻烦

这边,我把我所知的方法提供给大家使用

关闭所有页面评论1

开启主题的functions.php贴入下面代码
  1. //禁用页面的评论留言功能 function disable_page_comments( $posts ) { if ( is_page()) { $posts[0]->comment_status = 'disabled'; $posts[0]->ping_status = 'disabled'; } return $posts; } add_filter( 'the_posts', 'disable_page_comments' );  

关闭所有页面评论2

开启主题的 page.php 档,删除「类似」以下的代码:

[cc lang="php"]

[/cc]

关闭所有文章评论

进入主题的资料夹,选择single.php
搜寻里面「comments_template」
会找到

[cc lang="php"]

[/cc]

你可以删除整段,或者加入//来取消

[cc lang="php"]

[/cc]

用代码实现wordpress评论留言,审核通过寄信给对方信箱

为什么要让来WordPress留言评论,审核通过后,再发送邮件通知呢?
一般人留言完毕后,就不会再回头看了
除非他是问他想知道的问题,但这是少数
所以你若想让评论留言者,再次访问你的网站
你可以使用这个代码 实现
用代码实现wordpress评论留言
审核通过寄信给对方信箱
开启主题的functions.php贴入以下代码

  1. add_action('comment_unapproved_to_approved', 'wpdx_comment_approved');   
  2. function wpdx_comment_approved($comment){   
  3.     if (is_email($comment->comment_author_email)){   
  4.         $post_link = get_permalink($comment->comment_post_ID);   
  5.         $title = '您在【' . get_bloginfo('name') . '】的留言评论通过审核';   
  6.     
  7.         $body = '您在《"' . $post_link . '" target="_blank" >' . get_the_title($comment->comment_post_ID) . '》中发表的留言评论通过审核! ';   
  8.         $body .= '您的留言评论:';   
  9.         $body .= strip_tags($comment->comment_content) . '';   
  10.         $body .= '您可以:"' . get_comment_link($comment->comment_ID) . '" target="_blank">查看您的评论  |  "' . $post_link . '#comments" target="_blank">查看其他评论  |  "' . $post_link . '" target="_blank">再次阅读文章';   
  11.         $body .= '欢迎再次光临【"' . get_bloginfo('url') . '" target="_blank" title="' . get_bloginfo('description') . '">' . get_bloginfo('name') . '】。 ';   
  12.         $body .= '注:此信件为系统自动发送,请勿直接回复';   
  13.     
  14.         @wp_mail($comment->comment_author_email, $title, $body, "Content-Type: text/html; charset=UTF-8");   
  15.     }   
  16. }  
让WordPress小工具中的文字运行PHP代码

让WordPress小工具中的文字运行PHP代码

WordPress的小工具中文字,是可以加入任意HTML代码
但却无法运行PHP代码,
所以你将php代码加入到文字小工具中却不能运行
虽有一些外挂可以解决问题,
但能用代码实现,是更有效率的
将以下代码加入到主题的functions.php文件:

  1. add_filter('widget_text', 'php_text', 99);   
  2. function php_text($text) {   
  3. if (strpos($text, '<' . '?') !== false) {   
  4. ob_start();   
  5. eval('?' . '>' . $text);   
  6. $text = ob_get_contents();   
  7. ob_end_clean();   
  8. }   
  9. return $text;   
  10. }  
后记,这是因为我自己的所用的主题,里面有很多小工具没有的
譬如说,我的小工具是没有「标签云」
那我若想用小工具来显示标签云,就是输入标签云的代码
  1.   
放在小工具的文字里面,那就可以显示标签云啰!

用代码让wordpress标签云,变成漂亮的标签云

我这边提供二种样式给看家使用,

第一种样式

不用外挂,用代码实现漂亮wordpress标签云,开启主题的functions.php

贴入以下代码

  1. function colorCloud($text) {     
  2. $text = preg_replace_callback('||i', 'colorCloudCallback', $text);     
  3. return $text;     
  4. }     
  5. function colorCloudCallback($matches) {     
  6. $text = $matches[1];     
  7. $colors = array('F99','C9C','F96','6CC','6C9','37A7FF','B0D686','E6CC6E');     
  8. $color=$colors[dechex(rand(0,7))];    
  9. $pattern = '/style=(\'|\")(.*)(\'|\")/i';   
  10. $text = preg_replace($pattern, "style=\"display: inline-block; *display: inline; *zoom: 1; color: #fff; padding: 1px 5px; margin: 0 5px 5px 0; background-color: #{$color}; border-radius: 3px; -webkit-transition: background-color .4s linear; -moz-transition: background-color .4s linear; transition: background-color .4s linear;\"", $text);     
  11. $pattern = '/style=(\'|\")(.*)(\'|\")/i';   
  12. return "";     
  13. }     
  14. add_filter('wp_tag_cloud', 'colorCloud', 1);  

第二种样式

实现帅气wordpress的标签云做法
用代码实现帅气wordpress的标签云,开启主题的functions.php
贴入以下代码
  1. function colorCloud($text) { // 实现彩色标签云    
  2.         $text = preg_replace_callback('||i', 'colorCloudCallback', $text);      
  3.         return $text;      
  4.     }      
  5.     function colorCloudCallback($matches) {      
  6.         $text = $matches[1];      
  7.         $color = dechex(rand(0,16777215));      
  8.         $pattern = '/style=(\'|\")(.*)(\'|\")/i';    
  9.         $text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text);      
  10.         return "";      
  11.     }      
  12.     add_filter('wp_tag_cloud', 'colorCloud', 1);  
注:若想在任意地方加入标签云,可以使用标签云的代码
如下
  1.   
  2. 8&largest=22′); ?>   

 

关闭wordpress的内建搜寻,启用google搜寻,降低主机负担

不使用wordpress的内建搜寻
改用google搜寻功能ˊ
此方法,好处只是能降低「虚拟主机的负担
做法很简单
步骤一
开始主题的functions.php
贴下以下代码

[cc lang="php"] //纯代码实现wordpress关闭内置的站内搜索function junzibuqi_com_sousuo( $query, $error = true ) { if ( is_search() ) { $query->is_search = false; $query-> query_vars[s] = false; $query->query[s] = false; if ( $error == true ) $query->is_404 = true; } } add_action( 'parse_query', 'junzibuqi_com_sousuo' ); add_filter( ' get_search_form', create_function( '$a', "return null;" ) ); [/cc]

这样就可以关闭站内搜寻
步骤二
到wordpress后台
页面
新增页面
新增一个search的搜寻页面,同时连结也要是「search」
如下图

Google自订搜寻 整合到WordPress页面中

步骤三
1.到Google自订搜寻引擎「申请网址https://cse.google.com/cse/

Google自订搜寻 整合到WordPress页面中

2.[新增搜寻引擎]输入「你的网站网址

重要提示「通常我们以整个网站为主
您可以加入下列条件:
整个网站:www.mysite.com/*
步骤四、选「控制台」

1.选择「外观与风格
2.选择「完整宽度

3.最后「储存并取得程式码」如下图

复制一常串的代码
步骤五-复制以下代码到wodpress的外观的小工具
新增「小工具」里面的「文字」到侧边栏

[cc lang="css"]

[/cc]


再你的主题增加以下css


[cc lang="php"] .sidebar-searchform { float: left; position: relative; width: 100%; margin: 0px; } .sidebar-searchform > div { padding: 0 37px 0 0; } .sidebar-searchform input[type=text] { width: 100%; padding: 8px 8px; line-height: 20px; margin: 0px; } .sidebar-searchform input[type=submit] { top: 0px; right: 0px; padding: 0 ; position: absolute; width: 38px; height: 38px; border: none; outline: 0 !important; background-color: #9c1f1f; background-image: url('http://dhamma.com.tw/wp-content /themes/a/img/search_icon.png'); background-size: 26px 26px; background-position: center; background-repeat: no-repeat; -webkit-transition: background-color 500ms; -moz-transition: background -color 500ms; -o-transition: background-color 500ms; transition: background-color 500ms; } .widget_product_search form { padding: 0 37px 0 0; position: relative; } .widget_product_search .screen-reader-text { display: none ; } .widget_product_search input[type="search"] { width: 100%; height: 38px; } .widget_produc t_search input[type="submit"] { top: 0px; right: 0px; padding: 0; position: absolute; width: 38px; height: 38px; border: none; background-color: #9c1f1f; background-size: 26px 26px; background-position: center; background-repeat: no-repeat; text-indent: 10000px; background-image: url('http://dhamma.com.tw/wp-content/themes/a/img/search_icon .png'); } .sidebar-searchform input[type=submit]:hover, .widget_product_search input[type="submit"]:hover { background-color: #1a1a1a; } @media only screen and (-Webkit-min -device-pixel-ratio: 1.5), only screen and (-moz-min-device-pixel-ratio: 1.5), only screen and (-o-min-device-pixel-ratio: 3/2), only screen and (min-device-pixel-ratio: 1.5) { .sidebar-searchform input[type=submit], .widget_product_search input[type="submit"] { background-image: url('http://dhamma.com. tw/wp-content/themes/a/img/Email住址会使用灌水程式保护机制。你需要启动Javascript才能观看它'); } } [/cc]

总结1:将会有以下效果

总结2:若要更改搜寻结果的颜色,请回到[外观和风格]选「自订
即可更改成你要的结果