//文章外链加上nofollow
add_filter('the_content','link_jump',999);
function link_jump($content){
    preg_match_all('/<a(.*?)href="(.*?)"(.*?)>/',$content,$matches);
    if($matches){
        foreach($matches[2] as $val){
            if(strpos($val,'://')!==false && strpos($val,home_url())===false && !preg_match('/\.(jpg|jepg|png|ico|bmp|gif|tiff)/i',$val) && !preg_match('/(ed2k|thunder|Flashget|flashget|qqdl):\/\//i',$val)){
            $content=str_replace("href=\"$val\"", "href=\"$val\" rel=\"external nofollow\"  target=\"blank\"",$content);
            }
        }
    }
    return $content;
}

/* 移除 Wp 加载的JS和CSS链接中的版本号*/
function wpdaxue_remove_cssjs_ver( $src ) {
    if( strpos( $src, 'ver='. get_bloginfo( 'version' ) ) )
        $src = remove_query_arg( 'ver', $src );
    return $src;
}
add_filter( 'style_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );
add_filter( 'script_loader_src', 'wpdaxue_remove_cssjs_ver', 999 );

/* 移除 wp_headd多余加载*/
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0 );//rel=shortlink  rel=canonical
remove_action('wp_head','adjacent_posts_rel_link_wp_head', 10, 0 );// 上、下篇. 
remove_action('wp_head', 'wp_resource_hints', 2 );//禁止WordPress头部加载 s.w.org

/* 移除 oembed引用功能 相关JS 及功能*/
function stop_loading_wp_embed_and_jquery() {
    if (!is_admin()) {
        wp_deregister_script('wp-embed');
    }
}
remove_action( 'rest_api_init', 'wp_oembed_register_route' );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );//rel="alternate
remove_action( 'wp_head', 'wp_oembed_add_host_js' );
remove_filter( 'oembed_dataparse', 'wp_filter_oembed_result', 10 );
add_action('init', 'stop_loading_wp_embed_and_jquery');
add_filter( 'embed_oembed_discover', '__return_false' );

// 移除头部 wp-json 标签和 HTTP header 中的 link 
remove_action('wp_head', 'rest_output_link_wp_head', 10 );
remove_action('template_redirect', 'rest_output_link_header', 11 );

/* 移除菜单的多余CSS选择器*/
add_filter('nav_menu_css_class', 'my_css_attributes_filter', 100, 1);
add_filter('page_css_class', 'my_css_attributes_filter', 100, 1);
function my_css_attributes_filter($var) {
    return is_array($var) ? array_intersect($var, array('current-menu-item','menu-item-has-children','xuan','xuan2','page_item')) : '';
}//留5个样式-其中xuan样式是菜单图标是旋转,这个要在菜单添加CSS类

/* WordPress 5.0+移除 block-library CSS*/
add_action( 'wp_enqueue_scripts', 'fanly_remove_block_library_css', 100 );
function fanly_remove_block_library_css() {
    wp_dequeue_style( 'wp-block-library' );
}

//显示页面查询次数、加载时间和内存占用 正式上线可删除
function performance( $visible = false ) {
    $stat = sprintf(  '%d 次查询 耗时 %.3f seconds, 使用 %.2fMB 内存',
        get_num_queries(),
        timer_stop( 0, 3 ),
        memory_get_peak_usage() / 1024 / 1024
    );
    echo $visible ? $stat : "" ;
}

