WordPress免插件實現文章代碼高亮方法

2018年8月7日11:37:33 發表評論

阿里云服務器

WordPress pre代碼高亮語法、wordpress代碼高亮js代碼/無插件實現WordPress代碼高亮顯示。WordPress文章內容實現代碼高亮顯示的方法最常見的通過安裝插件來實現。常用比較多的是WordPress 代碼高亮插件:Pure-Highlightjs。也有主題模板本身就帶有代碼高亮功能。以下是Wordpress免插件實現文章代碼高亮方法。

不喜歡安裝WordPress代碼高亮插件的(wordpress程序插件過多也不太好),可以從插件里提取出來添加到你的主題(前提是懂的代碼)。這里提供兩種css樣式顯示高亮代碼。如下:

/*淡白色代碼高亮樣式http://www.atmnxf.live/430.html */
pre {
	display: block;
	padding: 9.5px;
	margin: 0 0 10px;
	font-size: 14px;
	line-height: 20px;
	word-break: break-all;
	word-wrap: break-word;
	white-space: pre;
	white-space: pre-wrap;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	border: 1px solid rgba(0,0,0,.15);
	border-radius: 2px
}
pre.prettyprint {
	margin-bottom: 20px
}
.prettyprint.linenums, pre.prettyprint.linenums {
	-webkit-box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796;
	-moz-box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796;
	box-shadow: inset 40px 0 0 #eee, inset 42px 0 0 #33b796
}
.prettyprint.linenums ol, pre.prettyprint.linenums ol {
	margin: 0 0 0 28px
}
.prettyprint.linenums ol li, pre.prettyprint.linenums ol li {
	padding-left: 6px;
	color: #bebec5;
	line-height: 20px;
	margin-left:3px;
	list-style: decimal
}
.prettyprint.linenums ol li:before, pre.prettyprint.linenums ol li:before {
	content: "";
	width: 0
}
.prettyprint .com {
	color: #666
}
.prettyprint .lit {
	color: #c0c
}
.prettyprint .clo, .prettyprint .opn, .prettyprint .pun {
	color: #0a0
}
.prettyprint .fun {
	color: #dc322f
}
.prettyprint .atv, .prettyprint .str {
	color: #c28f5b
}
.prettyprint .kwd, .prettyprint .tag {
	color: #f92659
}
.prettyprint .atn, .prettyprint .dec, .prettyprint .typ, .prettyprint .var {
	color: #0a0
}
.prettyprint .pln {
	color: #00f
}
 /*暗黑色代碼高亮樣式http://www.atmnxf.live/430.html */
.prettyprint, pre.prettyprint {
	background-color: #272822;
	border: none;
	overflow: hidden;
	padding: 10px 15px;
}
.prettyprint.linenums, pre.prettyprint.linenums {
	-webkit-box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
	-moz-box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
	box-shadow: inset 40px 0 0 #39382E, inset 41px 0 0 #464741;
}
.prettyprint.linenums ol, pre.prettyprint.linenums ol {
	margin: 0 0 0 33px;
}
.prettyprint.linenums ol li, pre.prettyprint.linenums ol li {
	padding-left: 12px;
	color: #bebec5;
	line-height: 20px;
	margin-left: 0;
	list-style: decimal;
}
.prettyprint .com {
	color: #93a1a1;
}
.prettyprint .lit {
	color: #AE81FF;
}
.prettyprint .pun, .prettyprint .opn, .prettyprint .clo {
	color: #F8F8F2;
}
.prettyprint .fun {
	color: #dc322f;
}
.prettyprint .str, .prettyprint .atv {
	color: #E6DB74;
}
.prettyprint .kwd, .prettyprint .tag {
	color: #F92659;
}
.prettyprint .typ, .prettyprint .atn, .prettyprint .dec, .prettyprint .var {
	color: #A6E22E;
}
.prettyprint .pln {
	color: #66D9EF;
}

1、根據你用的wordpress主題風格選擇上面css樣式的其中一種(淡白色或暗黑色),添加到你主題的style.css,其他樣式顯示可自行修改。淡白色顯示效果為本站顯示,暗黑色效果顯示如下圖(多數網站用這種)。

Wordpress免插件實現文章代碼高亮方法

2、下載wordpress高亮js代碼prettify.js,并將prettify.js上傳到主題的js文件下。

3、在wordpress主題的header.php或footer.php添加以下javascript腳本,通常footer.php

<script type='text/javascript' src="<?php echo get_template_directory_uri(); ?>/js/prettify.js"></script>

4、在wordpress主題functions.php文件下添加以下快捷編輯按鈕。主要是在后臺發布文章時不用手動輸入代碼pre。編輯文章時切換到文本模式,然后點擊“代碼高亮”即可插入pre代碼高亮語法。

//后臺編輯器添加按鈕http://www.atmnxf.live/430.html
function prettify_bottom($mce_settings) {
?>
<script type="text/javascript">
QTags.addButton( 'kkpre', '代碼高亮', '<pres class="prettyprint linenums" >\n\n</pres>', "" );//添加高亮代碼
QTags.addButton( 'i</>', '</>', "<", ">" );
function prettify_bottom() {
}
</script>
<?php
}
add_action('after_wp_tiny_mce', 'prettify_bottom');

PS:由于wordpress程序代碼轉義問題,請將上面的兩個"pres" 去掉后面的s,變成"pre"后,再添加到functions.php文件下

至此,wordpress文章代碼高亮添加完全。由ps:由于主題不同,可能css樣式存在差異,如代碼之間的間距(margin/padding)等。請自行修改。

WordPress免插件實現文章代碼高亮方法主要就是將JavaScript文件和CSS文件直接添加到主題里面,不需要插件就可以實現代碼高亮。

maolai

發表評論

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: