在N年前,我寫了一片教程:WordPress 非插件實(shí)現(xiàn)前臺投稿功能 ,這篇教程目前的點(diǎn)擊率已經(jīng)快接近9000了,算是筆者博客最火的一篇文章了。這篇教程從發(fā)布到現(xiàn)在,不知道改過多少遍了,也不斷收到讀者各方面的需求,我也在留言中給他們一一回復(fù)了,所以文章中找不到你想要的東西,可以看看留言。
鑒于留言中我已經(jīng)給很多讀者指導(dǎo)怎么修改代碼,如果現(xiàn)在再去修改文章中的代碼,勢必會導(dǎo)致代碼所在行數(shù)的變化,等于毀了我之前給讀者的所有回復(fù)。最近一段時(shí)間,我將再寫幾篇文章,告訴你怎么增強(qiáng)這個(gè)投稿功能。今天要講的是如何給這個(gè)投稿功能添加一個(gè)富文本編輯器(也包括了圖片上傳功能),原來的代碼只能實(shí)現(xiàn)一個(gè)簡單的純文本輸入框,對于投稿者的輸入體驗(yàn)不太好。
一、下載KindEditor
這里我們將使用KindEditor來作為我們的編輯器,點(diǎn)此下載KindEditor。下載后解壓,將文件夾重命名為kindeditor,放到你當(dāng)前主題文件夾下。
二、修改HTML頁面
打開WordPress添加投稿功能,下面我們將對這篇文章中的代碼進(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, /* 開啟圖片上傳功能,不需要就將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('?>', '?>', $content);
$content = str_ireplace('<?', '<?', $content);
$content = str_ireplace('<script', '<script', $content);
$content = str_ireplace('<a ', '<a rel="external nofollow" ', $content);
四、自定義編輯器功能
經(jīng)過以上三步的修改,目前你的編輯器就可以正常使用了。但是對不同人來說,他們的需求可能不太一樣,有人可能會覺得上面的編輯器太過簡單。那么怎樣自定義編輯器的功能呢?這里我就不講編程了,簡單點(diǎn)就找編輯器自帶的樣例來說就行了。
我們下載的kindeditor目錄下有個(gè)examples文件夾,這里是部分演示,雙擊打開index.html可以看到所有演示。你是否看中某個(gè)演示呢?那就用文本編輯器打開它的html文件,查看里面的代碼。這些html文件的代碼中都可以看到類似代碼:
<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è)編輯器就是這么簡單。如果你會編程,或者懂看文檔,動(dòng)手能力強(qiáng),可以看看KindEditor的文檔,自己動(dòng)手玩玩:KindEditor文檔。
更多信息請查看IT技術(shù)專欄