Rencontre:マッチングサイトとして使えるかも
WordPress のプラグインには、色々なものがありますが、
マッチング系のプラグインが無いんですよね。
でも、このあいだ見つけたプラグインにマッチング系として使えそうなものがありました。
本来の用途は、デートサイト構築プラグインのようです。
おそらく、プログラムで異性をしか検索できないように制御しているはず。
それを修正すれば、用途は拡がるんじゃないかと思います。
興味がある方は、色々と試してみると良いと思います。
そのプラグインは「Rencontre」です。
Rencontre
Rencontre が、備えている機能は以下のようなものがあるようです。
- メンバー間のプライベートメッセージング送受信可能。
- カスタマイズ可能なプロファイル。
- プライベートメンバーはテキストとウェブカメラでのチャットができる。
- 連絡先のリクエストを送信できる。
- 怪しいメンバープロフィールの報告ができる。
- FaceBook アカウントで接続できる。
- Facebookアカウントから写真をインポートする。
- 定期的に管理者メールをメンバーに送信する。
- パフォーマンスを維持するための毎日の最適化の実施。
- 登録できるメンバー数に制限無し。
- メールアドレスによるブラックリスト化
- メンバーを CSV でインポート/エクスポートできる。
- 他のサービスや他のプラグインに依存しないで自サイトだけで完結できる。
記事を作成もしくは更新時点でのバージョン:v 2.3.0
マルチサイトでの利用:可
インストール手順
下記の URL から ZIP ファイルを入手して、管理画面からアップロードして有効化するか
Rencontre – WordPress.org
もしくは、WordPress.org の公式プラグインディレクトリにリリースされているので、
管理画面から入手できます。
ダッシュボードから「プラグイン」メニューの「新規追加」を選択し、
プラグイン追加画面右上の検索窓に「Rencontre」と入力します。
検索結果の一番左上に表示されると思うので、「今すぐインストール」をクリックします。
※一番左上に表示されない場合は、上記の画像から探して下さい。
インストールが完了したら、プラグインを「有効化」します。
プラグインのインストールに慣れていない方は、
下記の記事にて詳しく解説していますので、御覧ください。
WordPressプラグインのインストール手順を解説 – WordPress活用術
日本語化
Rencontre を有効化した際に日本語化されない場合には、
日本語化用の言語パックを translate.wordpress.org から入手できる場合があります。
WordPress と関連プロジェクト(テーマ・プラグイン)用の翻訳プラットフォームとして、
translate.wordpress.org (GlotPress) が導入されています。
※ボランティアで翻訳されている場合が多いので、
全てのプラグインで、必ずしも日本語化用の言語パックが用意されているわけでは無いです。
また、用意されていても 100% 翻訳されている保証もありません。
日本語化用の翻訳ファイルの探し方は、下記の記事を参照してください。
WordPress公式での日本語化用の翻訳ファイルの探し方 – WordPress活用術
専用テーブル
下記のテーブルを Rencontre 専用のテーブルとして作成し利用します。
テーブル作成時に $wpdb->prefix も使用しているので、マルチサイトにも対応。
CREATE TABLE 文を抜粋(記事用に一部修正)。
CREATE TABLE (
`ip_start` bigint unsigned NOT NULL,
`ip_end` bigint unsigned NOT NULL,
`country` char(2) NOT NULL,
PRIMARY KEY (`ip_start`)
);
CREATE TABLE (
`id` smallint unsigned NOT NULL auto_increment,
`i_categ` tinyint unsigned NOT NULL,
`i_label` tinyint unsigned NOT NULL,
`c_categ` varchar(50) NOT NULL,
`c_label` varchar(100) NOT NULL,
`t_valeur` text,
`i_type` tinyint NOT NULL,
`i_poids` tinyint NOT NULL,
`c_lang` varchar(2) NOT NULL,
`c_genre` varchar(255) DEFAULT 0,
INDEX (`id`)
);
CREATE TABLE (
`user_id` bigint(20) unsigned UNIQUE NOT NULL,
`c_ip` varchar(50) NOT NULL,
`c_pays` varchar(50) NOT NULL,
`c_region` varchar(50) NOT NULL,
`c_ville` varchar(50) NOT NULL,
`e_lat` decimal(10,5) NOT NULL,
`e_lon` decimal(10,5) NOT NULL,
`i_sex` tinyint NOT NULL,
`d_naissance` date NOT NULL,
`i_taille` tinyint unsigned NOT NULL,
`i_poids` tinyint unsigned NOT NULL,
`i_zsex` tinyint NOT NULL,
`c_zsex` varchar(50) NOT NULL,
`i_zage_min` tinyint unsigned NOT NULL,
`i_zage_max` tinyint unsigned NOT NULL,
`i_zrelation` tinyint NOT NULL,
`c_zrelation` varchar(50) NOT NULL,
`i_photo` bigint(20) unsigned NOT NULL,
`d_session` datetime NOT NULL,
`i_status` tinyint unsigned NOT NULL DEFAULT 0,
PRIMARY KEY (`user_id`)
);
CREATE TABLE (
`user_id` bigint(20) unsigned UNIQUE NOT NULL,
`d_modif` datetime NULL,
`t_titre` tinytext,
`t_annonce` text,
`t_profil` text,
`t_action` text,
`t_signal` text,
PRIMARY KEY (`user_id`)
);
CREATE TABLE (
`id` bigint(20) NOT NULL auto_increment,
`content` text NOT NULL,
`sender` varchar(60) NOT NULL,
`recipient` varchar(60) NOT NULL,
`date` datetime NOT NULL,
`read` tinyint(1) NOT NULL,
`deleted` tinyint(1) NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE (
`id` smallint unsigned NOT NULL auto_increment,
`d_prison` datetime NOT NULL,
`c_mail` varchar(100) NOT NULL,
`c_ip` varchar(50) NOT NULL,
`i_type` tinyint NOT NULL,
PRIMARY KEY (`id`)
);
CREATE TABLE (
`id` smallint unsigned NOT NULL auto_increment,
`c_liste_categ` varchar(50) NOT NULL,
`c_liste_valeur` varchar(50) NOT NULL,
`c_liste_iso` varchar(2) NOT NULL,
`c_liste_lang` varchar(2) NOT NULL,
PRIMARY KEY (`id`)
);