サポート » プラグイン » site mapから特定の画像を除外させたい。

  • 解決済 catlady053

    (@catlady053)


    Jetpackプラグインで自動生成されるサイトマップimage-sitemap-1.xmlから特定の画像を除外させたいですが、PHPコードが理解できていない為、作成したコードの何が間違っているのか分からない状態です。

    Jetpackフォーラムより以下の「記事を除外させるコード」は拾うことができており、Jetpackで推奨されてる方法(プラグインcode snippetsで追加)でサイトマップからも除外できています。arrayさせてるのは固定ページのIDです。

    //Noindex specific posts
    
    function jetpackcom_sitemap_exclude_post( $skip, $post ) {
    	
    	// Add post IDs to skip to this array
    	$posts_to_skip = array( 9, 1021, 1060);
    
        if ( in_array( intval( $post->ID ), $posts_to_skip ) ) {
                $skip = true;
        }
        
        return $skip;
    }
    add_filter( 'jetpack_sitemap_skip_post', 'jetpackcom_sitemap_exclude_post', 10, 2 );
    

    このコードをベースにJetpackドキュメントに記載していたフィルターフック(サイトマップから画像を除外)を加えてコードを作ってみましたがサイトマップから画像は除外できていません。以下、画像除外用のコードです。

    //Noindex specific imgs
    
    function jetpack_sitemap_exclude_img( $skip, $post ) {
    	
    	// Add img IDs to skip to this array
    	$imgs_to_skip = array( 503, 504, 505, 773, 171, 158, 125, 119 ,81, 80, 78, 74);
    	
    	if ( in_array( intval( $post->ID ), $imgs_to_skip ) ) {
    		$skip = true;
    	}
    	
    	return $skip;
    }
    apply_filters ( 'jetpack_sitemap_image_skip_post', 'jetpack_sitemap_exclude_img', 10, 2 );

    arrayさせてるのは画像IDです。(メディアファイルの画像タイトルにホバーしてる時に出てるpost=xxxの数字です)
    エラーは出ておらず、かと言ってサイトマップからも画像は除外されていないので何をしてるのかよく分かりません。
    分かる方がいましたら、教えていただけると幸いです。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • こんにちは

    apply_filters になっていますよ (^^♪

    apply_filters ( 'jetpack_sitemap_image_skip_post', 'jetpack_sitemap_exclude_img', 10, 2 );

    add_filter( 'jetpack_sitemap_image_skip_post', 'jetpack_sitemap_exclude_img', 10, 2 );

    トピック投稿者 catlady053

    (@catlady053)

    @ishitaka さん。お返事をありがとうございます。
    あ~~~。何ということでしょう。非常に恥ずかしいです。

    先ず結果としましてはPHPをadd_filterに修正し、サイトマップを更新したところ特定の画像は除外されていました!ありがとうございます!
    何度も見直していましたが、自分が加筆・修正したところばかりをチェックしていました。

    とても助かりました!ありがとうございます。

2件の返信を表示中 - 1 - 2件目 (全2件中)
  • トピック「site mapから特定の画像を除外させたい。」には新たに返信することはできません。