CorePress Pro S 架構(gòu)設(shè)計(jì)
CorePress Pro S是CorePress Pro的重構(gòu)版,采用了全新的架構(gòu)設(shè)計(jì),性能和易用性成倍提高。
CorePress的誕生,是因?yàn)楸救嗽趯ふ襑ordPress主題中,沒(méi)有一款滿足我的需求,索性自己寫(xiě)一款出來(lái)。從第一個(gè)版本迭代到現(xiàn)在,已經(jīng)2年時(shí)間了,WordPress該踩的坑已經(jīng)踩的差不多了。而CorePress主題,也是在踩坑中,慢慢健全的。CorePress比起其他的主題,特點(diǎn)就是每行代碼,都是我親自寫(xiě)出來(lái)的(一些前端庫(kù)除外),甚至是UI界面,也是我一行一行敲出來(lái)的。
同時(shí),主題使用了當(dāng)時(shí)比較前沿的技術(shù),vue.js+element ui,同時(shí)在各種功能都具備的情況下,包括字體文件等,將主題體積控制到了2M,里面每行代碼,我都知道是干什么用的,目前市面上功能完善,體積小巧的主題并不多。
而在踩坑的這兩年里面,對(duì)于WordPress和PHP有了全新的認(rèn)識(shí),而現(xiàn)有主題,采用的面向過(guò)程的代碼類型,已經(jīng)不滿足后續(xù)拓展需要了。盡管主題代碼自認(rèn)為比較優(yōu)秀,但是距離想要的樣子,差距較大,而最好的解決辦法,就是推倒重來(lái)。
在新版本,我完全使用了面向?qū)ο蟮木幊谭绞?,功能模塊全都封裝了成類使用,并且使用單例模式來(lái)提高性能。同時(shí),我自寫(xiě)了一套框架,在WordPress中,實(shí)現(xiàn)了autoload,來(lái)自動(dòng)加載類。
將主題模塊化,設(shè)計(jì)了主題自己的模板系統(tǒng),只需要繼承模板類,就能很輕松的實(shí)現(xiàn)新模板創(chuàng)建。也就意味著,Pro S,可以很方便的做成任何想要界面。
同樣,除了模板,我還將頁(yè)面的每個(gè)模塊,都獨(dú)立出來(lái)了。例如導(dǎo)航欄,幻燈片,文章列表,都是一個(gè)獨(dú)立的模塊。component文件夾中,每個(gè)子文件夾,都是一個(gè)模塊,要什么,做什么。
使用也非常方便,能自動(dòng)加載style樣式以及JS,在模板界面中,一行代碼即可調(diào)用。
這次主題,采用了最新的vue3和element plus,實(shí)現(xiàn)了后臺(tái)設(shè)置功能。并且后臺(tái)設(shè)置,通過(guò)解析JSON來(lái)實(shí)現(xiàn)可視化編輯,不用再像以前,添加一個(gè)設(shè)置,制作一個(gè)界面了。
這種解析方式,節(jié)省了非常多的代碼冗余,并且方便添加更多的設(shè)置項(xiàng)目。
前端設(shè)計(jì)的時(shí)候,同樣考慮了SEO的優(yōu)化。由于vue是在用戶端渲染,所以,會(huì)避免一些重要的內(nèi)容使用vue渲染,例如文章標(biāo)題、內(nèi)容等信息,還是使用PHP輸出。而在一些無(wú)關(guān)緊要的內(nèi)容上,例如評(píng)論組件,側(cè)邊欄小工具,用戶菜單,則使用vue渲染。實(shí)現(xiàn)了評(píng)論Ajax顯示等友好功能。
最后,框架基本上搭建完了,剩下的就是一些繁瑣的界面設(shè)計(jì)工作了。
相信要不了多少時(shí)間,Pro S就能和大家見(jiàn)面了。屆時(shí),Pro用戶,支持免費(fèi)升級(jí)到Pro S。
從1.4.0版本開(kāi)始,主題已經(jīng)融入Pro S了