標(biāo)簽:站長經(jīng)歷
建站分享, WordPress技巧WordPress定時發(fā)布文章失敗的解決方法
定時發(fā)布是一個很有用的功能,這個功能我也是無意間發(fā)現(xiàn)的。為什么要定時發(fā)布?原因我就不說什么讓訂閱用戶喜歡什么的了,因為小博客的用戶較少,所以然并卵。但是對于SEO就很有好處了。之前有過這種情況,放假之后回家到處浪,幾天沒有管網(wǎng)站,結(jié)果本身就是新站,百度還見你不更新,site:www.cnidcc.cn都只顯示首頁了(收錄量顯示111條)。這時候,定時發(fā)布的重要性就顯示出來了,只要你有干貨,設(shè)置好定時發(fā)布,就可以放心浪啦~如何定時發(fā)布文章?說了這么多,可能還有些小伙伴不知道怎么進(jìn)行定時發(fā)布文章,其實很簡單。在文章編輯頁的右邊【發(fā)布】欄,點擊一下[立即發(fā)布]右邊的“編輯”,就會出現(xiàn)下圖所示的界面,可以選擇發(fā)布日期和時間,設(shè)定后,確定即可:如果是在文章列表里,可以點擊【快速編輯】,將時間設(shè)置到想要發(fā)布的時間,選擇【發(fā)布】,點擊【更新】,就可以定時成功:(點擊放大)PS:取消定時只要將狀態(tài)改為草稿即可。定時發(fā)布失效怎么辦?剛開始發(fā)現(xiàn)這個功能的時候,很高興的把第二天的文章定時發(fā)布了,第二天就沒管了,結(jié)果發(fā)布時間過了之后我去檢查的時候發(fā)現(xiàn)“定時發(fā)布失敗”的幾個藍(lán)字,郁悶了。在網(wǎng)上搜了下方法,網(wǎng)上還是提供了幾種方法。2016年1月21日更新:解決WordPress升級到4.4.1后定時發(fā)布文章失敗的問題以下方法已經(jīng)失效!方法一:修改 /wp-includes/cron.php 系統(tǒng)文件打開wp-includes目錄下面的cron.php文件,找到“timeout”代碼: $cron_request = apply_filters( 'cron_request', array( 'url' => add_query_arg( 'doing_wp_cron', $doing_wp_cron, site_url( 'wp-cron.php' ) ), 'key' => $doing_wp_cron, 'args' => array( 'timeout' => 0.01, 'blocking' => false, /** This filter is documented in wp-includes/class-http.php */ 'sslverify' => apply_filters( 'https_local_ssl_verify', false ) ) ) ); wp_remote_post( $cron_request['url'], $cron_request['args'] );將代碼后面的數(shù)值0.01修改為比0.01大就可以了,也可以修改為10.00。但是我很負(fù)責(zé)的告訴大家,這個方法并沒有什么卵用,親測已經(jīng)失效了。方法二:使用WP Missed Schedule插件在WordPress后臺安裝插件搜索該插件即可下載安裝,但是本著少用插件的原則,推薦大家直接使用一下代碼,將代碼放置在主題中function.php最后面即可:<?phpif(!function_exists('add_action')){ header('Status 403 Forbidden');header('HTTP/1.0 403 Forbidden');header('HTTP/1.1 403 Forbidden');exit();}?><?php function wpms_log(){ echo"\n<!--Plugin WP Missed Schedule 2011.0920.2011 Active-->"; } add_action('wp_head','wpms_log'); add_action('wp_footer','wpms_log')?><?phpdefine('WPMS_DELAY',5);define('WPMS_OPTION','wp_missed_schedule');function wpms_replace(){ delete_option(WPMS_OPTION); } register_deactivation_hook(__FILE__,'wpms_replace'); function wpms_init(){ remove_action('publish_future_post','check_and_publish_future_post'); $last=get_option(WPMS_OPTION,false); if(($last!==false)&&($last>(time()-(WPMS_DELAY*60))))return; update_option(WPMS_OPTION,time()); global$wpdb; $scheduledIDs=$wpdb->get_col("SELECT`ID`FROM`{$wpdb->posts}`"."WHERE("."((`post_date`>0)&&(`post_date`<=CURRENT_TIMESTAMP()))OR"."((`post_date_gmt`>0)&&(`post_date_gmt`<=UTC_TIMESTAMP()))".")AND`post_status`='future'LIMIT 0,5"); if(!count($scheduledIDs))return; foreach($scheduledIDs as$scheduledID){if(!$scheduledID)continue; wp_publish_post($scheduledID);} } add_action('init','wpms_init',0)?>插件我沒有安裝,但是代碼我使用后成功的定時發(fā)布了文章,親測可用,大家快去規(guī)律你的網(wǎng)站吧!
建站分享, WordPress技巧WordPress純代碼無插件實現(xiàn)頂部滾動+鏈接公告功能
不知道怎么回事,公告欄這個功能非常有實用性,搜索引擎里面卻少之又少,所以我將我制作滾動公告欄的經(jīng)驗與大家分享一下,希望能對大家有點幫助。之前為大家分享了單條公告的實現(xiàn)方法,有需要的童鞋可以看看:傳送陣:WordPress純代碼無插件實現(xiàn)頂部單條公告最終要實現(xiàn)的效果大家可以參考本站頭部。廢話不多說,開始教程。一、注冊公告文章類型首先,我們要注冊一個名為“公告”的文章類型,將以下代碼加入到WordPress主題functions.php最后一個?>前:/*** 成航先森_公告** //www.cnidcc.cn*/function post_type_bulletin() {register_post_type( 'bulletin', array( 'public' => true, 'publicly_queryable' => true, 'hierarchical' => false, 'labels'=>array( 'name' => _x('公告', 'post type general name'), 'singular_name' => _x('公告', 'post type singular name'), 'add_new' => _x('添加新公告', '公告'), 'add_new_item' => __('添加新公告'), 'edit_item' => __('編輯公告'), 'new_item' => __('新的公告'), 'view_item' => __('預(yù)覽公告'), 'search_items' => __('搜索公告'), 'not_found' => __('您還沒有發(fā)布公告'), 'not_found_in_trash' => __('回收站中沒有公告'), 'parent_item_colon' => '' ), 'show_ui' => true, 'menu_position'=>5, 'supports' => array( 'title', 'author', 'excerpt', 'thumbnail', 'trackbacks', 'editor', 'comments', 'custom-fields', 'revisions' ) , 'show_in_nav_menus' => true , 'taxonomies' => array( 'menutype', 'post_tag') ) ); } add_action('init', 'post_type_bulletin');function create_genre_taxonomy() { $labels = array( 'name' => _x( '公告分類', 'taxonomy general name' ), 'singular_name' => _x( 'genre', 'taxonomy singular name' ), 'search_items' => __( '搜索分類' ), 'all_items' => __( '全部分類' ), 'parent_item' => __( '父級分類目錄' ), 'parent_item_colon' => __( '父級分類目錄:' ), 'edit_item' => __( '編輯公告分類' ), 'update_item' => __( '更新' ), 'add_new_item' => __( '添加新公告分類' ), 'new_item_name' => __( 'New Genre Name' ), ); register_taxonomy('genre',array('bulletin'), array( 'hierarchical' => true, 'labels' => $labels, 'show_ui' => true, 'query_var' => true, 'rewrite' => array( 'slug' => 'genre' ), ));}add_action( 'init', 'create_genre_taxonomy', 0 );為了方便管理代碼也可以把上面的代碼復(fù)制下來然后保存文件為functions-gonggao.php,然后再引入functions.php文件中:include("functions-gonggao.php");請注意引入的functions-gonggao.php文件的存放路徑,這里的路徑是在functions.php文件所在目錄的當(dāng)前目錄下。這時候,登錄網(wǎng)站后臺,就可以看到如下效果(點擊放大):二、公告內(nèi)容調(diào)用現(xiàn)在我們要將后臺設(shè)置的自定義文章類型公告內(nèi)容顯示出來,把下面的代碼放到你想要調(diào)用公告內(nèi)容的頁面即可,本站是放在了頭部模板內(nèi),所以整站度可以看到:<div id="site-gonggao"><div class="site-gonggao-div"><i class="fa fa-volume-up"></i> </div> <div id="site-gonggao-div2" class="sitediv"> <ul class="list" id="siteul"> <?php $loop = new WP_Query( array( 'post_type' => 'bulletin', 'posts_per_page' => 5 ) ); while ( $loop->have_posts() ) : $loop->the_post(); ?> <li><?php mb_strimwidth(the_content(), 0, 70, '…'); ?></li> <?php endwhile; wp_reset_query(); ?> </ul> </div></div>其中的"5"為調(diào)用顯示條數(shù),"70"為調(diào)出內(nèi)容的字符數(shù),這兩個參數(shù)可根據(jù)自己的情況設(shè)置。這里的代碼結(jié)構(gòu)因為是來源于本站,所以請另行結(jié)合自己的網(wǎng)站做適當(dāng)?shù)男薷摹HSS樣式上面已經(jīng)將設(shè)置的公告顯示出來了,那么接下來就要將其css美化了:div#site-gonggao{line-height: 25px; height: 30px; background-color: #FFF; width: 990px; margin: 0 auto 10px; padding-left: 10px; color: #666; border-left: 5px solid #3E94D2; border-right: 5px solid #3E94D2; -webkit-box-shadow: 0 5px 5px #D3D3D3; box-shadow: 0 5px 5px #D3D3D3;}.site-gonggao-div{float:left;}.fa-volume-up:before{content: "\f028"; color: #428bca;}#site-gonggao a{color: #1663B7;}#site-gonggao a:hover{color: #09F;}#site-gonggao-div2{overflow: hidden;height:30px;}#site-gonggao-div2 .list li{height: 30px;line-height: 30px;overflow: hidden;}此樣式僅做參考,請大家結(jié)合自己的網(wǎng)站自行調(diào)整。四、滾動代碼首先提醒大家,此JS代碼需要jQuery庫,如果網(wǎng)站沒有加載的還需要添加一個jQuery庫。網(wǎng)上給出的滾動代碼如下,大家測試可用的話就可以直接用,不行的話就請繼續(xù)往下看:function autoScroll(obj){ $(obj).find(".list").animate({ marginTop : "-30px" },500,function(){ $(this).css({marginTop : "0px"}).find("li:first").appendTo(this); }) }; $(function(){ setInterval('autoScroll(".sitediv")',4000) }) ;上面的代碼如果無效,就請使用下面的代碼。另外,上面的代碼中會有一個BUG,如果只有一條公告的話,也會滾動,因此,我在中間添加了兩行代碼,使其在只有一條公告的情況下,不運行滾動代碼。代碼如下:function autoScroll(obj){ var aa=document.getElementById("siteul").getElementsByTagName("li").length;if(aa!==1){ jQuery(obj).find(".list").animate({ marginTop : "-30px" },500,function(){ jQuery(this).css({marginTop : "0px"}).find("li:first").appendTo(this); }) }; } $(function(){ setInterval('autoScroll(".sitediv")',4000) }) ;注:其中,第4行的".list"是調(diào)用代碼中,ul標(biāo)簽的class樣式;第12行的".sitediv"是包裹ul的div標(biāo)簽的class樣式。有什么疑問或錯誤,歡迎在底部提出。
建站分享, WordPress技巧WordPress純代碼無插件實現(xiàn)頂部單條公告
對于一個網(wǎng)站而言,一個公告功能是非常有需要的,這有利于與讀者的交流。現(xiàn)在有很多插件都可以實現(xiàn)公告功能,也有很多主題都已經(jīng)內(nèi)置了公告欄的功能。而我們都知道,WordPress插件用的太多,對網(wǎng)站并不怎么好。而且作為一個對WordPress感興趣,喜歡鼓搗WordPress的人而言,也不想直接使用別人的主題。我的網(wǎng)站主題也是我自己一步步修改出來的,所以也想給自己的網(wǎng)站加一個方便的公告功能。但是我在百度的時候卻發(fā)現(xiàn)基本都是使用插件來實現(xiàn)公告功能,純代碼的比較少。所以我就為大家分享一個代碼實現(xiàn)能發(fā)一條公告的方法。實現(xiàn)的效果如下。當(dāng)然,現(xiàn)在本站現(xiàn)在使用的是滾動公告欄,實現(xiàn)方法另外再做分享。一、功能代碼在WordPress主題functions.php最后一個?>前添加代碼:/**增加全站公告功能*代碼提供:www.cnidcc.cn*/function wp_dashboard_GongGao() { if($_POST && $_POST['update-GongGao'] == 1){ check_admin_referer('GongGao'); $GongGao = serialize($_POST['GongGao']); update_option('GongGao',$GongGao) or add_option('GongGao',$GongGao); }?><form method="post" action="<?php echo add_query_arg ('time',time()); ?>"><?php if($_POST && $_POST['update-GongGao'] == 1) echo '<p><span style="color:red;font-weight:bold;">更新公告成功</span></p>'; ?><?php $GongGao = unserialize(get_option('GongGao')); ?>公告鏈接(留空則無鏈接):<input type="text" name="GongGao[link]" value="<?php if(isset($GongGao['link']))echo stripslashes($GongGao['link']); ?>" /> <p>公告內(nèi)容:</p> <p><textarea name="GongGao[content]" style="word-break:break-all;width:90%;" rows="4"><?php echo stripslashes($GongGao['content']); ?></textarea></p> <input type="submit" class="button-primary" value="提交" /> <?php wp_nonce_field('GongGao'); ?> <input type="hidden" name="update-GongGao" value="1" /> </form> <?php}function my_wp_dashboard_setup() { if(current_user_can('edit_themes'))wp_add_dashboard_widget('wp_dashboard_GongGao','網(wǎng)站公告','wp_dashboard_GongGao'); }add_action('wp_dashboard_setup','my_wp_dashboard_setup');添加了此段代碼后,進(jìn)入WordPress后臺,在后臺的首頁底部,可以找到一個叫“網(wǎng)站公告”的關(guān)鍵,如下圖所示(點擊放大):添加公告欄成功的效果如下(點擊放大):下面要做的就是調(diào)用公告了,將公告放到你想放置的位置。二、代碼調(diào)用這個代碼的調(diào)用不像其他注冊函數(shù)那么方便,調(diào)用代碼如下,請放置到主題合適位置:<?php $GongGao = unserialize(get_option('GongGao'));if(!empty($GongGao['content'])): ?> <div id="site-gonggao"> <?php echo ($GongGao['link'] ? '<a href="'.$GongGao['link'].'">' : '').$GongGao['content'].($GongGao['link'] ? '</a>' : ''); ?> </div><?php endif; ?>很明顯,我是將其放置在了頭部header.php中的,請各位自己找合適位置放置。三、CSS樣式到這里功能已經(jīng)可以實現(xiàn)了,CSS樣式就看各位自身需求了。下面還是將本站的樣式貼出來,以供參考:#site-gonggao { line-height: 25px; height: 30px; background-color: #FFF; width: 990px; margin: 0 auto 10px; padding-left: 10px; color: #666; border-left: 5px solid #3E94D2; border-right: 5px solid #3E94D2; -webkit-box-shadow: 0 5px 5px #D3D3D3; box-shadow: 0 5px 5px #D3D3D3;}下一次將會為大家分享代碼實現(xiàn)滾動公告欄的效果方法,希望大家能用上。若對本文有疑問敬請在下面提問。WordPress純代碼無插件實現(xiàn)頂部單條公告
建站分享, WordPress技巧WordPress發(fā)布文章自動同步到新浪微博詳細(xì)方法
WordPress發(fā)布文章自動同步到新浪微博的方法有很多大神都分享過,我也是在免費資源部落和張戈博客的結(jié)合下開始完成我的文章同步。但這過程并不輕松,其中遇到了一些問題,可能是這些教程有些時間了,新浪的申請流程有所改變吧,這里就對大神們的教程做些補(bǔ)充。現(xiàn)在這個時代,我們的生活每天會花很多時間在手機(jī)上,而微博又是經(jīng)久不衰的手機(jī)APP,新的文章如果能同步更新到微博上,對網(wǎng)站的宣傳和引流,還有最重要的提升“逼格”都有很好的作用。下面就來講講我的實踐經(jīng)歷。一、要實現(xiàn)的效果首先來看看我們最終要達(dá)到的效果,文章要同步更新很簡單,重點是宣傳作用。先上張圖(點擊放大):上一張圖中,兩條微博除了內(nèi)容不同外,就是紅色框框內(nèi)的來自內(nèi)容不同。下面的一條是實現(xiàn)同步后的效果,上面的一條則是我們要實現(xiàn)的效果。二、實現(xiàn)步驟1:申請開發(fā)者權(quán)限使用你的新浪微博賬號登陸微博開放平臺,網(wǎng)址:http://open.weibo.com/點擊頁面導(dǎo)航中[編輯開發(fā)者信息]或訪問:http://open.weibo.com/developers/basicinfo ,根據(jù)頁面表單內(nèi)容填寫信息,提交后等待新浪方審核。(下圖是基本流程)上圖是我認(rèn)證后的,請大家按照自己的實際情況操作,我的小站當(dāng)然選擇個人,然后將自己的真實信息填寫完整后,就開始等待審核。新浪的審核時間并不長,會在一個工作日的時間內(nèi)處理審核。開發(fā)者審核很好過,過了就可以開發(fā)應(yīng)用了。三、實現(xiàn)步驟2:網(wǎng)站接入這一步很重要,這就是卡了我兩天,整的我想放棄的地方。因為大神們的教程上寫的是創(chuàng)建應(yīng)用,所以就是無限的錯誤提醒,把我都要整瘋了。下面就是錯誤的方法的后果(點擊放大):后來經(jīng)過反復(fù)折騰無果后,我研究了一下,發(fā)現(xiàn)并不應(yīng)該是創(chuàng)建應(yīng)用,而是選擇網(wǎng)站接入。這一步就是我希望分享給大家的,讓大家少走彎路。在微博開放平臺的首頁點擊橙色的[立即創(chuàng)建微連接接]->[網(wǎng)站接入] 或 訪問http://open.weibo.com/webmaster/add 根據(jù)表單內(nèi)容一步一步填寫就好了,注意:第一步的應(yīng)用名就是圖1中的來源名稱。補(bǔ)全應(yīng)用信息之后,提交審核,也會在一個工作日內(nèi)完成審核。提交審核之后,你就可以使用新浪的開放端口進(jìn)行同步博客文章了,只是在審核通過之前,來源位置顯示的是未審核應(yīng)用字樣,但不影響開發(fā)和使用。效果就是圖1中下面那條微博的樣式。四、實現(xiàn)步驟3:WordPress代碼提交審核之后,我們會得到一串“App Key”碼,這個很重要。記住在哪里能找到:點擊[我的應(yīng)用]->你正在審核的應(yīng)用名稱。點進(jìn)去就可以看到,如下圖(點擊放大):然后在WordPress主題functions.php最后一個?>前添加由張戈博客提供同步代碼:function post_to_sina_weibo($post_ID) { /* 鑒于很多朋友反饋發(fā)布文章空白,臨時加上調(diào)試代碼,若無問題可刪除此行,若有問題請將錯誤信息在本文留言即可 */ ini_set('display_errors', true); /* 此處修改為通過文章自定義欄目來判斷是否同步 */ if(get_post_meta($post_ID,'weibo_sync',true) == 1) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; $get_post_title = get_post($post_ID)->post_title; if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') { $appkey='1034947262'; /* 此處是你的新浪微博appkey,不修改的話就會顯示來自張戈博客哦! */ $username='微博用戶名'; $userpassword='微博密碼'; $request = new WP_Http; /* 獲取文章標(biāo)簽關(guān)鍵詞 */ $keywords = ""; $tags = wp_get_post_tags($post_ID); foreach ($tags as $tag ) { $keywords = $keywords.'#'.$tag->name."#"; } /* 修改了下風(fēng)格,并添加文章關(guān)鍵詞作為微博話題,提高與其他相關(guān)微博的關(guān)聯(lián)率 */ $string1 = '【文章發(fā)布】' . strip_tags( $get_post_title ).':'; $string2 = $keywords.' 查看全文:'.get_permalink($post_ID); /* 微博字?jǐn)?shù)控制,避免超標(biāo)同步失敗 */ $wb_num = (138 - WeiboLength($string1.$string2))*2; $status = $string1.mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, $wb_num,'...').$string2; $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array('status' => $status,'source' => $appkey); $headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword")); $result = $request->post($api_url, array('body' => $body,'headers' => $headers)); /* 若同步成功,則給新增自定義欄目weibo_sync,避免以后更新文章重復(fù)同步 */ add_post_meta($post_ID, 'weibo_sync', 1, true); }}add_action('publish_post', 'post_to_sina_weibo', 0); /*//獲取微博字符長度函數(shù) */function WeiboLength($str){ $arr = arr_split_zh($str); //先將字符串分割到數(shù)組中 foreach ($arr as $v){ $temp = ord($v); //轉(zhuǎn)換為ASCII碼 if ($temp > 0 && $temp < 127) { $len = $len+0.5; }else{ $len ++; } } return ceil($len); //加一取整}/*//拆分字符串函數(shù),只支持 gb2312編碼 //參考:http://u-czh.iteye.com/blog/1565858*/function arr_split_zh($tempaddtext){ $tempaddtext = iconv("UTF-8", "GBK//IGNORE", $tempaddtext); $cind = 0; $arr_cont=array(); for($i=0;$i<strlen($tempaddtext);$i++) { if(strlen(substr($tempaddtext,$cind,1)) > 0){ if(ord(substr($tempaddtext,$cind,1)) < 0xA1 ){ //如果為英文則取1個字節(jié) array_push($arr_cont,substr($tempaddtext,$cind,1)); $cind++; }else{ array_push($arr_cont,substr($tempaddtext,$cind,2)); $cind+=2; } } } foreach ($arr_cont as &$row) { $row=iconv("gb2312","UTF-8",$row); } return $arr_cont;}主要修改的代碼,是第13、14、15行的內(nèi)容。14行的[微博用戶名]是你登錄郵箱時的郵箱/會員賬號/手機(jī)號哦,你登錄的時候怎么填的,這里就要怎么填。實在不懂的話,也可以去看看張戈博客的介紹。五、進(jìn)階步驟1:同步文章實現(xiàn)帶特色圖片之申請權(quán)限完成上面的步驟就已經(jīng)實現(xiàn)了本教程的目的了。但是張戈博客還分享了在微博中添加特色圖片的實現(xiàn)方法,這里也就多提一下我在實現(xiàn)的過程中遇到的問題(我還沒有成功)。要實現(xiàn)的是:如果文章設(shè)置了特色圖片,則微博同時加上這張圖片。如果沒有設(shè)置,則調(diào)用文章內(nèi)第一張圖片。文章內(nèi)沒有圖片,好像是不輸出圖片(因為我還沒有成功,所以不清楚。了解的童鞋可以在評論區(qū)解釋下)。實現(xiàn)帶特色圖片,需要申請權(quán)限,我就是被這步攔住了。在[我的應(yīng)用]中點擊你申請的應(yīng)用名稱,然后,再依次點擊[接口管理]->[申請權(quán)限]->申請[微博高級寫入權(quán)限](點擊放大):填寫申請理由時態(tài)度還是要誠懇,理由可以參考張戈博客的:提交之后也是會在一個工作日內(nèi)審核內(nèi)容。張戈博客說很容易成功。然而,對與我這個小站來說并不是這樣:收到消息后我查看了下未通過原因的說明:所以大家還是在之前的步驟完成運營一段時間之后,再開始申請吧。不過,實現(xiàn)帶圖片的代碼,大家還是可以看一下的。六、進(jìn)階步驟2:同步文章實現(xiàn)帶特色圖片之WordPress代碼還是引用張戈博客的代碼,大家可以研究一下。用法:在WordPress主題functions.php中,將之前提供的不帶圖片的代碼替換。/*** WordPress發(fā)布文章同步到新浪微博(帶圖片&自定義欄目版)* 文章地址:http://zhangge.net/4947.html*/function post_to_sina_weibo($post_ID) { /* 鑒于很多朋友反饋發(fā)布文章空白,臨時加上調(diào)試代碼,若無問題可刪除此行,若有問題請將錯誤信息在本文留言即可 */ ini_set('display_errors', true); /* 此處修改為通過文章自定義欄目來判斷是否同步 */ if(get_post_meta($post_ID,'weibo_sync',true) == 1) return; $get_post_info = get_post($post_ID); $get_post_centent = get_post($post_ID)->post_content; $get_post_title = get_post($post_ID)->post_title; if ($get_post_info->post_status == 'publish' && $_POST['original_post_status'] != 'publish') { $appkey='1034947262'; /* 此處是你的新浪微博appkey,不修改的話就會顯示來自張戈博客哦! */ $username='微博用戶名'; $userpassword='微博密碼'; $request = new WP_Http; $keywords = ""; /* 獲取文章標(biāo)簽關(guān)鍵詞 */ $tags = wp_get_post_tags($post_ID); foreach ($tags as $tag ) { $keywords = $keywords.'#'.$tag->name."#"; } /* 修改了下風(fēng)格,并添加文章關(guān)鍵詞作為微博話題,提高與其他相關(guān)微博的關(guān)聯(lián)率 */ $string1 = '【文章發(fā)布】' . strip_tags( $get_post_title ).':'; $string2 = $keywords.' 查看全文:'.get_permalink($post_ID); /* 微博字?jǐn)?shù)控制,避免超標(biāo)同步失敗 */ $wb_num = (138 - WeiboLength($string1.$string2))*2; $status = $string1.mb_strimwidth(strip_tags( apply_filters('the_content', $get_post_centent)),0, $wb_num,'...').$string2; /* 獲取特色圖片,如果沒設(shè)置就抓取文章第一張圖片 */ if (has_post_thumbnail()) { $timthumb_src = wp_get_attachment_image_src( get_post_thumbnail_id($post_ID), 'full' ); $url = $timthumb_src[0]; /* 抓取第一張圖片作為特色圖片,需要主題函數(shù)支持 */ } else if(function_exists('catch_first_image')) { $url = catch_first_image(); } /* 判斷是否存在圖片,定義不同的接口 */ if(!empty($url)){ $api_url = 'https://api.weibo.com/2/statuses/upload_url_text.json'; /* 新的API接口地址 */ $body = array('status' => $status,'source' => $appkey,'url' => $url); } else { $api_url = 'https://api.weibo.com/2/statuses/update.json'; $body = array('status' => $status,'source' => $appkey); } $headers = array('Authorization' => 'Basic ' . base64_encode("$username:$userpassword")); $result = $request->post($api_url, array('body' => $body,'headers' => $headers)); /* 若同步成功,則給新增自定義欄目weibo_sync,避免以后更新文章重復(fù)同步 */ add_post_meta($post_ID, 'weibo_sync', 1, true); }}add_action('publish_post', 'post_to_sina_weibo', 0); /*//獲取微博字符長度函數(shù) */function WeiboLength($str){ $arr = arr_split_zh($str); //先將字符串分割到數(shù)組中 foreach ($arr as $v){ $temp = ord($v); //轉(zhuǎn)換為ASCII碼 if ($temp > 0 && $temp < 127) { $len = $len+0.5; }else{ $len ++; } } return ceil($len); //加一取整}/*//拆分字符串函數(shù),只支持 gb2312編碼 //參考:http://u-czh.iteye.com/blog/1565858*/function arr_split_zh($tempaddtext){ $tempaddtext = iconv("UTF-8", "GBK//IGNORE", $tempaddtext); $cind = 0; $arr_cont=array(); for($i=0;$i<strlen($tempaddtext);$i++) { if(strlen(substr($tempaddtext,$cind,1)) > 0){ if(ord(substr($tempaddtext,$cind,1)) < 0xA1 ){ //如果為英文則取1個字節(jié) array_push($arr_cont,substr($tempaddtext,$cind,1)); $cind++; }else{ array_push($arr_cont,substr($tempaddtext,$cind,2)); $cind+=2; } } } foreach ($arr_cont as &$row) { $row=iconv("gb2312","UTF-8",$row); } return $arr_cont;}另外,如果你的主題沒有抓取文章第一張圖片作為特色圖片的功能,請額外添加如下代碼:/* 抓取文章第一張圖片作為特色圖片(已加上是否已存在判斷,可放心添加到functions.php) */if(!function_exists('catch_first_image')){ function catch_first_image() { global $post, $posts; $first_img = ''; ob_start(); ob_end_clean(); $output = preg_match_all('/<img.+src=[\'"]([^\'"]+)[\'"].*>/i', $get_post_centent,$matches); $first_img = $matches [1] [0]; return $first_img; } }我也是在網(wǎng)站接入成功的第一時間就分享了這篇經(jīng)驗稿,在這里也要感謝免費資源部落與張戈博客的分享了。對于微博中帶圖片的功能,我會繼續(xù)努力,也希望這篇文章能夠幫到大家。
建站分享, WordPress技巧我的WordPress建站經(jīng)歷
我高中,上網(wǎng)只有在網(wǎng)吧,沒有自己的個人電腦,對電腦一竅不通。由于對電腦技術(shù)的向往,我報了計算機(jī)工程系。進(jìn)入大學(xué),在大一奠定了一些基礎(chǔ)后,終于在大二開始接觸網(wǎng)站建設(shè)了。做網(wǎng)站,簡單的說就是折騰,但相信每位站長朋友在折騰的背后有很多辛酸。一、2014年下半年 大二上學(xué)期 接觸網(wǎng)頁1、陳婉如老師教了我們班的網(wǎng)頁設(shè)計與制作,了解了網(wǎng)頁的制作方法,學(xué)會了使用Dreamweaver,在這里對陳老師表示感謝。但是這樣制作的網(wǎng)頁都是只能在本地瀏覽,為了完成作業(yè)而制作,我就想將其放在網(wǎng)上,有自己的域名,可以與更多人分享自己的設(shè)計。2、建站像是一個大海,其中的知識很多,越了解越感到浩瀚。3、建站初期,我使用了凡科建站(www.faisco.com),免費提供一個二級域名,內(nèi)容是直接調(diào)用各種可選模板,不能自己上傳網(wǎng)站。我制作了一個網(wǎng)頁,結(jié)果第二天就被封了。理由還是內(nèi)容不健康,果斷放棄。4、后來,認(rèn)識了.tk的免費域名。TK域名可以免費使用,所以我也就申請了一些域名,為我建站打下了很多基礎(chǔ)。我首先申請了613331.tk(613331:我的班級)域名。但是申請域名之后,才開始真正的了解服務(wù)器是什么。窮學(xué)生,買不起服務(wù)器,就在網(wǎng)上沒日沒夜的找免費服務(wù)器。在找服務(wù)器的時候,又開始關(guān)注一個很有用的博客:免費資源部落(www.freehao123.com)。免費資源部落介紹了很多免費的資源,這成為了我建站的指南針,真的非常感謝博主。 5、在尋找免費服務(wù)器的時候,也使用過很多主機(jī):國內(nèi)的,日本的,美國的等。只要免費部落上介紹的,基本都去試過。試用下來發(fā)現(xiàn),美國的服務(wù)器,國內(nèi)訪問速度太慢,淘汰。日本的服務(wù)器,免費的要自動加廣告。更虐心的是,去申請日本服務(wù)器時填寫片假名驗證碼。那酸爽,不忍回味~~6、再說國內(nèi)的免費服務(wù)器,找來找去,也就只有主機(jī)屋(www.zhujiwu.com)的靠譜一點。主機(jī)屋的服務(wù)器提供一個月的免費使用,asp與php都支持,比較強(qiáng)大。之后就需要到主機(jī)屋的用戶中心點擊續(xù)費了,每次續(xù)費可以免費續(xù)15天。下圖是主機(jī)屋用戶中心情況:(點擊放大)7、到期沒有點擊續(xù)費的話,網(wǎng)站上的內(nèi)容全部清除,無法恢復(fù)~~~我的613331.tk就是如此。主機(jī)屋的服務(wù)器在韓國,其他都還好,就是經(jīng)常宕機(jī)。(點擊放大)8、域名與服務(wù)器之間的連接,靠的就是DNS解析了。這個也是自己摸索出來的,盡管之前在網(wǎng)上不知道看過多少次DNS,但是就是不知道這究竟是什么東西。tk域名的管理自身有DNS解析,但是不怎么好用,所以就使用的DNSPod解析,非常好用,也是免費的。(點擊放大)9、解決了域名和服務(wù)器問題后,就把當(dāng)初制作的HTML網(wǎng)頁放在613331.tk上面,并設(shè)置網(wǎng)頁名稱為“***寢室有限責(zé)任公司”。純屬搞笑,然后發(fā)到班群了,給大家分享了下。(點擊放大)10、接著就發(fā)現(xiàn),HTML網(wǎng)頁,如果我要做新的頁面的話,就相當(dāng)于從頭到尾的做網(wǎng)頁,明明有很多相同的東西。再加上后來才知道百度、谷歌對TK域名非常的不感冒,就是因為它免費,有很多人拿它做了很多不對的事情。百度不收錄,就導(dǎo)致沒有訪問量,我有不想再到處發(fā)網(wǎng)址分享,興趣就慢慢的降下來了。二、時間又到了2015年 大二下學(xué)期了 接觸WordPress1、很幸運的,我們班遇到了牛潔老師。牛潔老師給我們班上網(wǎng)站建設(shè)的課,非常感謝牛潔老師。2、牛潔老師做過很多公司和學(xué)校的官網(wǎng),經(jīng)驗老道。在教我們的時候講了很多實例。剛開始上課照顧基礎(chǔ)差的同學(xué)講HTML和CSS基礎(chǔ),對此我不是很感興趣,因為基本都懂了。后來現(xiàn)講了ASP.NET,剛有點興趣卻因為課程進(jìn)展到講PHP,興趣轉(zhuǎn)移到WordPress上了。3、呼~終于到正題了,我的WordPress建站經(jīng)歷。4、WordPress是一個功能非常強(qiáng)大的博客系統(tǒng),插件眾多,易于擴(kuò)充功能。安裝和使用都非常方便。目前WordPress已經(jīng)成為主流的 Blog 搭建平臺。其安裝使用都非常便捷,也是很多個人和企業(yè)建站的優(yōu)先選擇。5、第一次接觸WordPress就是在課堂上,牛老師開始讓我們安裝XAMPP,即在windows上搭建PHP環(huán)境。在安裝WordPress的時候感覺很好玩,后來就自己慢慢的深入了解了。WordPress有很多的主題可以用,網(wǎng)站數(shù)據(jù)又是從數(shù)據(jù)庫調(diào)用的,所以更換主題又不會影響網(wǎng)站數(shù)據(jù),所以非常好用。6、研究WordPress就是需要有一個目標(biāo)。我的目標(biāo)很簡單就確定下來了。我們班這這學(xué)期還有一個陳婉如老師的網(wǎng)頁設(shè)計與制作的實訓(xùn)。因為正值系部網(wǎng)站改版,所以本次實訓(xùn)的主題就是制作系部網(wǎng)站。我和我們的班長兩個一組做了一個HTML的網(wǎng)站,我覺得作的很滿意,所以就很希望系上能夠用起來,但是沒有成功。不過,現(xiàn)在系部官網(wǎng)的頭部SWF動畫用的就是我們班長為我們的網(wǎng)頁制作的。后來我把網(wǎng)站放到capjsj.tk上給我們系的書記看,被看上了,要求放在官網(wǎng)。言歸正傳,我當(dāng)時的目標(biāo)就是能夠?qū)⑽覀冏龅木W(wǎng)頁改成WordPress模板。7、然后我就開始了長達(dá)兩個月的制作,確實比較愚笨。前后經(jīng)歷了十多個版本,每個版本都是在完成了一個功能項目后增加的。我在style.css版本介紹寫上本版本實現(xiàn)的功能,下個版本需要完成的目標(biāo)。就這樣,一個有一個的版本出現(xiàn)了,到現(xiàn)在還沒有完成我的目標(biāo)。8、制作WordPress專題,首先要明白的是一個主題最基本的東西。我認(rèn)為主題最最基本的東西只有兩個文件,一個是index.php,另一個就是style.css。有了這兩個文件,放在WordPress主題文件夾里就會被認(rèn)為是一個主題了,雖然只會有首頁。其他的就不在這里累述。9、推薦學(xué)習(xí)制作WordPress主題最開始就先從網(wǎng)上的教程開始跟著一步一步的跟著做,我就是按照我愛水煮魚的主題教程開始了解WordPress主題的。傳送陣->WordPress 主題教程:從零開始制作 WordPress 主題10、剛開始制作主題的時候,兩眼一抹黑,連最基礎(chǔ)的插圖片我都找了兩個小時才了解是怎么回事——與HTML的方式不太相同,需要在相對路徑前調(diào)用主題的位置路徑。11、學(xué)習(xí)WordPress,需要積累很多WordPress方面的知識,并平時一定要注意積累。下圖就是我的網(wǎng)站書簽:(點擊放大)12、本來,網(wǎng)站只是在capjsj.tk上運行的。但是百度不收錄實在是沒有動力,再加上發(fā)現(xiàn)萬網(wǎng)有一個免費兩年虛擬主機(jī)的活動,而這個虛機(jī)主機(jī)解析的域名需要備案,所以我就在6月3號狠下心買了capjsj.cn這個域名,并且立即開始備案。最終,在6月19日,經(jīng)過16天,備案終于通過了。然后我就一直開始盼著百度收錄,不過可能由于我的網(wǎng)站轉(zhuǎn)載系上的內(nèi)容過多,一直不被收錄,急啊。13、SEO可能做的太差,導(dǎo)致百度引擎不收錄。但是,也是因為我太急的原因,網(wǎng)站沒有調(diào)試好就急急忙忙的上線。沒收錄最主要的原因,我估計就是我修改鏈接的問題。我使用了將文章標(biāo)題自動改成拼音的插件,導(dǎo)致之前的鏈接失效。百度站長工具提示異常。(點擊放大)14、每個站長,尤其是草根站長背后,都有著很多辛酸。我也開始認(rèn)識一些相同志向的站長,也希望大家能夠相互勉勵,共同前進(jìn)!

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