WordPress自带网站地图禁用用户名链接功能的教程

WordPress自带网站地图会显示用户名,用户名就是登录名,这个大家都知道,很痛苦的,我找了很久,终于找到了一个代码修改,可以隐藏掉这个用户名。

在主题functions.php文件中添加,我一般添加到最后面。

一、修改默认网站地图有数量限制

dd_filter( ‘wp_sitemaps_max_urls’, ‘__wp_sitemaps_max_urls’ );
function __wp_sitemaps_max_urls(){
return 2000;
}

二、禁用WordPress默认网站地图功能

//移除 WordPress XML 站点地图
add_filter( ‘wp_sitemaps_enabled’, ‘__return_false’ );

三、禁用用户站点地图

// disable users sitemap
function shapeSpace_disable_sitemap_users($provider, $name) {
return ($name == ‘users’) ? false : $provider;
}
add_filter(‘wp_sitemaps_add_provider’, ‘shapeSpace_disable_sitemap_users’, 10, 2);

四、禁用文章类型站点地图

// disable post type sitemap
function shapeSpace_disable_sitemap_post_types($post_types) {
unset($post_types[‘page’]); // 可以修改page为你需要的自定义文章类型
return $post_types;
}
add_filter(‘wp_sitemaps_post_types’, ‘shapeSpace_disable_sitemap_post_types’);

五、禁用分类法站点地图

// disable taxonomy sitemap
function shapeSpace_disable_sitemap_taxonomy($taxonomies) {
unset($taxonomies[‘post_tag’]); // can be post_tag, category, post_format, or any taxonomy
return $taxonomies;
}
add_filter(‘wp_sitemaps_taxonomies’, ‘shapeSpace_disable_sitemap_taxonomy’);

六、从站点地图中排除特定页面

// disable specific page
function shapeSpace_disable_sitemap_specific_page($args, $post_type) {
if (‘page’ !== $post_type) return $args;
$args[‘post__not_in’] = isset($args[‘post__not_in’]) ? $args[‘post__not_in’] : array();
$args[‘post__not_in’][] = 2; // exclude page with ID = 2
return $args;
}
add_filter(‘wp_sitemaps_posts_query_args’, ‘shapeSpace_disable_sitemap_specific_page’, 10, 2);

七、从站点地图中排除特定文章

// disable specific post
function shapeSpace_disable_sitemap_specific_post($args, $post_type) {
if (‘post’ !== $post_type) return $args;
$args[‘post__not_in’] = isset($args[‘post__not_in’]) ? $args[‘post__not_in’] : array();
$args[‘post__not_in’][] = 1; // exclude post with ID = 1
return $args;
}
add_filter(‘wp_sitemaps_posts_query_args’, ‘shapeSpace_disable_sitemap_specific_post’, 10, 2);

八、根据元字段排除文章

// disable post based on meta field
function shapeSpace_disable_sitemap_post_meta($args, $post_type) {
if (‘post’ !== $post_type) return $args; // can be any post type
$args[‘meta_query’] = isset($args[‘meta_query’]) ? $args[‘meta_query’] : array();
$args[‘meta_query’][] = array(
‘key’ => ‘sitemap’, // can be any meta key
‘value’ => ‘1’, // can be any meta value
‘compare’ => ‘=’, // can use any comparison
);
return $args;
}
add_filter(‘wp_sitemaps_posts_query_args’, ‘shapeSpace_disable_sitemap_post_meta’);

下面这种也是有效的。

   add_filter(  
    'wp_sitemaps_add_provider',  
    function( $provider, $name ) {  
        if ( 'users' === $name ) {  
            return false;  
        }  

        return $provider;  
    },  
    10,  
    2  
);

👋 感谢您的观看!

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享