simpletagsは便利だけれど、自分の使い方とは少し違うなと思っていたので、自分で作ってみようかなと思ったので作ってみました。そこまで長くもない。
流れとしては、記事保存直前に記事本文データを読み込み・タグを全て読み込み→記事中検索→既に設定されているタグと混ぜてタグ設定。
function post_tag_maker($title) {
global $post;
//記事内容読み込み
$postcontent = $_POST[content];
//タグ一覧を取得。一つずつ内容と比較して同一の物があればタグリストに追加する。
foreach (get_tags() as $tag) {
if (strpos($postcontent, $tag->name) !== false) {
$taglist .= $tag->name . ",";
}
//現在のタグと追加するタグを合わせる。同一名称はwordpress側で排除されるので気にしない☆
$taglist = $_POST[tax_input][post_tag] . "," . $taglist;
}
wp_set_post_tags($post->ID, $taglist);
}
add_filter('save_post', 'post_tag_maker');