標簽:WordPress
建站分享, WordPress技巧WordPress友情鏈接帶對方網(wǎng)站的 favicon.ico 圖標
友情鏈接的重要性,不用我再累述。在建設(shè)網(wǎng)站的過程中,我們不斷的與外界交流,進而不斷的增加友鏈。如果你夠耿直,那就會遇到這種情況——首頁的友鏈位置不夠了!這樣我們就需要增加一個單獨的頁面,來容納更多的友鏈。而在優(yōu)化的過程中,我們發(fā)現(xiàn),別人很多的網(wǎng)站友鏈頁,都有給別人設(shè)置他們的網(wǎng)站圖標,我們要怎么更快、更方便的實現(xiàn)呢?我們只要實現(xiàn),自動調(diào)用http://友鏈/favicon.ico就可以實現(xiàn)了。也就是說,只要友鏈網(wǎng)站在網(wǎng)站根目錄放置了favicon.ico文件,就可以自動調(diào)用了。下面就來教大家方法了,效果如下:方法步驟1. 上傳一個 16×16 大小的圖片作為木有 favicon.ico 的網(wǎng)站默認 ico,把圖片上傳到所用主題的 images 目錄下,這里示例中默認 ico 圖片是 links_default.gif2. 復制一份你主題的 page.php,改名為 page-links.php3. 在 page-links.php 找到文章內(nèi)容輸出函數(shù) <?php the_content(); ?>,在其下面加入下面的代碼,注意看代碼注釋:<div class="page-links"> <h3>頁內(nèi)鏈接</h3> <ul> <?php $default_ico = get_template_directory_uri().'/images/links_default.gif'; //默認 ico 圖片位置 $bookmarks = get_bookmarks('title_li=&orderby=rand'); //全部鏈接隨機輸出 //如果你要輸出某個鏈接分類的鏈接,更改一下get_bookmarks參數(shù)即可 //如要輸出鏈接分類ID為5的鏈接 title_li=&categorize=0&category=5&orderby=rand if ( !empty($bookmarks) ) { foreach ($bookmarks as $bookmark) { echo '<li><img src="', $bookmark->link_url , '/favicon.ico" onerror="javascript:this.src=\'' , $default_ico , '\'" /><a href="' , $bookmark->link_url , '" title="' , $bookmark->link_description , '" target="_blank" >' , $bookmark->link_name , '</a></li>'; } } ?> </ul></div>4. 為了好看點,你可以給 page-links 這個class定義一下樣式,下面的樣式可以參考一下:.page-links{overflow:hidden;margin:0 0 24px;padding:0;}.page-links h3{border-bottom:1px solid #bfbebe;text-align:center;margin:0;}.page-links ul{margin:0;padding:5px 0 0 0;}.page-links ul li{float:left;width:150px;line-height:16px;height:16px;margin:5px 5px 0;padding:0;list-style-type:none;}.page-links ul li:hover{background:#f2f2f2;}.page-links ul li img{width:16px;height:16px;margin:0 5px -2px 0;padding:0;border:none;}5. 建立一個頁面,別名(slug)為 links 即可。快去試試效果吧!若有疑問,歡迎提出!
建站分享, WordPress技巧WordPress添加友情鏈接功能
友情鏈接在SEO中扮演著重要的角色,關(guān)于其的重要性我就不再累述了。很多WordPress新手朋友們不想直接使用別人的主題,希望能夠通過自己的努力,一步一步的制作出自己想要的主題,那么下面就為新手朋友兩種介紹添加友情鏈接功能的方法。一、WordPress自帶鏈接管理早在WordPress 3.5 發(fā)布的時候,為了更加簡潔易用,WordPress 就把一些不太常用的代碼從核心代碼中取消或者禁用,比如全新安裝的 WordPress 博客在后臺就沒有鏈接管理器。但是如果你還是有很多朋友,需要交換鏈接,怎么辦呢?在你的主題functions.php中最后一個?>前添加下面這行代碼即可:add_filter( 'pre_option_link_manager_enabled', '__return_true' );添加后在你的WordPress后臺,左側(cè)會增加出一個【鏈接】選項,預覽效果如下:二、純代碼實現(xiàn)也是在你的主題functions.php中最后一個?>前添加下面這行代碼:<?php/*Plugin Name: WPJAM BlogrollPlugin URI: http://blog.wpjam.com/m/wpjam-blogroll/Description: 快速添加友情鏈接Version: 0.1Author: DenisAuthor URI: http://blog.wpjam.com/*/add_action('admin_init', 'wpjam_blogroll_settings_api_init');function wpjam_blogroll_settings_api_init() { add_settings_field('wpjam_blogroll_setting', '友情鏈接', 'wpjam_blogroll_setting_callback_function', 'reading'); register_setting('reading','wpjam_blogroll_setting');} function wpjam_blogroll_setting_callback_function() { echo '<textarea name="wpjam_blogroll_setting" rows="10" cols="50" id="wpjam_blogroll_setting" class="large-text code">' . get_option('wpjam_blogroll_setting') . '</textarea>';}function wpjam_blogroll(){ $wpjam_blogroll_setting = get_option('wpjam_blogroll_setting'); if($wpjam_blogroll_setting){ $wpjam_blogrolls = explode("\n", $wpjam_blogroll_setting); foreach ($wpjam_blogrolls as $wpjam_blogroll) { $wpjam_blogroll = explode("|", $wpjam_blogroll ); echo ' | <a href="'.trim($wpjam_blogroll[0]).'" title="'.esc_attr(trim($wpjam_blogroll[1])).'">'.trim($wpjam_blogroll[1]).'</a>'; } }}?>然后就可以在 WordPress 后臺 > 設(shè)置 > 閱讀 界面,就有一個友情鏈接添加的輸入框。按照 鏈接 |標題 的方式輸入所有的友情鏈接。最后在主題輸出友情鏈接的地方通過下面的模板函數(shù)調(diào)用:<?php wpjam_blogroll();?>
建站分享, WordPress技巧WordPress搜索結(jié)果中關(guān)鍵詞高亮顯示
在國內(nèi),我們經(jīng)常說的一句話有“百度一下”。百度是國內(nèi)搜索引擎的巨頭,我們幾乎天天用它搜索,但真的自己要做個搜索功能的時候,還真有點小激動呢。WordPress是個很強大的博客后臺軟件,它也提供了很簡單的搜索功能。我們今天要做的,就是改造一下我們的搜索功能,讓你搜索的關(guān)鍵詞能在結(jié)果中高亮。實現(xiàn)效果可以在本站右上角嘗試。具體效果如下:實現(xiàn)代碼把以下代碼加入WordPress主題目錄下的搜索模板文件(一般是search.php)中的主循環(huán)中:<?php$title = get_the_title();//300是摘要字符數(shù),......是結(jié)束符號。$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......"); $keys = explode(" ",$s);$title = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color:#953b39;">\0</strong>',$title);$content = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color:#953b39;">\0</strong>',$content); ?>然后在需要顯示標題的地方使用以下代碼顯示<?php echo $title; ?>在需要顯示摘要的地方使用以下代碼<?php echo $content;?>應(yīng)該是很簡單的。代碼加入search.php之后應(yīng)該就會有效果。記住要把這些代碼放在一個循環(huán)中。不要把主代碼放在search.php中,而下面的顯示標題和內(nèi)容的代碼放在引入的列表文件。補充:使用過程中關(guān)鍵字后面加空格搜索出現(xiàn)亂碼。換以下代碼:<?php$s = trim(get_search_query()) ? trim(get_search_query()) : 0;$title = get_the_title();//300是摘要字符數(shù),......是結(jié)束符號。$content = mb_strimwidth(strip_tags(apply_filters('the_content', $post->post_content)), 0, 300,"......"); if($s){$keys = explode(" ",$s); $title = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color: #953b39;">\0</strong>',$title); $content = preg_replace('/('.implode('|', $keys) .')/iu','<strong style="color: #953b39;">\0</strong>',$content); }?>
建站分享, WordPress技巧WordPress原創(chuàng)與轉(zhuǎn)載的文章底部顯示不同的版權(quán)信息
互聯(lián)網(wǎng)世界很大,我們一邊暢游,一邊學習??傆星拜厒兊囊恍┪恼轮档梦覀兎窒恚绻窒韥淼奈恼碌撞窟€顯示著本站原創(chuàng)實在是不好。所以,我們就想要一個原創(chuàng)與轉(zhuǎn)載的文章實現(xiàn)不同版權(quán)信息的功能。我也經(jīng)常訪問一些WordPress大神們的網(wǎng)站,對于一些好的文章也會分享,所以不同版權(quán)的功能就顯得尤為重要了。在創(chuàng)建了WordPress大學的大神的個人網(wǎng)站倡萌的自留地上,我找到了方法。首先,來看下本站實現(xiàn)后的效果(點擊放大):功能代碼1.在模板文件single.php中加入下面的代碼:<?php $custom_fields = get_post_custom_keys($post_id); //原創(chuàng)與轉(zhuǎn)載說明 if (!in_array ('zhuanzai', $custom_fields)) : ?> <div class="postcopyright"> <i class="fa fa-bullhorn"></i>除特別注明外,本站所有文章均為<a href="<?php echo home_url(); ?>" title=<?php bloginfo('name'); ?>><strong>計算機工程系 www.cnidcc.cn</strong></a>原創(chuàng),轉(zhuǎn)載請注明出處來自<?php the_permalink() ?> </div> <?php else: ?> <?php $custom = get_post_custom($post_id); $custom_value = $custom['zhuanzai']; ?> <div class="postcopyright"> <i class="fa fa-bullhorn"></i>本文參考自:<?php echo $custom_value[0] ?>,由狂族晨曦(<a href="//www.cnidcc.cn">capjsj.cn</a>)整理編輯。 <br/> 本文鏈接地址:<a><?php the_permalink(); ?></a> , 轉(zhuǎn)載請保留本說明! </div> <?php endif; ?>注意:修改代碼中的信息為你自己的。如果想要轉(zhuǎn)載文章不出現(xiàn)任何版權(quán)信息的話只要把else之后的代碼去掉即可。此段代碼放置于調(diào)用文章內(nèi)容代碼之后或其他合適位置。2.在發(fā)表你轉(zhuǎn)載的文章的時候,添加自定義字段(欄目),名稱為zhuanzai,字段值可以設(shè)置為轉(zhuǎn)載文章的原鏈接即可,效果就如本文下面的【說明】所示(點擊后放大):注意:原創(chuàng)文章不需要添加自定義字段(欄目)。3.這個功能實現(xiàn)后將在網(wǎng)站前端顯示,所以我們還要為它提供CSS樣式代碼。若想要實現(xiàn)本站樣式,則可以在主題樣式表中添加以下代碼:.postcopyright{ background:#fcf8e3; font-size:12px; display:block; padding:8px 15px; margin-top:5px;}.fa-bullhorn:before {/*喇叭文字圖標*/ content: "\f0a1"; font-size: 20px; line-height: 20px;}
建站分享, WordPress技巧WordPress插件隨主題同時啟用
在浩瀚的互聯(lián)網(wǎng)世界里,有著一群不愿隨波逐流的人。WordPress有很多主題,但并不一定有適合自己的主題,或者不想和別人使用一樣的主題,所以就自己走上了創(chuàng)造之路——制作主題。但是在編寫主題時,可能有些功能并不一定能夠?qū)崿F(xiàn),所以要借用一些插件來實現(xiàn)。而插件多了,在換服務(wù)器或分享主題時,可能就會忘東忘西,造成一些麻煩。那么,我們?nèi)绾巫龅皆趩⒂弥黝}的時候,就同時啟用某個插件呢?來看看露兜為我們分享的方法。我們可以在主題的functions.php最后一個?>前添加以下代碼(這里以akismet為例):include_once( ABSPATH . 'wp-admin/includes/plugin.php' );// 判斷插件是否已經(jīng)啟用if (is_admin() && current_user_can('activate_plugins') && !is_plugin_active(ABSPATH . 'wp-content/plugins/akismet/akismet.php')) { // 啟用插件 activate_plugin(ABSPATH . 'wp-content/plugins/akismet/akismet.php');}首先我們需要include一下plugin.php,因為我們用到的兩個函數(shù)is_plugin_active()和activate_plugin()都是在plugin.php中定義的,而主題文件不會自動引用這個文件。接著我們需要判斷當前頁面是否是后臺,同時為了安全考慮,我們需要用current_user_can()判斷當前用戶是否有啟用主題的權(quán)限。最后,判斷插件是否已啟用,這里使用插件主文件的路徑,何為插件主文件呢?這個文件在插件目錄下,一般與插件同名,用文本編輯器打開,一般會看到類似注釋:/*Plugin Name: **Plugin URI: **Description: **Version: **Author: ***/需要提醒的是,主題發(fā)布記得附帶插件或叮囑用戶下載好插件。
建站分享, WordPress技巧WordPress評論禁止自動將URL轉(zhuǎn)換為可點擊的鏈接
WordPress評論中的鏈接會自動轉(zhuǎn)換為可點擊的鏈接,某些情況下這對訪客是友好的,更方便查看評論中引用的網(wǎng)站。但有時候評論者只是輸入了一個示例鏈接,例如http://yourdomain.com/anything,這個被轉(zhuǎn)換就有點惱人了。因此決定禁用評論中自動轉(zhuǎn)換鏈接的功能。 解決方法在主題的functions.php中最后一個?>前添加如下代碼:remove_filter( 'comment_text', 'make_clickable', 9 );非常簡單,但其中還是涉及到很多相關(guān)知識,若你想要了解的話,敬請到底部原網(wǎng)地址查看。
建站分享, WordPress技巧WordPress使用七牛CDN導致ajax評論報錯{“error”:”get from image source failed: E405″}
起因:最近流量不夠用了,所以就開始使用七牛CDN用以減少流量消耗。七牛的免費CDN配額還是很給力的,以前不想用完全是因為用的七牛官方WordPress插件完全沒有作用,沒有效果,所以棄用。后來發(fā)現(xiàn)用水煮魚的七牛插件才是正解,所以才開始啟用。本以為沒有問題了,結(jié)果發(fā)現(xiàn)用七牛CDN之后,文章頁的返回頂部出現(xiàn)BUG了。本來嫌麻煩,也就不想修復了。但是這卻一直成為了心中的梗,強迫癥涌上心頭,決定好好研究一下怎么回事。結(jié)果,返回頂部還沒有解決,卻意外的發(fā)現(xiàn)評論模塊又出了問題,也就是題目中說的報錯:{"error":"get from image source failed: E405"}。如下:原因:經(jīng)過百度后了解到,確實是CDN的問題。CDN把你的comments-ajax.js文件給緩存走了,結(jié)果導致路徑錯誤,這時候我們有兩種選擇來修復這個問題。1、修改js文件讓它能夠支持你的CDN路徑2、將這個文件單獨排除在CDN的鏡像列表之外解決方案:1、修改comments-ajax.js文件這種方法的好處是你依舊可以體驗完整的CDN鏡像服務(wù),你需要打開你主題目錄下的comments-ajax.js文件然后修改它,找到如下的代碼段(一般應(yīng)該是在開頭的)var i = 0, got = -1, len = document.getElementsByTagName('script').length;while ( i <= len && got == -1){ var js_url = document.getElementsByTagName('script')[i].src, got = js_url.indexOf('comments-ajax.js'); i++ ; }然后就在代碼后邊加入這樣一句話js_url = js_url.replace('7xjad9.com1.z0.glb.clouddn.com','www.cnidcc.cn');這樣,修改完成后應(yīng)該是下邊的樣子var i = 0, got = -1, len = document.getElementsByTagName('script').length;while ( i <= len && got == -1){ var js_url = document.getElementsByTagName('script')[i].src, got = js_url.indexOf('comments-ajax.js'); i++ ;}js_url = js_url.replace('7xjad9.com1.z0.glb.clouddn.com','www.cnidcc.cn');然后將文件更新上傳到你的服務(wù)器,再到七牛空間管理去刷新該文件。2、添加CDN鏡像例外使用WP Super Cache來開啟CDN鏡像,直接將comments-ajax.js這個js文件排除在鏡像列表之外,雖然加載的時候多了一個js文件,但省去了對付七牛那個緩慢的刷新過程,其實還是很不錯的,立竿見影啊~WP Super Cache在WordPress后臺插件安裝中可直接搜索安裝。方法:找到WP Super Cache的CDN頁面,然后在下邊找到“如果是之前有則排除”這一項,將comment-ajax填寫進去就好了。如下圖(點擊放大,放大后按“F”鍵放至最大):這樣,就只有一個文件被排除在外了。好了,大家去試試吧,有任何疑問可在底部討論區(qū)提出。
建站分享, WordPress技巧WordPress回復評論自動添加@評論者
可能你的博客評論已經(jīng)使用了嵌套評論,可以清楚的辨別出回復關(guān)系,但是如果再增加了“@”功能,則無疑讓評論關(guān)系更加清晰。且這個功能也是很多不使用嵌套評論的博客需要的,現(xiàn)在為大家分享一下實現(xiàn)方法。要實現(xiàn)的是自動在回復內(nèi)容前增加“@評論者”的功能,效果如下:實現(xiàn)代碼要實現(xiàn)這個功能,將以下的代碼,添加在主題的 functions.php 文件的 最后一個 ?> 前面即可:/** * WordPress 評論添加@ * //www.cnidcc.cn * DIY By 成都航院計算機工程系**/function ludou_comment_add_at( $commentdata ) { if( $commentdata['comment_parent'] > 0) { $commentdata['comment_content'] = '@<a href="#comment-' . $commentdata['comment_parent'] . '">'.get_comment_author( $commentdata['comment_parent'] ) . '</a> ' . $commentdata['comment_content']; } return $commentdata;}add_action( 'preprocess_comment' , 'ludou_comment_add_at', 20);以上代碼會直接將 @ 信息寫入數(shù)據(jù)庫。經(jīng)bigfa提醒,如果你不想將 @評論者 寫入數(shù)據(jù)庫,可以使用下面的代碼:/** * WordPress 評論添加@ * //www.cnidcc.cn * DIY By 成都航院計算機工程系**/function ludou_comment_add_at( $comment_text, $comment = '') { if( $comment->comment_parent > 0) { $comment_text = '@<a href="#comment-' . $comment->comment_parent . '">'.get_comment_author( $comment->comment_parent ) . '</a> ' . $comment_text; } return $comment_text;}add_filter( 'comment_text' , 'ludou_comment_add_at', 20, 2);請各位童鞋根據(jù)自己喜好選擇代碼。
建站分享, WordPress技巧WordPress側(cè)欄小工具增加浮動跟隨效果
在網(wǎng)上學習關(guān)于SEO知識的時候,經(jīng)常看到的一點就是做好內(nèi)鏈,所以可能會在文章頁的側(cè)邊欄上加入如“最新文章”等欄目。如果最新文章簡單的放在側(cè)邊欄,那訪客訪問的時候,只有在文章頂部的時候能看到一眼,如果感興趣了想看完本文再去查看,還要回到頂部去點擊。那么我們何不讓其鼠標隨滑呢?隨著鼠標的下拉,其始終在瀏覽器的顯示窗口中,訪客們看完文章眼神亂瞟的時候說不定就能看到其中感興趣的地方,這樣就減少了跳出率。而我們在很多博客上,都看到已經(jīng)實現(xiàn)了這種功能,包括我的網(wǎng)站。效果就是旁邊的最新文章啦,雖然丑了點:百度谷歌上搜索了半天,找到了現(xiàn)在這個代碼,效果可隨便開一篇比較長的文章看。我把隨機文章放在小工具的最后一個,當下拉時瀏覽器碰到隨機文章的上邊時,會把隨機文章往下頂。代碼如下:jQuery(document).ready(function($){ $.fn.smartFloat = function() { var position = function(element) { var top = element.position().top, pos = element.css("position"); $(window).scroll(function() { var scrolls = $(this).scrollTop(); if (scrolls > top) { if (window.XMLHttpRequest) { element.css({ position: "fixed", top: 0 }); } else { element.css({ top: scrolls }); } }else { element.css({ position: "absolute", top: top }); } }); }; return $(this).each(function() { position($(this)); }); }; //綁定,將引號中的內(nèi)容替換成你想要下拉的模塊的ID或者CLASS名字,如"#ABC",".ABC" $(".widget_bd_random_post_widget").smartFloat(); });按照31行的注釋做相應(yīng)的修改,然后將修改后的代碼放到主題需要加載的JS文件里即可。還有另外一種漂浮的效果,代碼如下,效果可以點擊看這里:jQuery(document).ready(function($){ //將下一行引號中的內(nèi)容替換成你想要下拉的模塊的ID或者CLASS名字,如"#ABC",".ABC" var $sidebar = $("#bd_random_post_widget-3"), $window = $(window), offset = $sidebar.offset(), topPadding = 50; $window.scroll(function() { if ($window.scrollTop() > offset.top) { $sidebar.stop().animate({ marginTop: $window.scrollTop() - offset.top + topPadding }); } else { $sidebar.stop().animate({ marginTop: 0 }); } }); });添加方法和上一個代碼一樣,這個效果還不錯,但是如果頁面加載的東西多的話會有卡的感覺,具體選用哪個還請各位童鞋按照自己喜好選擇。
建站分享, WordPress技巧萬網(wǎng)虛擬主機不能使用SMTP發(fā)郵件的解決辦法
雖然關(guān)于萬網(wǎng)的虛擬主機無法使用SMTP發(fā)郵件的解決方法,已經(jīng)有很多站長分享過了,但是我還是覺得應(yīng)該再分享一下,讓自己的網(wǎng)站更有用一些。大多數(shù)虛擬主機如萬網(wǎng)等都禁用了WordPress默認使用的PHP mail()發(fā)信函數(shù),那么唯一的選擇就是SMTP發(fā)信了,當然SMTP發(fā)信的好處是基本不會被郵件服務(wù)商歸類為垃圾郵件(這里提一下,阿里云還是容易將評論回復提醒的郵件標記為垃圾郵件,導致郵件無法正常發(fā)出,解決辦法就是將阿里云退信的附件.eml文件,通過提交工單,讓阿里程序員解決,之后就不會再標記為垃圾郵件了。)。由于stream_socket_client函數(shù)同樣被禁用,導致無法通過WordPress的SMTP接口發(fā)信,只能通過fsockopen函數(shù)來發(fā)信了。首先,要將主機的fsockopen函數(shù)開啟:然后,打開wp-includes/class-smtp.php文件,大約202行找到:$this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context );將上述代碼改為以下代碼:/* 屏蔽默認的發(fā)送郵件方式 $this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context ); *///fsockopen方式$this->smtp_conn = fsockopen($host, $port, $errno, $errstr);如此,就可以使用SMTP插件發(fā)送郵件,注意的是盡量選擇SSL加密發(fā)信方式。PS:WordPress 4.3官方版本好像已經(jīng)修改了以上代碼,使得不用再去進行上面的步驟了?,F(xiàn)在4.3版本中,代碼已經(jīng)變成了以下內(nèi)容:if ($streamok) { $socket_context = stream_context_create($options); //Suppress errors; connection failures are handled at a higher level $this->smtp_conn = @stream_socket_client( $host . ":" . $port, $errno, $errstr, $timeout, STREAM_CLIENT_CONNECT, $socket_context ); } else { //Fall back to fsockopen which should work in more places, but is missing some features $this->edebug( "Connection: stream_socket_client not available, falling back to fsockopen", self::DEBUG_CONNECTION ); $this->smtp_conn = fsockopen( $host, $port, $errno, $errstr, $timeout ); }

川公網(wǎng)安備 51011202000104號