WordPressのサイトマップ自動生成プラグイン「PS Auto Sitemap」で、カテゴリと同名のタグを持つ記事をそのカテゴリ内に出力されないようにする方法

あとで読む:
このエントリーをはてなブックマークに追加

WordPressでサイトマップを自動生成してくれる便利なプラグイン「PS Auto Sitemap」ですが、カテゴリと同名のタグが存在する場合にそのカテゴリ内にも記事のリンクが出力されてしまいます。

これを出力されないようにするにはどうしたら?とあれこれ探した結果、無事カテゴリのみで分類されるようになったので、そのカスタマイズ方法をまとめました。

WordPress › PS Auto Sitemap « WordPress Plugins
“PS Auto Sitemap” is a plugin that automatically generates a site map page from your WordPress site. …

なお、カスタマイズで使用したプラグインのバージョンは1.1.7です。また、プラグインのPHPファイルを直接変更しますので、自己責任にてご対応頂きますようお願い致します。

カテゴリと同名のタグが存在するとはどういうこと?

このサイトでは「WordPress」というカテゴリを設けており、この記事のようにWordPressに関する内容を書く場合に「WordPress」のカテゴリに登録します。

また、日刊記事の中で軽くWordPressについて書くことがあるので、そういった場合にはカテゴリを「日刊」とし「WordPress」はタグとして登録しています。

このような運用方法をしているために、カテゴリにもタグにも「WordPress」が存在することになります。

修正前の出力結果

プラグインを導入し、管理画面から各種設定を行った状態(修正前)のサイトマップページのスクリーンショットです。
修正前のスクリーンショット

日刊記事が WordPress カテゴリに出力されており、日刊 カテゴリのものと重複してしまっています。

修正方法

修正箇所の調べ方

まずは、カスタマイズするPHPファイルですが、プラグインフォルダ直下の ps_auto_sitemap.php ファイルとなります。
/wp-content/plugins/ps-auto-sitemap/ps_auto_sitemap.php

上記のPHPファイルを開いたら215行目〜229行目付近のSQL文が、カテゴリの記事を取得するものとなります。

上記のハイライト化されている220行目〜221行目が該当する部分で、そこで対象としているデータベースのテーブル wp_term_taxonomy を指定されています。

そのテーブルのフィールド taxonomy に カテゴリ (category)リンクカテゴリ (link_category)タグ (post_tag) かどうかが格納されていますが、デフォルトでは3つ全てを取得するようになっている(指定がないため)ので、ここを修正します。

調べる際に参考にしたサイトです。

修正方法

上記の221行目

に、カテゴリのみを対象とするように
and taxonomy.taxonomy = 'category'
を追記します。

これで、カテゴリのみが取得されるようになります。

なお、リンクカテゴリも含めたい場合は、追記する文字列を
and taxonomy.taxonomy <> 'post_tag'
としてください。

修正後の出力結果

修正後のサイトマップページのスクリーンショットです。
修正後のスクリーンショット

WordPress カテゴリには日刊記事がなくなり、日刊 カテゴリとの重複が解消されました。

まとめ

そもそも カテゴリ と タグ に同じ文字列を使うのが問題なのかもしれませんが、もし同じように悩まれている方のお役に立てればと思いまとめてみました。

ご参考になれば幸いです。

ただし、プラグインに新しいバージョンが出た場合には、アップデート後に再度手動で修正しなければいけないので忘れないようにしないとですね。

WordPress › PS Auto Sitemap « WordPress Plugins
“PS Auto Sitemap” is a plugin that automatically generates a site map page from your WordPress site. …
スポンサードリンク

カテゴリ:WordPress
タグ: /

この記事をシェア

顔写真
中野 貴文 が運営している個人サイトです。iPhoneやMac、WordPress、写真や日記などに関する内容が中心です。ブログの詳細についてはこのブログについてを、運営者に関する詳細はプロフィールをご覧ください。

◆各種SNSに登録しています!

◆スタッフとして参加しています!
アシタノレシピ

PAGE TOP