我們看圖片馬上就知道意思囉!
也就是將外觀>>選單>>分類的連結中
本來是這樣的形式
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['(' . $category_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_redirect'], 'category'); status_header(301); header("Location: $catlink"); exit(); } return $query_vars; } [/cc]
所有文章
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裡面,在上面加入下面代碼:
- "stylesheet" type="text/css" href="/fancybox/jquery.fancybox.css" />
在當前主題的functions.php裡面,在 上面加入下面代碼:
- //wordpress燈箱效果
- add_filter('the_content', 'replace_content');
- function replace_content ($content){
- global $post;
- $pattern = "/<a(.*?)href=('|\")([^>]*).(bmp|gif|jpeg|jpg|png)('|\")(.*?)>(.*?)<\/a>/i";
- $replacement = '<a$1href=$2$3.$4$5 class="fancybox"$6>$7';
- $content = preg_replace($pattern, $replacement, $content);
- return $content;
- }
現在,你只需要把新增媒體的圖片設定「圖片網址」
就會有以下燈箱效果囉!
wordpress都有文章置頂的功能不過文章置頂卻無法在
分類頁面、標籤頁面,產生文章置頂的功能
如果我想將分類中的「wordpress教學」裡面的一篇文章
成為wordpress教學分類的文章置頂。
現在我想將9月2日的「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_post1->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) ) { $sticky_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( $sticky_post ) ); $sticky_offset++; } } } return $posts; } [/cc]
這個教學主要是談
當有人在你的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
在新會員註冊成功後,跳轉到指定頁面。
那你開啟主題的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的預設角色無法進入後台
而是直接跳轉到首頁
開啟主題的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實現文章只允許評論留言一次
放入主題主題的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]
當你上傳圖片
[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"]
這樣應該就可以輕鬆解決了。
總之,關閉不需要的功能,就可以加速
開啟主題的 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]
很多人會使用外掛來顯示文章內的相關文章
或是使用主題內建的功能,在文章中顯示相關文章
但我個人則喜好清爽的顯示方法
以及簡單的實現方式
也是有人問我,我的相關文章是怎麼做出來的
做法很簡單,我就來分享一下
開啟主題的single.php如下圖
在single.php裡面找到這段
後面加入以下代碼
[cc lang="php"]
▉▉推薦閱讀
[/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]
這是一篇進階教學,不太懂語法的人,還是別嘗試
以免讓主題或外掛的功能失效
但你可以嘗試看看,也許不會有影響
好處是,加速你網站的速度
概念是這樣的,沒有使用html壓縮時,如下
壓縮囉!這樣可以讓網站速度優化
代碼如下
開啟主題的functions.php貼入代碼
- function wp_compress_html()
- {
- function wp_compress_html_main ($buffer)
- {
- $initial=strlen($buffer);
- $buffer=explode("<!--wp-compress-html-->", $buffer);
- $count=count ($buffer);
- for ($i = 0; $i <= $count; $i++)
- {
- if (stristr($buffer[$i], '<!--wp-compress-html no compression-->'))
- {
- $buffer[$i]=(str_replace("<!--wp-compress-html no compression-->", " ", $buffer[$i]));
- }
- else
- {
- $buffer[$i]=(str_replace("\t", " ", $buffer[$i]));
- $buffer[$i]=(str_replace("\n\n", "\n", $buffer[$i]));
- $buffer[$i]=(str_replace("\n", "", $buffer[$i]));
- $buffer[$i]=(str_replace("\r", "", $buffer[$i]));
- while (stristr($buffer[$i], ' '))
- {
- $buffer[$i]=(str_replace(" ", " ", $buffer[$i]));
- }
- }
- $buffer_out.=$buffer[$i];
- }
- //$final=strlen($buffer_out);
- //$savings=($initial-$final)/$initial*100;
- //$savings=round($savings, 2);
- //$buffer_out.="\n<!--壓縮前: $initial bytes; 壓縮前後: $final bytes; 节约:$savings% -->";
- return $buffer_out;
- }
- ob_start("wp_compress_html_main");
- }
- add_action('get_header', 'wp_compress_html');
我喜歡使用
https://developers.google.com/speed/pagespeed/insights/
來測網站速度,進而修正
影響網站速度最關鍵的其中一點
就是要啟用壓縮功能
如果你是租用虛擬主機,那你就必需檢查,該功能有沒有被啟用
像有些虛擬主機,再幫你安裝wordpress後,就自動啟用
那有些虛擬主機,安裝完wordpress後,還沒啟用,如下圖
有些wordpress外掛也會啟用
但我不喜歡使用外掛,會拖垮網站速度
我建議用.htaccess啟動Gzip或deflate
進入ftp的根目錄,找出.htaccess
若沒有,就自己建立一個.htaccess
貼入啟用GZIP壓縮代碼
- <IfModule mod_deflate.c>
- # Insert filters
- AddOutputFilterByType DEFLATE text/plain
- AddOutputFilterByType DEFLATE text/html
- AddOutputFilterByType DEFLATE text/xml
- AddOutputFilterByType DEFLATE text/css
- AddOutputFilterByType DEFLATE application/xml
- AddOutputFilterByType DEFLATE application/xhtml+xml
- AddOutputFilterByType DEFLATE application/rss+xml
- AddOutputFilterByType DEFLATE application/javascript
- AddOutputFilterByType DEFLATE application/x-javascript
- AddOutputFilterByType DEFLATE application/x-httpd-php
- AddOutputFilterByType DEFLATE application/x-httpd-fastphp
- AddOutputFilterByType DEFLATE image/svg+xml
- # Drop problematic browsers
- BrowserMatch ^Mozilla/4 gzip-only-text/html
- BrowserMatch ^Mozilla/4\.0[678] no-gzip
- BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
- # Make sure proxies don't deliver the wrong content
- Header append Vary User-Agent env=!dont-vary
- </IfModule>
完成後!
速度明顯增加
每個人都有不同的偏好
有些人用wordpress做企業網站,當然就不希望有評論功能礙眼
有些人使用的wordpress主題,有關閉文章留言評論或是頁面留言評論功能
但卻不是每個主題都有
雖然發表文章或頁面,可以設置是否啟用或是禁用留言評論,但若文章很多,那就很麻煩
這邊,我把我所知的方法提供給大家使用
關閉所有頁面評論1
開啟主題的functions.php貼入下面代碼
- //禁用頁面的評論留言功能 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]
開啟主題的functions.php貼入以下代碼
- add_action('comment_unapproved_to_approved', 'wpdx_comment_approved');
- function wpdx_comment_approved($comment){
- if (is_email($comment->comment_author_email)){
- $post_link = get_permalink($comment->comment_post_ID);
- $title = '您在【' . get_bloginfo('name') . '】的留言評論通過審核';
- $body = '您在《<a href="' . $post_link . '" target="_blank" >' . get_the_title($comment->comment_post_ID) . '</a>》中發表的留言評論通過審核!<br /><br />';
- $body .= '<strong>您的留言評論:</strong><br />';
- $body .= strip_tags($comment->comment_content) . '<br /><br />';
- $body .= '您可以:<a href="' . get_comment_link($comment->comment_ID) . '" target="_blank">查看您的評論</a> | <a href="' . $post_link . '#comments" target="_blank">查看其他評論</a> | <a href="' . $post_link . '" target="_blank">再次閱讀文章</a><br /><br />';
- $body .= '歡迎再次光臨【<a href="' . get_bloginfo('url') . '" target="_blank" title="' . get_bloginfo('description') . '">' . get_bloginfo('name') . '</a>】。';
- $body .= '<br /><br />註:此信件為系統自動發送,請勿直接回復';
- @wp_mail($comment->comment_author_email, $title, $body, "Content-Type: text/html; charset=UTF-8");
- }
- }
WordPress的小工具中文字,是可以加入任意HTML代碼
但卻無法運行PHP代碼,
所以你將php代碼加入到文字小工具中卻不能運行
雖有一些外掛可以解決問題,
但能用代碼實現,是更有效率的
將以下代碼加入到主題的 functions.php 文件:
- add_filter('widget_text', 'php_text', 99);
- function php_text($text) {
- if (strpos($text, '<' . '?') !== false) {
- ob_start();
- eval('?' . '>' . $text);
- $text = ob_get_contents();
- ob_end_clean();
- }
- return $text;
- }
後記,這是因為我自己的所用的主題,裡面有很多小工具沒有的
譬如說,我的小工具是沒有「標籤雲」
那我若想用小工具來顯示標籤雲,就是輸入標籤雲的代碼
- <!--?php wp_tag_cloud(); ?-->
放在小工具的文字裡面,那就可以顯示標籤雲囉!
我這邊提供二種樣式給看家使用,
第一種樣式
不用外掛,用代碼實現漂亮wordpress標籤雲,開啟主題的functions.php
貼入以下代碼
- function colorCloud($text) {
- $text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text);
- return $text;
- }
- function colorCloudCallback($matches) {
- $text = $matches[1];
- $colors = array('F99','C9C','F96','6CC','6C9','37A7FF','B0D686','E6CC6E');
- $color=$colors[dechex(rand(0,7))];
- $pattern = '/style=(\'|\")(.*)(\'|\")/i';
- $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);
- $pattern = '/style=(\'|\")(.*)(\'|\")/i';
- return "<a $text>";
- }
- add_filter('wp_tag_cloud', 'colorCloud', 1);
第二種樣式
實現帥氣wordpress的標籤雲做法
用代碼實現帥氣wordpress的標籤雲,開啟主題的functions.php
貼入以下代碼
- function colorCloud($text) { // 實現彩色标簽雲
- $text = preg_replace_callback('|<a (.+?)>|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 "<a $text>";
- }
- add_filter('wp_tag_cloud', 'colorCloud', 1);
註:若想在任意地方加入標籤雲,可以使用標籤雲的代碼
如下
- <?php wp_tag_cloud(); ?>
- <?php wp_tag_cloud(‘smallest=8&largest=22′); ?>
不使用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」
如下圖
步驟三
1.到Google自訂搜尋引擎「申請網址:https://cse.google.com/cse/」
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_product_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]