我有一個使用Yoast SEO管理規範鏈接和noindex元機器人,除其他事項外,具有非常奇特配置的WordPress站點。如何選擇帖子類型(Wordpress)在頭部傳遞過濾器?
默認情況下,Yoast的插件在每個頁面中添加一個<link rel="canonical" href="...">
。我不感興趣的節目,在每一個靜態頁面(無論其類型)的規範鏈接,但在某些職位類別:頁和帖子(不Attatchment,分類,歸檔等)
我知道阻止Yoast默認添加規範鏈接的方法,只需在functions.php中添加以下代碼:add_filter('wpseo_canonical', '__return_false');
。但是如果我只是想在某些帖子類型中傳遞該過濾器呢?或者將它傳遞到除了某些類型的帖子之外的每個頁面中(這兩種方法對我都有用)。幫助將會非常令人滿意。任何?
更新:有一些小的修正
function remove_canonical_from_post_types($url) {
$post_type = get_post_type();
if ($post_type !== 'post' && $post_type !== 'page') { // If post type is not Post nor Page, doesn't add a canonical link in any case
return false;
}
else { // It is Post or Page
if (is_category() || is_author() || is_tag() || is_archive()) { // If page is post type 'Post' we don't want to add canonical in some sub-types: Category, Author, Tag, Archive
return false;
}
return $url; // In any other case (Posts and Pages) adds a canonical link
}
}
add_filter('wpseo_canonical', 'remove_canonical_from_post_types');
檢查用'get_post_type()'函數? – RST
我試過了: '$ post_type = get_post_type($ post);如果($ post_type!='page'|| $ post_type!='post'){ add_filter('wpseo_canonical','__return_false'); };' ,沒有,過濾器仍然是影響到每一個靜態頁面(不添加在網頁和帖子規範鏈接) – jgueper
變化''||爲''&&我 – RST