/////////以下、function.phpへの追記箇所/////////// //出欠確認 add_filter('the_content', 'join_check'); function join_check($content){ //選択肢をここで設定 $key_select = array("参加","保留","不参加"); $ret=""; //ログインしてないユーザーには表示しない if(is_user_logged_in()){ global $user_identity,$post; //カスタムフィールドからデータを読み込む $join_data = unserialize(get_post_meta($post->ID,'join_meta',true)); $comment_data = unserialize(get_post_meta($post->ID,'comment_meta',true)); //送信ボタンを押したときの処理(各カスタムフィールドを更新する) if($_POST['select_join_'.$post->ID]){ //出欠登録 $join_data[$user_identity] = $_POST['select_join_'.$post->ID]; $join_s = serialize($join_data); update_post_meta($post->ID, 'join_meta', $join_s); //コメント登録 $comment_data[$user_identity] = $_POST['comment']; $comment_s = serialize($comment_data); update_post_meta($post->ID, 'comment_meta', $comment_s); } //出欠の回答ごとにグループ分けをして //出力内容を連想配列に格納。 foreach((array)$join_data as $key => $value){ foreach($key_select as $key_group){ if($value == $key_group){ $flag = 0; foreach($comment_data as $key2 => $value2){ if($key2 == $key){ //joinとcommentのユーザ名が一致したとき if($value2){ //コメントがあればTRUE //出力内容(名前とコメント)を格納 $group[$key_group][] = $key.'('.$value2.')'; }else{ //出力内容(名前)を格納 $group[$key_group][] = $key; } $flag=1; } } if($flag == 0){$group[$key_group][] = $key;}; } } } ///////OUT PUT//////// //カテゴリが"出欠確認"の場合のみ表示する if(in_category('ここにカテゴリを記入')){ //出欠確認フォーム $ret .= ''; } } return $content . $ret; }