掃二維碼與項目經理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流
WordPress是一款非常優(yōu)秀的的博客web程序,盡管它給人的印象就是一個博客網站程序,但實際上通過適當的二次開發(fā)可以實現很多需求,基于它,可以開發(fā)大多數的企業(yè)網站。因此有非常多的知名企業(yè)的官網都是基于它創(chuàng)建的,而且它也有一大批開發(fā)者的支持,因此相關的資源就多得多了。
這里要講的就是一個我們最近在開發(fā)《周清泉律師博客》過程中出現的一個需求:因為是個人網站,需要在網站中引用轉載部分第三方的文章,需要比較嚴謹地標注,一個很好的流程就是在發(fā)布文章的時候可以自定義文章的來源,而WordPress本身是沒有的。
那么有什么方法來增加呢?這次,我們采用了一個非常簡便的方法,當然這也其實是在別人種好的樹下乘涼了,因此使用了一個應用特別廣的php類庫——metabox,這個類庫對于敏捷構建WordPress的自定義字段真的是太好用了,當然之所以在這個項目中用它,是因為實際上這個項目還有別的地方需要用到這個庫。
這個庫的官方地址:http://www.farinspace.com/wpalchemy-metabox/
有了這個庫實現我們的需求是非常簡單的,只要在function.php中引入這個庫文件,然后在新建一個實例文件并在function.php中引入(當然也可以直接把實例化過程直接寫在function中)。而代碼非常簡單,幾行基本上就搞定了。
$options = array(); $boxinfo = array('title' => '文章來源', 'id'=>'from', 'page'=>array('post'), 'context'=>'normal', 'priority'=>'low', 'callback'=>''); $options[] = array( "name" => "", "desc" => "", "id" => "from", "size"=>"80", "std" => "", "type" => "text" ); $new_box = new meta_box($options, $boxinfo);
其中from就是即將插入到postmeta數據表中的鍵名稱了,然后我們在后臺發(fā)布文章的時候就會發(fā)現多了一個自定義輸入框。
我們在發(fā)布文章的時候填上相關信息,文章發(fā)布后這些信息是被保存下來的。實際上就存儲到了postmeta中,而調用這個數據就非常簡單了,直接在前臺使用get_post_meta方法即可,如在文章頁面調用它的來源信息就是:
echo get_post_meta($post->ID,'from');
關于這個方法,可以參考:https://developer.wordpress.org/reference/functions/get_post_meta/。
有了這些你就可以進行相關的開發(fā)了,如果還是搞不定可以聯(lián)系我,當然不是無償的!
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網交流