如何用WordPress免插件實(shí)現(xiàn)MarkDown語法支持

WordPress默認(rèn)不支持MarkDown標(biāo)記(不知道最新版實(shí)現(xiàn)沒有),雖然提供了很多第三方MarkDown插件,但都無法達(dá)到滿意的效果。xiaoz一直以來都是用HTML標(biāo)簽來寫文章,雖然排版效果好,但是寫起來真的很費(fèi)勁,效率也不高,于是想到一個(gè)法子讓W(xué)ordPress更好的支持MarkDown語法,并且不需要安裝額外的插件。

如何用WordPress免插件實(shí)現(xiàn)MarkDown語法支持的圖1如何用WordPress免插件實(shí)現(xiàn)MarkDown語法支持的圖2

下載Parsedown

Parsedown可以將MarkDown內(nèi)容解析為HTML,如果內(nèi)容已經(jīng)是HTML則不進(jìn)行解析,有了Parsedown的支持,在發(fā)表WordPress文章的時(shí)候不僅兼容原來的文本模式(HTML)也可以使用MarkDown語法寫作,兩者互不沖突。

  1. 前往 https://meiqia.com/help/development/ 下載最新版Parsedown

  2. 在主題目錄下新建一個(gè)目錄extend

  3. Parsedown.php放到extend目錄

添加鉤子

將下面的代碼添加到主題目錄的functions.php注冊(cè)為WordPress鉤子

//markdown解析function wp_parsedown(){    include_once(get_stylesheet_directory()."/extend/Parsedown.php");
    $Parsedown = new Parsedown();

    $content = get_the_content();
    $content = $Parsedown->text($content);    if(is_single() || is_page()){        echo $content;
    }    else{
        $content = strip_tags($content);
        $content = mb_substr($content,0,180,'UTF-8');        echo $content;
    }
}
add_action('the_content','wp_parsedown');

如果文章外鏈需要自動(dòng)添加nofollow并且在新窗口打開,請(qǐng)使用下面的代碼:

//markdown解析,添加nofollowfunction wp_parsedown(){    include_once(get_stylesheet_directory()."/extend/Parsedown.php");
    $Parsedown = new Parsedown();

    $content = get_the_content();
    $content = $Parsedown->text($content);    if(is_single() || is_page()){
        preg_match_all('/href="(.*?)" rel="external nofollow" target = "_blank" /',$content,$matches);         if($matches){          foreach($matches[1] as $val){           if( strpos($val,home_url())===false ) $content=str_replace("href=\"$val\"", 

        "href=\"$val\" rel=\"external nofollow\" target = \"_blank\" ",$content);
          }
         }        echo $content;
    }    else{
        $content = strip_tags($content);
        $content = mb_substr($content,0,180,'UTF-8');        echo $content;
    }
}
add_action('the_content','wp_parsedown');

注意上面的$content = mb_substr($content,0,180,'UTF-8');這一行,其中180代表首頁文章摘要字?jǐn)?shù),請(qǐng)根據(jù)自身情況修改。

切換到文本模式

WordPress文本模式支持HTML寫作,通過上面的步驟文本模式已經(jīng)完美支持了MarkDown語法。

如何用WordPress免插件實(shí)現(xiàn)MarkDown語法支持的圖3如何用WordPress免插件實(shí)現(xiàn)MarkDown語法支持的圖4

登錄后免費(fèi)查看全文
立即登錄
App下載
技術(shù)鄰APP
工程師必備
  • 項(xiàng)目客服
  • 培訓(xùn)客服
  • 平臺(tái)客服

TOP