wordpress 常见代码文章外链加上nofollow移除多余加载JS和CSS代码等相关推荐

  1. wordpress home.php,WordPress主题通过function.php来加载js和css文件

    WordPress主题开发的时候可以直接将需要的js或css写在head标签中,但是现在已经不主张这种加载方式了,现在WordPress主题通过function.php来加载js和css文件. 基本架 ...

  2. js动态载入css文件,原生JS动态加载JS、CSS文件及代码脚本(示例代码)

    var DynamciLoadUtil = { // 动态加载外部js文件,并执行回调 loadJS: function(url, callback){ var script = document.c ...

  3. 正确加载 Javascript 和 CSS 到 WordPress

    2019独角兽企业重金招聘Python工程师标准>>> 有两种常用的 add_action 钩子可以加载 脚本和CSS到WordPress: init: 确保始终为您的网站头部加载脚 ...

  4. java代码加载_java类中代码加载顺序

    package org.senssic; /** * 一般顺序:静态块-->静态变量-->成员变量-->构造方法-->静态方法(或非静态方法,需要调用) * 1.静态代码块(只 ...

  5. 一个让WordPress媒体库支持外链图片的插件

    最近有一个月左右没更新了,因为这个月的业余时间都在忙于一个WordPress插件:External Media without Import. 其实只是很小很简单的一个插件,代码不过短短几百行.不过这 ...

  6. webpack5.x 各种开发常见配置大汇总 loader plugin devServer proxy babel 懒加载

    webpack学习之旅 文章目录 webpack学习之旅 webpack基础打包 认识webpack 脚手架依赖webpack webpack是什么 Vue项目加载的文件有哪些 webpack使用前提 ...

  7. UTF8文件带BOM引起的问题——iOS端竟然加载出了html代码

    起因是公司iOS端竟然加载出来了HTML代码,百思不得其解,查文献,原来如此... UTF-8 不需要 BOM,尽管 Unicode 标准允许在 UTF-8 中使用 BOM. 所以不含 BOM 的 U ...

  8. vscode 安装cnpm出现cnpm : 无法加载文件 C:\Users\代码\AppData\Roaming\npm\cnpm.ps1

    解决办法 PS D:\devCode\intelligence-community-admin> cnpm -v cnpm : 无法加载文件 C:\Users\代码\AppData\Roamin ...

  9. 压缩你的JS和CSS代码

    压缩你的JS和CSS代码 2008年04月01日 星期二 15:40 减小代码在传输中的大小,就能提高页面的传输速度,打开网页也就快了.在上一篇文章中提到了使用Apache2的mod_deflate模 ...

最新文章

  1. word树状分支图_交互设计技能 | 抛弃Word,试试用Excel和Xmind来整理思路吧
  2. 19-for循环语句
  3. 史上最全最常用批处理260多个打包下载
  4. AtCoder Beginner Contest 172总结
  5. python做自动化控制postman_使用postman+newman+python做接口自动化测试
  6. Windows函数错误处理
  7. ubuntu12.04 Struts2 配置过程中出现的错误
  8. 在IDEA中创建Maven项目和添加tomcat
  9. 自动控制原理(第七版)胡寿松 课本
  10. SDNUOJ 1520.采药(多重背包问题)
  11. 影子系统、沙盒、虚拟机的区别
  12. 计算流体力学CFD入门教程介绍
  13. Office—OneNote快捷键操作
  14. 手游方舟重启维护服务器要多久,方舟生存进化手游日常维护多久
  15. 编写一个函数模板,实现两个对象大小的比较,并按照需求返回较大者或较小者。
  16. note同步不及时 one_解决无法同步 OneNote 的问题
  17. FME cad中地块图形与图形标注信息的连接(空间关系连接)
  18. 铁路计算机应用期刊级别,铁路单位评审高级职称可以发表哪些期刊呢?
  19. FPGA系列:ZCU102开发板上的第一个工程(MIG控制器)
  20. Hive 史上最全面的大数据学习第九篇(五) Hive 自定义函数 每一天都是美好的一天!

热门文章

  1. 《海外社交媒体营销》一一1.4 新的玩法,更多价值
  2. mysql的所有聚合函数_MySQL常用聚合函数详解
  3. Java里面reverse_Java Java lang.Long.reverse()用法及代码示例
  4. XPath实战之爬取豆瓣电影
  5. python爬虫工程师 成长之路六(一) 非结构化数据之XPath
  6. 502网关错误解决_什么是502错误网关错误(以及如何解决)?
  7. 一文让你明白CAD开发基本结构框架(CAD二次开发入门)
  8. eclipse如何创建多层包(多级包)
  9. 用反射解决水果篮问题 [Design, C#]
  10. 【牛客刷题】字符函数和字符串函数