注意:每一段代码上方都有功能注释,复制到主题 functions.php 文件,按需自取!
//移除标头超链接 s.w.org
remove_action('wp_head','wp_resource_hints',2);
//移除文章和评论feed
remove_action( 'wp_head', 'feed_links', 2 );
//移除分类等feed
remove_action( 'wp_head', 'feed_links_extra', 3 );
// 隐藏WordPress登录失败时的错误提示信息
function no_wordpress_errors(){
return 'Something is Wrong.';
}
add_filter( 'login_errors', 'no_wordpress_errors' );
//替换Gavatar头像地址
function get_ssl_avatar($avatar) {
if (preg_match_all(
'/(src|srcset)=["\']https?.*?\/avatar\/([^?]*)\?s=([\d]+)&([^"\']*)?["\']/i',
$avatar,
$matches
) > 0) {
$url = 'https://cdn.sep.cc';
$size = $matches[3][0];
$vargs = array_pad(array(), count($matches[0]), array());
for ($i = 1; $i < count($matches); $i++) {
for ($j = 0; $j < count($matches[$i]); $j++) {
$tmp = strtolower($matches[$i][$j]);
$vargs[$j][] = $tmp;
if ($tmp == 'src') {
$size = $matches[3][$j];
}
}
}
$buffers = array();
foreach ($vargs as $varg) {
$buffers[] = vsprintf(
'%s="%s/avatar/%s?s=%s&%s"',
array($varg[0], $url, $varg[1], $varg[2], $varg[3])
);
}
return sprintf(
'<img alt="avatar" %s class="avatar avatar-%s" height="%s" width="%s" />',
implode(' ', $buffers), $size, $size, $size
);
} else {
return false;
}
}
add_filter('get_avatar', 'get_ssl_avatar');
//隐藏核心更新提示
add_filter('automatic_updater_disabled', '__return_true');
add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
//隐藏插件更新提示
remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$b', "return null;" ) );
//隐藏主题更新提示
remove_action( 'load-update-core.php', 'wp_update_themes' );
add_filter( 'pre_site_transient_update_themes', create_function( '$c', "return null;" ) );
//禁用古腾堡小工具
function example_theme_support() {
remove_theme_support( 'widgets-block-editor' );
}
add_action( 'after_setup_theme', 'example_theme_support' );
//WordPress查看站点新窗口打开
add_action( 'admin_bar_menu', 'customize_my_wp_admin_bar', 80 );
function customize_my_wp_admin_bar( $wp_admin_bar ) {
//获取view-site 节点以便修改
$node = $wp_admin_bar->get_node('view-site');
//修改打开方式
$node->meta['target'] = '_blank';
//更新节点
$wp_admin_bar->add_node($node);
}
//禁用懒加载
add_filter('wp_lazy_loading_enabled', '__return_false');
//移除站点地图用户列表
add_filter( 'wp_sitemaps_add_provider', function ($provider, $name) {
return ( $name == 'users' ) ? false : $provider;
}, 10, 2);
//移除站点地图标签
add_filter(
'wp_sitemaps_taxonomies',
function( $taxonomies ) {
unset( $taxonomies['post_tag'] );
return $taxonomies;
}
);
// 将默认的wp-sitemap.xml改为sitemap.xml
add_action( 'init', 'add_new_url_main_sitemap' );
add_filter( 'home_url', 'fix_wp_sitemap_url', 11, 2 );
function add_new_url_main_sitemap() {
add_rewrite_rule( '^sitemap\.xml$', 'index.php?sitemap=index', 'top' );
}
function fix_wp_sitemap_url( $url, $path ) {
if ( '/wp-sitemap.xml' === $path ) {
return str_replace( '/wp-sitemap.xml', '/sitemap.xml', $url );
}
return $url;
}
//站点地图增加修改时间
add_filter(
'wp_sitemaps_posts_entry',
function( $entry, $post ) {
$entry['lastmod'] = $post->post_modified_gmt;
return $entry;
},
10,
2
);
/* 评论作者链接新窗口打开 */
function my_get_comment_author_link() {
$url = get_comment_author_url( $comment_ID );
$author = get_comment_author( $comment_ID );
if ( empty( $url ) || 'http://' == $url )
return $author;
else
return "<a target='_blank' href='$url' rel='external nofollow' class='url'>$author</a>";
}
add_filter('get_comment_author_link', 'my_get_comment_author_link');
//禁止健康检测
function prefix_remove_site_health( $tests ) {
unset( $tests['direct']['php_version'] );
unset( $tests['direct']['wordpress_version'] );
unset( $tests['direct']['plugin_version'] );
unset( $tests['direct']['theme_version'] );
unset( $tests['direct']['sql_server'] );
unset( $tests['direct']['php_extensions'] );
unset( $tests['direct']['utf8mb4_support'] );
unset( $tests['direct']['https_status'] );
unset( $tests['direct']['ssl_support'] );
unset( $tests['direct']['scheduled_events'] );
unset( $tests['direct']['http_requests'] );
unset( $tests['direct']['is_in_debug_mode'] );
unset( $tests['direct']['dotorg_communication'] );
unset( $tests['direct']['background_updates'] );
unset( $tests['direct']['loopback_requests'] );
unset( $tests['direct']['rest_availability'] );
return $tests;
}
add_filter( 'site_status_tests', 'prefix_remove_site_health' );
//删除站点健康
add_action( 'admin_menu', 'remove_site_health_menu' );
function remove_site_health_menu(){
remove_submenu_page( 'tools.php','site-health.php' );
}
//禁止后台谷歌字体
function coolwp_remove_open_sans_from_wp_core() {
wp_deregister_style( 'open-sans' );
wp_register_style( 'open-sans', false );
wp_enqueue_style('open-sans','');
}
add_action( 'init', 'coolwp_remove_open_sans_from_wp_core' );
//文章内链接新窗口打开
function autoblank($text) {
$return = str_replace('<a', '<a target="_blank"', $text);
return $return;
}
add_filter('the_content', 'autoblank');
// user_login 不出现在作者的文章列表链接中
add_filter('author_link', function($link, $author_id, $author_nicename){
$author = get_userdata($author_id);
if(sanitize_title($author->user_login) == $author_nicename){
global $wp_rewrite;
$link = $wp_rewrite->get_author_permastruct();
$link = str_replace('%author%', $author_id, $link);
$link = home_url(user_trailingslashit($link));
}
return $link;
}, 10, 3);
//作者链接设置为 404 页面
add_action('pre_get_posts', function($wp_query) {
if($wp_query->is_main_query() && $wp_query->is_author()){
if($author_name = $wp_query->get('author_name')){
$author_name = sanitize_title_for_query($author_name);
$author = get_user_by('slug', $author_name);
if($author){
if(sanitize_title($author->user_login) == $author->user_nicename){
$wp_query->set_404();
}
}else{
if(is_numeric($author_name)){
$wp_query->set('author_name', '');
$wp_query->set('author', $author_name);
}
}
}
}
});
//user_login 不出现在 body_class 中
add_filter('body_class', function($classes){
if(is_author()){
global $wp_query;
$author = $wp_query->get_queried_object();
if(sanitize_title($author->user_login) == $author->user_nicename){
$author_class = 'author-'.sanitize_html_class($author->user_nicename, $author->ID);
$classes = array_diff($classes, [$author_class]);
}
}
return $classes;
});
//user_login 不出现在 comment_class 中
add_filter('comment_class', function ($classes){
foreach($classes as $key => $class) {
if(strstr($class, 'comment-author-')){
unset($classes[$key]);
}
}
return $classes;
});
//redirect to home page after logout
add_filter('logout_url', 'my_logout_home', 10, 2);
function my_logout_home($logouturl, $redir)
{
$redir = get_option('siteurl');
return $logouturl . '&redirect_to=' . urlencode($redir);
}
//禁止外语评论
function wp_comment_post( $incoming_comment ) {
$pattern = '/[一-龥]/u';
$jpattern ='/[ぁ-ん]+|[ァ-ヴ]+/u';
$ruattern ='/[А-я]+/u';
$arattern ='/[؟-ض]+|[ط-ل]+|[م-م]+/u';
$thattern ='/[ก-๛]+/u';
if(preg_match($jpattern, $incoming_comment['comment_content'])){
wp_die( "<a style= 'color: #f00;'>Prohibit comments not in Chinese!</a>" );
}
if(preg_match($ruattern, $incoming_comment['comment_content'])){
wp_die( "<a style= 'color: #f00;'>Prohibit comments not in Chinese!</a>" );
}
if(preg_match($arattern, $incoming_comment['comment_content'])){
wp_die( "<a style= 'color: #f00;'>Prohibit comments not in Chinese!</a>" );
}
if(preg_match($thattern, $incoming_comment['comment_content'])){
wp_die( "<a style= 'color: #f00;'>Prohibit comments not in Chinese!</a>" );
}
if(!preg_match($pattern, $incoming_comment['comment_content'])) {
wp_die( "<a style= 'color: #f00;'>Prohibit comments not in Chinese!</a>" );
}
return( $incoming_comment );
}
add_filter('preprocess_comment', 'wp_comment_post');
//隐藏未分类
add_filter('get_terms', 'sepcc_hide_product_uncategorized', 10, 4);
function sepcc_hide_product_uncategorized($terms, $taxonomies, $args , $term_query)
{
// 要隐藏的分类类型
$hide_taxonomies = ['product_cat','category'];
// 要隐藏的分类slug
$hide_term_slugs = ['uncategorized'];
if (array_intersect($hide_taxonomies, $taxonomies) && !is_admin()) {
foreach ($terms as $k => $term) {
if (in_array($term->slug, $hide_term_slugs)) {
unset($terms[$k]);
}
}
}
return $terms;
}
//后台显示文章浏览数
add_filter('manage_posts_columns', function($columns){
$columns['views'] = __('阅读');
return $columns;
});
add_action('manage_posts_custom_column',function($column_name,$id){
if ($column_name != ''){
return;
}
echo get_post_meta($id, "",true);
},10,2);
// 移除 WordPress 仪表盘欢迎面板
function zm_remove_dashboard_meta() {
remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // 概览
remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' );// WordPress活动及新闻
remove_action( 'welcome_panel', 'wp_welcome_panel' );// 欢迎
}
add_action( 'admin_init', 'zm_remove_dashboard_meta' );
// 移除站点健康状态小工具、wp_dark_mode、PHP版本检测
function wpkj_remove_dashboard_widget() {
remove_meta_box( 'dashboard_site_health', 'dashboard', 'normal' );
remove_meta_box( 'wp_dark_mode', 'dashboard', 'normal' );
remove_meta_box( 'dashboard_php_nag', 'dashboard', 'normal' );
}
add_action('wp_dashboard_setup', 'wpkj_remove_dashboard_widget' );
// 设置图片的默认显示方式
add_action( 'after_setup_theme', 'default_attachment_display_settings' );
function default_attachment_display_settings() {
update_option( 'image_default_align', 'center' ); //居中显示
update_option( 'image_default_link_type', ' file ' ); //连接到媒体文件本身
update_option( 'image_default_size', 'full' ); //完整尺寸
}
// 移除 WordPress 加载的JS和CSS链接中的版本号
function wpdaxue_remove_cssjs_ver( $src ) {
if( strpos( $src, 'ver=' ) )
$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 );
// 给WordPress分类目录链接删除斜杠
function mx_untrailingslashit($string, $type_of_url) {
if ( $type_of_url != 'page' )
$string = untrailingslashit($string);
return rtrim( $string, '/\\' );
}
add_filter('user_untrailingslashit', 'mx_untrailingslashit', 10, 2);
//禁用 WordPress 登录界面的语言切换器
add_filter( 'login_display_language_dropdown', '__return_false' );
//移除WordPress后台底部文字
function footerText () {
return '';
}
add_filter('admin_footer_text', 'footerText', 9999);
add_filter('update_footer', '_admin_footer_right_text', 11);
function _admin_footer_right_text($text) {
$text = '';
return $text;
}
//仪表盘布局
function shapeSpace_screen_layout_columns($columns) {
$columns['dashboard'] = 1;
return $columns;
}
add_filter('screen_layout_columns', 'shapeSpace_screen_layout_columns');
function shapeSpace_screen_layout_dashboard() { return 1; }
add_filter('get_user_option_screen_layout_dashboard', 'shapeSpace_screen_layout_dashboard');
//屏蔽站点管理员邮箱定期验证功能
add_filter( 'admin_email_check_interval', '__return_false');
// Disable auto-embeds for WordPress >= v3.5
remove_filter( 'the_content', array( $GLOBALS['wp_embed'], 'autoembed' ), 8 );
//屏蔽文章 Embed 功能
remove_action('wp_head', 'wp_oembed_add_discovery_links');
remove_action('wp_head', 'wp_oembed_add_host_js');
// 屏蔽 REST API
add_filter('rest_enabled', '__return_false');
add_filter('rest_jsonp_enabled', '__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 );
//Wordpress 5.0+ 禁用 Gutenberg 编辑器
add_filter('use_block_editor_for_post', '__return_false');
remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
// Disable XML-RPC functionality
add_filter('xmlrpc_enabled', '__return_false');
//移除后台界面右上角的帮助和显示
add_action('in_admin_header', function(){
global $current_screen;
$current_screen->remove_help_tabs();
});
add_action('in_admin_header', function(){
add_filter('screen_options_show_screen', '__return_false');
add_filter('hidden_columns', '__return_empty_array');
});
//移除页面头部的版本和服务发现相关代码
remove_action('wp_head', 'wp_generator');
remove_action('wp_head', 'rsd_link');
remove_action('wp_head', 'wlwmanifest_link');
remove_action('wp_head', 'wp_shortlink_wp_head', 10, 0);
//移除 WordPress 大小写修正
remove_filter( 'the_content', 'capital_P_dangit', 11 );
remove_filter( 'the_title', 'capital_P_dangit', 11 );
remove_filter( 'wp_title', 'capital_P_dangit', 11 );
remove_filter( 'document_title', 'capital_P_dangit', 11 );
remove_filter( 'comment_text', 'capital_P_dangit', 31 );
remove_filter( 'widget_text_content', 'capital_P_dangit', 11 );
//彻底关闭 pingback
add_filter('xmlrpc_methods',function($methods){
$methods['pingback.ping'] = '__return_false';
$methods['pingback.extensions.getPingbacks'] = '__return_false';
return $methods;
});
//禁用 pingbacks, enclosures, trackbacks
remove_action( 'do_pings', 'do_all_pings', 10 );
//去掉 _encloseme 和 do_ping 操作。
remove_action( 'publish_post','_publish_post_hook',5 );
//移除后台隐私相关的页面
add_action('admin_menu', function(){
remove_submenu_page('options-general.php', 'options-privacy.php');
remove_submenu_page('tools.php', 'export-personal-data.php');
remove_submenu_page('tools.php', 'erase-personal-data.php');
}, 11);
//WordPress 彻底移除后台“隐私”设置功能
add_filter( 'map_meta_cap', 'ds_disable_core_privacy_tools', 10, 2 );
remove_action( 'init', 'wp_schedule_delete_old_privacy_export_files' );
remove_action( 'wp_privacy_delete_old_export_files', 'wp_privacy_delete_old_export_files' );
function ds_disable_core_privacy_tools( $caps, $cap ) {
switch ( $cap ) {
case 'export_others_personal_data':
case 'erase_others_personal_data':
case 'manage_privacy_options':
$caps[] = 'do_not_allow';
break;
}
return $caps;
}
//后台提速
remove_action('admin_init', '_maybe_update_core');
remove_action('admin_init', '_maybe_update_plugins');
remove_action('admin_init', '_maybe_update_themes');
remove_action('init', 'wp_schedule_update_checks');
wp_clear_scheduled_hook('wp_version_check');
wp_clear_scheduled_hook('wp_update_plugins');
wp_clear_scheduled_hook('wp_update_themes');
//禁用emoji表情
function disable_emojis() {
remove_action( 'wp_head', 'print_emoji_detection_script', 7 );
remove_action( 'admin_print_scripts', 'print_emoji_detection_script' );
remove_action( 'wp_print_styles', 'print_emoji_styles' );
remove_action( 'admin_print_styles', 'print_emoji_styles' );
remove_filter( 'the_content_feed', 'wp_staticize_emoji' );
remove_filter( 'comment_text_rss', 'wp_staticize_emoji' );
remove_filter( 'wp_mail', 'wp_staticize_emoji_for_email' );
add_filter( 'tiny_mce_plugins', 'disable_emojis_tinymce' );
}
add_action( 'init', 'disable_emojis' );
//Filter function used to remove the tinymce emoji plugin.
function disable_emojis_tinymce( $plugins ) {
if ( is_array( $plugins ) ) {
return array_diff( $plugins, array( 'wpemoji' ) );
} else {
return array();
}}
//RSS feed更新频率
add_filter( 'rss_update_period', function() {return 'weekly';} );
add_filter( 'rss_update_frequency', function() {return '2';} );
//隐藏feed 版本号
function ludou_remove_wp_version() {
return '';
}
add_filter('the_generator', 'ludou_remove_wp_version');
// add icon and logo to RSS feeds
add_action('rss_head','sep_rss_feed_add_icon');
add_action('rss2_head','sep_rss_feed_add_icon');
add_action('commentsrss2_head','sep_rss_feed_add_icon');
add_action('atom_head','sep_rss_feed_add_icon');
add_action('comments_atom_head','sep_rss_feed_add_icon');
function sep_rss_feed_add_icon() { ?>
<image>
<url><?php bloginfo_rss('url'); ?>/favicon.ico</url>
<title><?php bloginfo_rss('name'); ?></title>
<link><?php bloginfo_rss('url'); ?></link>
<width>32</width>
<height>32</height>
<description><?php bloginfo('description'); ?></description>
</image>
<?php
}
原创文章,作者:howkunet,如若转载,请注明出处:https://www.intoep.com/wp/63480.html