很多实用dux主题的小伙伴,都因为dux本身没有设置一些功能而用来不方便,比如没有禁止古腾堡小工具啥的,笨小兔根据自己的使用习惯,准备了一下dux主题自定义代码,可以让dux更好用。
可以将下面代码段放入dux主题目录中的functions.php文件的// Customize your functions下面即可。
笨小兔已经做好每个代码的注释,自己根据需求选择。
//标签自动别名
add_action('create_term', 'my_custom_term_slug', $priority = 10, $accepted_args = 3);
function my_custom_term_slug($term_id, $tt_id, $taxonomy) {
if ($taxonomy == 'post_tag') {
wp_update_term($term_id, $taxonomy, $args = array('slug' => 't-' . $term_id));
}
}
//WordPress 移除头部 global-styles-inline-css 
add_action('wp_enqueue_scripts', 'fanly_remove_global_styles_inline'); 
function fanly_remove_global_styles_inline(){ 
wp_deregister_style( 'global-styles' ); 
wp_dequeue_style( 'global-styles' ); 
}
// 屏蔽古腾堡编辑器,恢复经典编辑器,因为新的dux主题自带这个功能开关,所以这里注释掉了
//add_filter('use_block_editor_for_post_type', '__return_false');
//remove_action( 'wp_enqueue_scripts', 'wp_common_block_scripts_and_styles' );
//禁用古腾堡风格小工具
add_filter( 'gutenberg_use_widgets_block_editor', '__return_false' );
add_filter( 'use_widgets_block_editor', '__return_false' );
//禁用谷腾堡之后已出classic-theme-styles
add_action( 'wp_enqueue_scripts', function() {
wp_dequeue_style( 'classic-theme-styles' );
}, 20 );
// 页面链接添加html后缀
add_action('init', 'html_page_permalink', -1);
function html_page_permalink() {
    global $wp_rewrite;
    if ( !strpos($wp_rewrite->get_page_permastruct(), '.html')){
        $wp_rewrite->page_structure = $wp_rewrite->page_structure . '.html';
    }
}
//目录添加斜杠
function nice_trailingslashit($string, $type_of_url) {
    if ( $type_of_url != 'single' && $type_of_url != 'page' )
      $string = trailingslashit($string);
    return $string;
}
add_filter('user_trailingslashit', 'nice_trailingslashit', 10, 2);
//禁用s.w.org
add_filter( 'emoji_svg_url', '__return_false' );
//移除短链接shortlink
remove_action('wp_head','wp_shortlink_wp_head',10,0);
//删除wlwmanifest_link
remove_action( 'wp_head', 'wlwmanifest_link' );
//wordpress优化禁用xmlrpc.php并删除前台链接
add_filter('xmlrpc_enabled','__return_false');
remove_action( 'wp_head', 'rsd_link' );
//禁用 REST API、移除 wp-json
add_filter('rest_enabled', '_return_false');
add_filter('rest_jsonp_enabled', '_return_false');
remove_action( 'wp_head', 'rest_output_link_wp_head' );
remove_action( 'wp_head', 'wp_oembed_add_discovery_links' );
remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 );
// 首先移除多余的feed链接
remove_action( 'wp_head','feed_links', 2 );
remove_action( 'wp_head','feed_links_extra', 3 );
//禁用健康检查
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' );
//禁用自带sitemap
add_filter( 'wp_sitemaps_enabled', '__return_false' );
//禁止更新
add_filter('pre_site_transient_update_core',    create_function('$a', "return null;")); // 关闭核心提示
add_filter('pre_site_transient_update_plugins', create_function('$a', "return null;")); // 关闭插件提示
add_filter('pre_site_transient_update_themes',  create_function('$a', "return null;")); // 关闭主题提示
remove_action('admin_init', '_maybe_update_core');    // 禁止 WordPress 检查更新
remove_action('admin_init', '_maybe_update_plugins'); // 禁止 WordPress 更新插件
remove_action('admin_init', '_maybe_update_themes');  // 禁止 WordPress 更新主题
//文章图片自动添加alt和title属性
add_filter( 'the_content', 'image_alt_tag');
function image_alt_tag($content){
global $post;preg_match_all('/<img (.*?)\/>/', $content, $images);
if(!is_null($images)) {
foreach($images[1] as $index => $value){
$new_img = str_replace('<img', '<img alt="'.get_the_title().'" title="'.get_the_title().'-'.get_bloginfo('name').'"', $images[0][$index]);
$content = str_replace($images[0][$index], $new_img, $content);
}
}
return $content;
}
// 移除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 );
					
 笨小兔
笨小兔













