开启辅助访问

QQ登录

只需一步,快速开始

使用新浪微博登录

一号多站,快速登录

立即注册 找回密码

魔扣论坛

查看: 471|回复: 4

[经验交流] 不用插件实现WordPress代码高亮显示

[复制链接]
  • TA的每日心情
    开心
    昨天 01:10
  • 签到天数: 940 天

    连续签到: 59 天

    [LV.10]论坛老兵

    3886

    主题

    4088

    帖子

    3万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    139586
    贡献
    15995
    威望
    11907

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2015-12-13 20:50:40 | 显示全部楼层 |阅读模式

    --> 点击购买VIP <----> 点击购买魔扣币 <--【1元 : 50/80/100魔扣币】

    偶尔在日志中加入一些代码,感觉完全没必要安装代码高亮插件,万一某天不用插件了,页面可能会很乱。其实大部分插件都是在代码中强行加入一些标签,然后用CSS定义样式,通过查看页面源文件可以清楚地看到。
    通过在线程序同样是向代码中加入不同的标签,然后定义样式,如果感兴趣可以到发芽网试试,但每次转换都需打开网址操作略显麻烦,不是本篇介绍的重点。

    今天推荐的是一款本地转换代码高亮显示的小工具:

    CodeRenderUnmi

    本程序是基于 dp.SyntaxHighlighter 写的代码语法着色的工具。支持的语言有:
    java/xml/sql/jscript/css/cpp/c#/python/vb/perl/php/ruby/delphi。

    可方便用于你的博客中粘贴代码,只要自定相应的样式 (highlight.css 的内容,.Text 支持自定义样式或在模板里加上语法样式),然后复制用这个工具生成的 HTML 代码就能让你的代码着高亮显示。 可以加入更多语种的支持,本程序就是在 dp.SyntaxHighlighter 的基础上扩展了对 Perl 语言的支持,网上可以找到相应语法的 JS 代码和 CSS。语言扩展支持通过在 shCore.js 和 highlight.css 加入相应代码即可。

    操作很容易,Source Code 中贴上你要着色的代码,然后选择语种,点击 Render 按钮就会在 HTML Code 中生成相应的 HTML 代码,同时在 HTML Preview 中可以预览到效果。

    简 要说明:Lang 下拉框可以选择所支持的语法,Options 右边的 Gutter、Controls、CollapseAll、FirstLine、Columns 是控制生成的额外的元素,逐一点试试就知道了。每个内容显示(输入)区都提供了 Copy/Paste/Clear 快捷操作链接,还有一个总的 Clear 按钮。

    Copy生成 的HTML 代码,在日志编辑窗口切换到HTML源代码编辑模式,粘贴就可以了。

    不过要想正确显示代码高亮还需在WordPress主题中加载样式文件“highlight.css”(在下载的压缩包中)

    方法:

    首先,把highlight.css上传到所使用主题目录中;

    其次:打开header.php,查找:

    1. <link rel="stylesheet" type="text/css" href="<?php bloginfo('template_directory'); ?>/style.css"/>
    复制代码

    在后面添加:

    1. <link rel="stylesheet" href="<?php bloginfo('template_url'); ?>/highlight.css" />
    复制代码

    当然,你也可以复制highlight.css中的所有代码到你主题style.css中,以上步骤就免了!

    如认为默认的样式不符合自己的要求,可以通过修改“highlight.css”中的样式改变代码高亮、边框、背景等颜色,更个性化。

    但需要注意的是Wordpress会自动把半角符号替换为全角,别人复制下来的函数代码标点是全角的,无法使用,切记!

    解决办法:

    1. 打开并编辑 wp-includes/formatting.php 文件,找到以下代码:
    2. // static strings
    3. $curl = str_replace($static_characters, $static_replacements, $curl);
    4. // regular expressions
    5. $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
    6. 将$curl 开头的两句代码注释掉,如下:
    7. // static strings
    8. //$curl = str_replace($static_characters, $static_replacements, $curl);
    9. // regular expressions
    10. //$curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
    复制代码

    PHP:

    1. <div id="branding" role="banner">
    2. <?php $heading_tag = ( is_home() || is_front_page() ) ? 'h1' : 'div'; ?>
    3. <<?php echo $heading_tag;?> id="site-title">
    4. <span>
    5. <a href="<?php echo home_url( '/' ); ?>" title="<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>" rel="home"><?php bloginfo( 'name' ); ?></a>
    6. </span>
    7. </<?php echo $heading_tag; ?>>
    8. <div id="site-description"><?php bloginfo( 'description' ); ?></div>
    9. <?php
    10. // Check if this is a post or page, if it has a thumbnail, and if it's a big one
    11. if ( is_singular() &&
    12. has_post_thumbnail( $post->ID ) &&( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
    13. $image[1] >= HEADER_IMAGE_WIDTH ) :
    14. // Houston, we have a new header image!
    15. echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
    16. else : ?>
    17. <img src="<?php header_image(); ?>" width="<?php echo HEADER_IMAGE_WIDTH; ?>" height="<?php echo HEADER_IMAGE_HEIGHT; ?>" alt="" />
    18. <?php endif; ?>
    19. </div>
    复制代码

    CSS:

    1. #header {
    2. padding: 30px 0 0 0;
    3. }
    4. #site-title {
    5. float: left;
    6. font-size: 30px;
    7. line-height: 36px;
    8. margin: 0 0 18px 0;
    9. width: 700px;
    10. }
    11. #site-title a {
    12. color: #000;
    13. font-weight: bold;
    14. text-decoration: none;
    15. }
    16. #site-description {
    17. clear: rightright;
    18. float: rightright;
    19. font-style: italic;
    20. margin: 14px 0 18px 0;
    21. width: 220px;
    22. }
    23. /* This is the custom header image */
    24. #branding img {
    25. border-top: 4px solid #000;
    26. border-bottom: 1px solid #000;
    27. clear: both;
    28. display: block;
    29. }
    复制代码

    jscript:

    1. $(function() {
    2. $('.related_thumbnail img').animate({"opacity": .5 });
    3. $('.related_thumbnail img').hover(function() {
    4. $(this).stop().animate({ "opacity": 1 });
    5. }, function() {
    6. $(this).stop().animate({ "opacity": .5 });
    7. });
    8. });
    复制代码


    技术服务:网站建设丨SEO优化丨运营维护丨主题汉化丨超级托管
    魔扣源码论坛丨客服QQ:1367681973丨微信客服:morko-net

    该用户从未签到

    1

    主题

    125

    帖子

    249

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    124
    贡献
    124
    威望
    0
    发表于 2017-1-4 18:00:45 来自手机 | 显示全部楼层
    泡一壶香茶,备一壶美酒,恰如我们的友情天长地久!茶香回甘酒甜绵绵,遥远的距离无法隔断彼此的牵挂!愿这浓浓的茶香甜甜美酒,带着深深的思念,送到你的身边,魔扣源码论坛祝福你快乐幸福平安!

    该用户从未签到

    1

    主题

    119

    帖子

    237

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    118
    贡献
    118
    威望
    0
    发表于 2017-4-22 13:13:46 | 显示全部楼层
    沙发位出租,有意请联系电话:13838384381

    该用户从未签到

    1

    主题

    121

    帖子

    241

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    120
    贡献
    120
    威望
    0
    发表于 2017-9-22 15:36:52 | 显示全部楼层
    月光很美,比不上朋友的安慰;星星很美,比不上朋友的点缀;夜空很美,比不上友情的珍贵。愿您天天有快乐相伴,夜夜有好梦相随。天气变凉,魔扣源码论坛愿您安康,;愿心情飞扬

    该用户从未签到

    4

    主题

    161

    帖子

    318

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    157
    贡献
    157
    威望
    0
    发表于 2018-3-30 13:05:50 | 显示全部楼层
    兄弟如手足,女人如衣服,谁动我手足,我扒他衣服-魔扣源码论坛!   
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表