2017-06-06 12 views
1

WordPressのヘッダーにある標準リンクをページ区切りページで削除しようとしていますが、試したすべての提案は機能していません。このタグ<meta name="robots" content="noindex,follow">は、ヘッド部にあるので、私はif ($paged >= 2) :実行中のコードを知っているYoast SEO Pluginを使用してWordPressの標準リンクを削除することはできません

function my_add_noindex_tags(){ 
    $paged = intval(get_query_var('paged')); 

    if(is_search() || is_404()) : 
     echo '<meta name="robots" content="noindex,follow">'; 
    endif; 

    if ($paged >= 2) : 
     add_filter('wpseo_canonical', '__return_false', 10, 1); 

     remove_action('wp_head', 'rel_canonical'); 

     echo '<meta name="robots" content="noindex,follow">'; 
    endif; 
} 
add_action('wp_head','my_add_noindex_tags', 4); 

は、ここに私のfunctions.phpファイルである私のコードです。

誰かが間違っている可能性があることを知っています。

ここでの問題は、Yoast SEOによって追加された正規のリンクが、期待どおり正しく削除されていないことです。

乾杯

+0

コードを挿入してそれに応じて行動する必要があります。あなたは 'wpseo_canonical'フィルタが使用できるフィルタであることをどこから知りましたか? – josephting

+0

こんにちは@josephting私はyoast seoプラグインを使用しているので、彼らの[API](https://yoast.com/wordpress/plugins/seo/api/)によると、私は 'add_filter( 'wpseo_canonical'、 '__return_false' ); 'カノニカルを削除する。しかし、それは動作していない –

+0

おそらく他の何かが代わりにそれを印刷しています。どのプラグインやテーマを使用しているかわからないと、原因を特定できません。 yoastによって挿入されたカノニカルリンクとネイティブ 'rel_canonical'アクションを削除するために適切なフィルタを既に適用しているので、カノニカルリンクを挿入していることがあります。 'rel_canonical'も' embed_head'アクションに追加されているので動作しませんが、 'remove_action( 'embed_head'、 'rel_canonical')も追加してみてください。 – josephting

答えて

1

標準的なアクションがwpseo_headアクションに追加されるようにYoast SEO codesを通過した後、それはそうです。

wp_headで実行する関数を追加するときは、優先度1を使用するか、これを適切に実行するか、ie以下の適切な方法で行う必要があります。 wpseo_headアクションを使用してください。

function remove_canonical() { 
    $paged = intval(get_query_var('paged')); 

    if ($paged >= 2) { 
     add_filter('wpseo_canonical', '__return_false', 10); 
    } 
} 
add_action('wpseo_head', 'remove_canonical', 4); 
+0

治療をします。ありがとうm8 –

関連する問題