韩国大尺度床戏激情戏裸戏电影_麻豆免费播放_激情引诱h文_久久www视频

WordPress5.5默認地圖(sitemap)使用教程

[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!

WordPress 5.5開始官方內置了站點地圖,那么WordPress 5.5的內置網站地圖怎么使用呢?若不想使用它該怎么操作呢?下面一起來看看官方文檔的解釋。注:如果不需要,建議禁用此功能。

完全禁用所有WP網站地圖

您可以通過在functions.php文件向主題模板或子主題添加同一行代碼來徹底禁用WP自帶的站點地圖功能:

add_filter('wp_sitemaps_enabled', '__return_false');

在這里所做的只是向過濾器掛鉤wp_sitemaps_enabled返回的值false,就可以禁用了。注意:如果您更新WordPress常規設置以阻止搜索引擎將您的網站編入索引,則站點地圖將被自動禁用。因此,在那種情況下,無需使用任何插件或代碼來禁用它。

禁用用戶站點地圖

對于大多數網站來說,排除/禁用整個用戶站點地圖以幫助提高安全性可能是一個好主意。以下是實現該功能的代碼:

// 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);

此代碼段無需編輯。只需添加到您的WordPress主題functions.php功能即可。

禁用文章類型站點地圖

默認情況下,WordPress站點地圖包括每種(非空)文章類型的站點地圖;對于典型的WordPress網站,這意味著站點地圖將包含指向以下站點地圖的鏈接:

URL
https://example.com/wp-sitemap-posts-post-1.xml
https://example.com/wp-sitemap-posts-page-1.xml

以及任何自定義文章類型:
https://example.com/wp-sitemap-posts-movie-1.xml
https://example.com/wp-sitemap-posts-book-1.xml

因此,要排除任何“文章”類型的站點地圖,請將以下代碼添加到您的主題(或簡單的插件)中:

// 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');

如所寫,該代碼禁用了page文章類型。因此,您可以將其更改為您要排除的任何文章類型。只需更換page您的文章類型名稱(如post,movie,book,等)。

禁用分類法站點地圖

默認情況下,WordPress網站地圖包含每個(非空)分類法的網站地圖。對于典型的WordPress網站,這意味著您的站點地圖將包含指向以下站點地圖的鏈接:

URL

https://example.com/wp-sitemap-taxonomies-category-1.xml
https://example.com/wp-sitemap-taxonomies-post_tag-1.xml

以及任何自定義分類法:

https://example.com/wp-sitemap-taxonomies-color-1.xml
https://example.com/wp-sitemap-taxonomies-shape-1.xml

因此,要排除任何“分類”站點地圖,請在主題(或簡單插件)中添加以下代碼:

// 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');

如所寫,該代碼禁用了post_tag分類法。因此,您可以將其更改為要排除的任何分類法。只需更換post_tag你的分類的名稱(例如category,post_format,color,book,等)。

從站點地圖中排除特定頁面

要從WordPress網站地圖中排除特定頁面,請應用以下代碼技術:

// 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);

注意函數中的第一行,它檢查$post_type是否為page。這告訴函數不要執行任何操作,除非當前的帖子類型是“頁面”。因此,要從其他文章類型中排除文章,請更改page為要定位的任何文章類型的名稱。

函數中的第二行檢查以確保post__not_in已設置變量。然后第三行是動作發生的地方。在編寫代碼時,該代碼排除了ID等于2的頁面。因此,您可以將該ID更改為要從站點地圖中排除的任何頁面ID。

要排除多個頁面,上述技術將是相同的,但是增加了更多的“排除”行:

// disable specific pages
function shapeSpace_disable_sitemap_specific_pages($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
$args['post__not_in'][] = 3; // exclude page with ID = 3
$args['post__not_in'][] = 4; // exclude page with ID = 4
$args['post__not_in'][] = 5; // exclude page with ID = 5
$args['post__not_in'][] = 6; // exclude page with ID = 6

return $args;

}
add_filter('wp_sitemaps_posts_query_args', 'shapeSpace_disable_sitemap_specific_pages', 10, 2);

編寫此代碼的方法可能更短一些,但是為了清楚起見,我將其按原樣呈現。

從站點地圖中排除特定文章

與以前的技術類似,要從自動生成的WordPress網站地圖中排除特定的文章,請執行以下操作:

// 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);

和以前一樣。僅在此處注意函數中的第一行,我們正在檢查a是否$post_type等于post。然后魔術發生在第三行,我們排除了ID等于1的文章(著名的“ Hello World”文章)。因此,將該ID更改為您要排除并完成的任何文章。

要排除多個帖子,上述技術將是相同的,但是增加了更多的“排除”行:

// disable specific posts
function shapeSpace_disable_sitemap_specific_posts($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
$args['post__not_in'][] = 2; // exclude post with ID = 2
$args['post__not_in'][] = 3; // exclude post with ID = 3
$args['post__not_in'][] = 4; // exclude post with ID = 4
$args['post__not_in'][] = 5; // exclude post with ID = 5

return $args;

}
add_filter('wp_sitemaps_posts_query_args', 'shapeSpace_disable_sitemap_specific_posts', 10, 2);

這一切都非常簡單,這要歸功于WordPress核心開發人員,他們為我們提供了非常靈活的API,可以自定義。

根據元字段排除文章

也可以根據其附加的元數據排除特定的文章。例如,如果您的文章有一個名為sitemap的元字段。并且您只想包含sitemap值為1的文章。添加以下代碼以使其實現:

// 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');

對于這項技術,我們再次使用wp_sitemaps_posts_query_args過濾器掛鉤。可以修改該技術以匹配幾乎任何文章集。查看Meta API,以更好地了解可能發生的情況。

檢查站點地圖是否已啟用

正如前面所述,在WordPress可以很容易地禁用/啟用的站點地圖功能。因此,如果您要自定義內容,了解站點上是否啟用了WP?Sitemaps可能會很有用。這是執行此操作的代碼:

if (wp_sitemaps_get_server()->sitemaps_enabled()) {

// sitemaps enabled

} else {

// sitemaps not enabled

}

此代碼使用wp_sitemaps_get_server()調用該sitemaps_enabled方法,該方法返回一個值,如果啟用了站點地圖則返回true,反之返回false。重要提示:所有此站點地圖功能僅在WordPress 5.5及更高版本中可用。因此,如果您正在開發任何插件或主題,請確保對任何較舊的WP版本使用條件檢查和適當的后備。

從robots.txt中排除站點地圖規則

啟用站點地圖后,WordPress會自動將以下規則添加到您站點的虛擬動態生成的robots.txt文件中:

Sitemap: https://example.com/wp-sitemap.xml

該行告訴搜索引擎和漫游器在哪里可以找到您的站點地圖,這是一件好事。但是,出于某些原因,您想要自定義漫游器站點地圖規則,甚至完全禁用它。因此,如果您需要執行此操作,請使用以下代碼從robots.txt排除站點地圖規則:

// do not add sitemap rule to robots.txt
function shapeSpace_disable_sitemap_robots($wp_sitemaps) {

remove_filter('robots_txt', array($wp_sitemaps, 'add_robots'));

}
add_action('wp_sitemaps_init', 'shapeSpace_disable_sitemap_robots');

初始化Sitemaps對象時會觸發wp_sitemaps_init鉤子。注意:如果“發現”搜索引擎無法訪問該網站,則未添加robots.txt站點地圖規則(由WP常規設置“搜索引擎可見性”確定)。因此,啟用該設置后,不需要上面的代碼。

問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信

所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!

支付寶贊助
微信贊助

免責聲明,若由于商用引起版權糾紛,一切責任均由使用者承擔。

您必須遵守我們的協議,如您下載該資源,行為將被視為對《免責聲明》全部內容的認可->聯系老梁投訴資源
LaoLiang.Net部分資源來自互聯網收集,僅供用于學習和交流,請勿用于商業用途。如有侵權、不妥之處,請聯系站長并出示版權證明以便刪除。 敬請諒解! 侵權刪帖/違法舉報/投稿等事物聯系郵箱:service@laoliang.net
意在交流學習,歡迎贊賞評論,如有謬誤,請聯系指正;轉載請注明出處: » WordPress5.5默認地圖(sitemap)使用教程

發表回復

本站承接,網站推廣(SEM,SEO);軟件安裝與調試;服務器或網絡推薦及配置;APP開發與維護;網站開發修改及維護; 各財務軟件安裝調試及注冊服務(金蝶,用友,管家婆,速達,星宇等);同時也有客戶管理系統,人力資源,超市POS,醫藥管理等;

立即查看 了解詳情