WordPress投稿功能添加富文本編輯器教程

字號(hào):


    在N年前,我寫(xiě)了一片教程:WordPress 非插件實(shí)現(xiàn)前臺(tái)投稿功能 ,這篇教程目前的點(diǎn)擊率已經(jīng)快接近9000了,算是筆者博客最火的一篇文章了。這篇教程從發(fā)布到現(xiàn)在,不知道改過(guò)多少遍了,也不斷收到讀者各方面的需求,我也在留言中給他們一一回復(fù)了,所以文章中找不到你想要的東西,可以看看留言。
    鑒于留言中我已經(jīng)給很多讀者指導(dǎo)怎么修改代碼,如果現(xiàn)在再去修改文章中的代碼,勢(shì)必會(huì)導(dǎo)致代碼所在行數(shù)的變化,等于毀了我之前給讀者的所有回復(fù)。最近一段時(shí)間,我將再寫(xiě)幾篇文章,告訴你怎么增強(qiáng)這個(gè)投稿功能。今天要講的是如何給這個(gè)投稿功能添加一個(gè)富文本編輯器(也包括了圖片上傳功能),原來(lái)的代碼只能實(shí)現(xiàn)一個(gè)簡(jiǎn)單的純文本輸入框,對(duì)于投稿者的輸入體驗(yàn)不太好。
    一、下載KindEditor
    這里我們將使用KindEditor來(lái)作為我們的編輯器,點(diǎn)此下載KindEditor。下載后解壓,將文件夾重命名為kindeditor,放到你當(dāng)前主題文件夾下。
    二、修改HTML頁(yè)面
    打開(kāi)WordPress添加投稿功能,下面我們將對(duì)這篇文章中的代碼進(jìn)行修改。
    將代碼一中第41行的</form>改成:
    </form>
    <script charset="utf-8" src="<?php bloginfo('template_url'); ?>/kindeditor/kindeditor-min.js"></script>
    <script charset="utf-8" src="<?php bloginfo('template_url'); ?>/kindeditor/lang/zh_CN.js"></script>
    <script>
    /* 編輯器初始化代碼 start */
    var editor;
    KindEditor.ready(function(K) {
    editor = K.create('#tougao_content', {
    resizeType : 1,
    allowPreviewEmoticons : false,
    allowImageUpload : true, /* 開(kāi)啟圖片上傳功能,不需要就將true改成false */
    items : [
    'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold', 'italic', 'underline',
    'removeformat', '|', 'justifyleft', 'justifycenter', 'justifyright', 'insertorderedlist',
    'insertunorderedlist', '|', 'emoticons', 'image', 'link']
    });
    });
    /* 編輯器初始化代碼 end */
    </script>
    三、php代碼小修改
    代碼二第37行代碼改成:
    $content = isset( $_POST['tougao_content'] ) ? trim($_POST['tougao_content']) : '';
    $content = str_ireplace('?>', '?&gt;', $content);
    $content = str_ireplace('<?', '&lt;?', $content);
    $content = str_ireplace('<script', '&lt;script', $content);
    $content = str_ireplace('<a ', '<a rel="external nofollow" ', $content);
    四、自定義編輯器功能
    經(jīng)過(guò)以上三步的修改,目前你的編輯器就可以正常使用了。但是對(duì)不同人來(lái)說(shuō),他們的需求可能不太一樣,有人可能會(huì)覺(jué)得上面的編輯器太過(guò)簡(jiǎn)單。那么怎樣自定義編輯器的功能呢?這里我就不講編程了,簡(jiǎn)單點(diǎn)就找編輯器自帶的樣例來(lái)說(shuō)就行了。
    我們下載的kindeditor目錄下有個(gè)examples文件夾,這里是部分演示,雙擊打開(kāi)index.html可以看到所有演示。你是否看中某個(gè)演示呢?那就用文本編輯器打開(kāi)它的html文件,查看里面的代碼。這些html文件的代碼中都可以看到類(lèi)似代碼:
    <script charset="utf-8" src="../kindeditor-min.js"></script>
    <script charset="utf-8" src="../lang/zh_CN.js"></script>
    <script>
    ... 編輯器初始化代碼
    </script>
    將編輯器初始化代碼那部分代碼替換第三步中的編輯器初始化代碼,然后將 'textarea[name="content"]' ,改成 '#tougao_content'即可。
    好了,添加個(gè)編輯器就是這么簡(jiǎn)單。如果你會(huì)編程,或者懂看文檔,動(dòng)手能力強(qiáng),可以看看KindEditor的文檔,自己動(dòng)手玩玩:KindEditor文檔。