WordPress免插件实现MarkDown语法支持-WordPress开发教程

WordPress默认不支持MarkDown标记(不知道最新版实现没有),虽然提供了很多第三方MarkDown插件,但都无法达到满意的效果。一直以来都是用HTML标签来写文章,虽然排版效果好,但是写起

WordPress默认不支持MarkDown标记(不知道最新版实现没有),虽然提供了很多第三方MarkDown插件,但都无法达到满意的效果。一直以来都是用HTML标签来写文章,虽然排版效果好,但是写起来真的很费劲,效率也不高,于是想到一个法子让WordPress更好的支持MarkDown语法,并且不需要安装额外的插件。

WordPress免插件实现MarkDown语法支持

下载Parsedown

Parsedown可以将MarkDown内容解析为HTML,如果内容已经是HTML则不进行解析,有了Parsedown的支持,在发表WordPress文章的时候不仅兼容原来的文本模式(HTML)也可以使用MarkDown语法写作,两者互不冲突。

  1. 前往 https://github.com/erusev/parsedown/releases/ 下载最新版Parsedown
  2. 在主题目录下新建一个目录extend
  3. Parsedown.php放到extend目录

添加钩子

将下面的代码添加到主题目录的functions.php注册为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');

如果文章外链需要自动添加nofollow并且在新窗口打开,请使用下面的代码:

//markdown解析,添加nofollow
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()){
        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代表首页文章摘要字数,请根据自身情况修改。

切换到文本模式

WordPress文本模式支持HTML写作,通过上面的步骤文本模式已经完美支持了MarkDown语法。

WordPress免插件实现MarkDown语法支持

原创文章,作者:DavidWu,如若转载,请注明出处:https://www.davidwu.net/archives/122232

WordPress安全防护插件
服务项目 服务内容 收费标准(元)
开发定制 WordPress主题/插件开发定制 (以最终需求为准)
主题/插件汉化 汉化团队WordPress主题/插件,翻译率95% (以标的主题/插件的句子数量为准)
服务器环境配置 基于您现有服务器,搭建配置网站运行环境,结合我们多年来实战经验,可完美支持WordPress等PHP程序运行,并配置伪静态规则、优化目录权限等问题。服务器我们强烈推荐使用Linux系统。 100元/次
网站托管 若贵站目前尚无技术人员,无法完成服务器环境配置,可选择我们的网站托管服务,直接交付正常运行的WordPress站点,并且无需担心服务器的后续维护工作,一切都由我们来帮您完成。 标配套餐:1000元/年/站点 高配套餐:联系客服获取
网站加速优化 从服务器后端配置优化到WordPress数据库缓存、前端页面缓存、JS和CSS压缩合并,全方位优化网站加载速度,实现秒开。(此服务仅针对(云)服务器/VPS) 500元/次(仅站内优化200元/次)
主题配置 本站所有主题均支持,可快速实现,若有任何问题可以咨询客服解决,若您希望我们提供配置服务,可选购此服务。 英文主题安装 60元/次 汉化主题安装 30元/次
HTTPS配置 HTTPS已经不断普及,并且有着更高的安全性以及SEO上的优待。该服务收取的为服务费,SSL证书产生的费用请自行承担。 100元/次
网站搬家 迁移网站所有文件和数据库信息、网站相关配置的调整、以及迁移中的疑难问题故障排除。 标准收费:500元/次 若网站数据量大,需协商
网站运维 提供整站的运维服务,保证网站正常运行。包含:网站故障定位及排除、网站数据备份和恢复、网站攻击及木马等问题的处理等 标准收费:2000元/年 IP 5000以上需协商

发表评论

电子邮件地址不会被公开。 必填项已用*标注