WordPressで特定カテゴリを非表示にするプラグイン「Advanced Category Excluder」でRSS2 ATOMが非表示にできないからイジる

このブログはだいたい内容がない記事が多いんだけど、その中でもお買得品のカテゴリは、何か買おうとしている人以外にはあまり意味がない。

でも、結構サーチエンジンにはヒットしてたりするんだけど。

 

ということで、普段、ブログを見てくれる方々には「お買い得品」カテゴリの記事は表示せんようにすることにした。

で、プラグインを探して「Advanced Category Excluder」がよさそうだということで、早速インストールしてみた。

※このプラグイン、Twitterのつぶやきをブログにまとめるようにしている人が、トップ画面にはつぶやきを表示させたくないときに使っていることが多いみたい。

 

そしたら、記事の方は指定したカテゴリの記事を非表示にすることができたんだけど、RSS2.0、ATOMフィードには指定したカテゴリの記事もダダ漏れしとる。

よくよくみると、RSS1.0のフィードだけは非表示にできとる。

 

で、ゴニョゴニョ調べてみたら、どうもプラグイン内の処理でRSS2.0とATOMに対する処理がないみたい。

ということで、2ラインほど処理を追加。

 

変更したファイルは、advanced-category-excluder.php の444行目あたり。

 

function ace_get_section()
{
    global $wp_query, $ace_targets;

    if (is_array($ace_targets))
    {
        foreach ($ace_targets as $key=>$val)
        {
          if (!empty($wp_query->$key) && $wp_query->$key == 1) $filter = $key;
        }

        //下の2行を追加
        if (!empty($wp_query->is_atom) && $wp_query->is_atom == 1) $filter = 'is_feed';
        if (!empty($wp_query->is_rss) && $wp_query->is_rss == 1) $filter = 'is_feed';
    }

    return $filter;
}

 

残念ながらコメントのフィードの方は、未だに非表示にできず。

こっちはちょいと難しそう。

コメントを残す