• 文章介绍
  • 最近在更新ripro主题美化教程,经常会用到代码高亮,但是 WordPress 本身代码高亮功用并友好。

    今天就给大家分享一个免插件完成代码高亮显现的办法。

    Prismjs 就能够让我们的 wordpress 不用装插件就完成代码高亮的功用,Prismjs 是一个特地做代码高亮的开源项目,他的代码特性是精约、轻盈、快捷、高效、快速,而且支持 127 种程序言语的代码高亮。

    最主要的是 Prismjs 只需一个 JS 文件和一个 CSS 文件。运用 Prismjs 来完成代码高亮的时分,只需下载该文件放到网站,然后将这两个文件引进到页面上就能够了。

    我们来看方法:

    1.首先下载 prism 压缩包上传至主题根目录(本文底部有下载);
    2.在主题 function.php 文件最后面添加以下代码即可。

    
    //Wordpress免插件实现代码高亮
        //Prism.js开始
         function add_prism() {
                wp_register_style(
                    'prismCSS',
                    get_stylesheet_directory_uri() . '/prism/prism.css' //自定义路径
                 );
                  wp_register_script(
                    'prismJS',
                    get_stylesheet_directory_uri() . '/prism/prism.js' //自定义路径
                 );
                wp_enqueue_style('prismCSS');
                wp_enqueue_script('prismJS');
            }
        add_action('wp_enqueue_scripts', 'add_prism');
        //Prism.js结束
        //编辑器添加快捷键
        function appthemes_add_quicktags() {
        ?>
        <script type="text/javascript">
        QTags.addButton( 'codeHighlight', '代码高亮', '\n【pre class="line-numbers"】【code class="language-markup"】\n HTML代码\n【/code】【/pre】\n' );
        QTags.addButton( 'php', 'php', '\n【pre class="line-numbers"】【code class="language-php"】\n PHP代码\n【/code】【/pre】\n' );
        QTags.addButton( 'python', 'Python', '\n【pre class="line-numbers"】【code class="language-python"】\n Python代码\n【/code】【/pre】\n' );//修改此段【】为<>
        </script>
        <?php
        }
        add_action('admin_print_footer_scripts', 'appthemes_add_quicktags' );
        //添加快捷键结束
        //Pre标签内的HTML不转义
        add_filter( 'the_content', 'pre_content_filter', 0 );
        function pre_content_filter( $content ) {
            return preg_replace_callback( '|【pre.*】【code.*】(.*)【/code】【/pre】|isU' , 'convert_pre_entities', $content );
        }//修改此段【】为<>
        function convert_pre_entities( $matches ) {
            return str_replace( $matches[1], htmlentities( $matches[1] ), $matches[0] );
        }
    

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考免责介绍。
    提示下载完但解压或打开不了
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。 若排除这种情况,可在对应资源底部留言,或联系客服处理。