<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>WordPressプラグイン &#8211; FITSブログ</title>
	<atom:link href="http://blog.fits-inc.jp/tag/wordpress%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.fits-inc.jp</link>
	<description>Webシステムの受託開発でお困りなら</description>
	<lastBuildDate>Wed, 17 Feb 2021 00:49:38 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>http://blog.fits-inc.jp/wp-content/uploads/2024/06/cropped-image-5-32x32.png</url>
	<title>WordPressプラグイン &#8211; FITSブログ</title>
	<link>http://blog.fits-inc.jp</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress向け不動産プラグインによるサイト作成支援</title>
		<link>http://blog.fits-inc.jp/2021/02/17/wordpress%e5%90%91%e3%81%91%e4%b8%8d%e5%8b%95%e7%94%a3%e3%83%97%e3%83%a9%e3%82%b0%e3%82%a4%e3%83%b3%e3%81%ab%e3%82%88%e3%82%8b%e3%82%b5%e3%82%a4%e3%83%88%e4%bd%9c%e6%88%90%e6%94%af%e6%8f%b4/</link>
		
		<dc:creator><![CDATA[FITS Admin]]></dc:creator>
		<pubDate>Wed, 17 Feb 2021 00:26:05 +0000</pubDate>
				<category><![CDATA[ブログ]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<category><![CDATA[不動産プラグイン]]></category>
		<guid isPermaLink="false">https://blog.fits-inc.jp/?p=853</guid>

					<description><![CDATA[　FITS が行っているサービスの一つに、WordPress向け不動産プラグインを使った、不動産サイトの構築支援がございます。不動産情報サイトの定番と言えば、スーモ（Suumo）やホームズ（HOME&#8217;s）で、 [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>　FITS が行っているサービスの一つに、WordPress向け不動産プラグインを使った、不動産サイトの構築支援がございます。不動産情報サイトの定番と言えば、スーモ（Suumo）やホームズ（HOME&#8217;s）で、不動産会社様の多くは物件情報サービスを利用してこれらのサイトに物件データを流し込む（連携させる）ということをされています。しかし、自社のサイトでこれらの物件データを公開したい、上記定番サイト同等の物件検索機能、一覧表示機能をもたせたい、と思った場合に具体的にどのようにすれば良いかわからない、という方が多いです。FITSではこのような要望に対して、弊社製のプラグインの導入、カスタマイズによるサイトの構築支援を行っています。</p>



<h2 class="wp-block-heading">主な機能</h2>



<p>・賃貸物件の検索と表示<br>・最寄り駅、アクセス手段の表示<br>・間取り図、建物外観図の表示<br>・路線検索<br>・エリア検索（住所、地番による検索）<br>・こだわり条件による検索<br>・売買物件の検索と表示<br>・テナント物件の検索と表示<br>・各種不動産データサービスとの情報連携<br>（一例として、株式会社アクア様のRIMSや、株式会社ビジュアルリサーチ様のi-CMと連動しております）</p>



<h2 class="wp-block-heading">お問い合わせ</h2>



<p>　上記のプラグインに関する相談やお見積については、弊社<a href="https://www.fits-inc.jp/inquiry/">お問い合わせ</a>のページより受け付けております。</p>
]]></content:encoded>
					
		
		
			</item>
		<item>
		<title>WordPress で会員制のサイトを作成するための調査（その１）</title>
		<link>http://blog.fits-inc.jp/2020/05/06/wordpress-%e3%81%a7%e4%bc%9a%e5%93%a1%e5%88%b6%e3%81%ae%e3%82%b5%e3%82%a4%e3%83%88%e3%82%92%e4%bd%9c%e6%88%90%e3%81%99%e3%82%8b%e3%81%9f%e3%82%81%e3%81%ae%e8%aa%bf%e6%9f%bb%ef%bc%88%e3%81%9d%e3%81%ae/</link>
		
		<dc:creator><![CDATA[FITS Admin]]></dc:creator>
		<pubDate>Wed, 06 May 2020 15:07:21 +0000</pubDate>
				<category><![CDATA[技術ブログ]]></category>
		<category><![CDATA[Theme My Login]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPressプラグイン]]></category>
		<guid isPermaLink="false">https://blog.fits-inc.jp/?p=418</guid>

					<description><![CDATA[　WordPress で会員制のサイトを作成するためのプラグインを調査していた際に Theme My Login というプラグインを見つけました。このプラグインを利用すると簡単に会員制サイトが作成できるということでしたが [&#8230;]]]></description>
										<content:encoded><![CDATA[
<p>　WordPress で会員制のサイトを作成するためのプラグインを調査していた際に Theme My Login というプラグインを見つけました。このプラグインを利用すると簡単に会員制サイトが作成できるということでしたが、そもそもプラグインでの会員登録をどのようにして実現しているか興味があって調査してみました。</p>



<h2 class="wp-block-heading">きっかけはプラグインのエラー表示から</h2>



<p>　早速 Theme My Login プラグインを有効化し、登録ページを表示してみると「現在、ユーザー登録はできません」というメッセージが表示されまして。<br>原因を調査すると、WordPress のダッシュボードの『設定 ＞ 一般』から『メンバーシップ』の『だれでもユーザー登録ができるようにする』をチェックする必要があるようです。このチェックボックスのオンオフが内部的にどのような挙動をするのか興味があって調べてみました。</p>



<h2 class="wp-block-heading">users_can_register とは？</h2>



<p>　まず、この設定画面のソースコードである options-general.php を確認すると<br>get_option( &#8216;users_can_register&#8217; ) した値を表示していることがわかりました。get_option は WordPress Codex によれば options テーブルからの値の取得です。<br><a href="https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/get_option" class="aioseop-link">https://wpdocs.osdn.jp/関数リファレンス/get_option</a></p>



<p>　つまりこのチェックボックスは users_can_register というキーでDBにデータを書き込みそれをもとに処理や表示を切り替えるためのフラグだとわかります。</p>



<h2 class="wp-block-heading">users_can_register から会員登録（ユーザー登録）まで処理を追う</h2>



<p>　では実際に users_can_register を利用して処理や表示を切り替えている箇所を調べてみます。該当箇所は何か所かあるのですが、最も該当数が多いのは wp-login.php でした。どうやら users_can_register が有効の状態ではログイン画面に登録用のリンクが表示され、それをクリックするとユーザー登録用のページ wp-login.php?action=register へと遷移するようになっているようです。</p>



<h2 class="wp-block-heading">register アクションの調査</h2>



<p>　register action については wp-login.php 内に<br>switch ( $action ) で処理を分岐させている箇所があり、その switch 節の中の case ラベルとして<br>confirm_admin_email<br>lostpassword<br>など様々なアクションごとの処理が定義されています。</p>



<p>アクションごとの処理はさらにGETの場合（テンプレートの表示処理）と、POSTの場合（『登録』などのフォームボタンクリック時の処理）に分かれており、if ( $http_post ) から始まる if 節の中身が POST の場合の処理です。</p>



<p>　POST の場合の処理を確認すると、register_new_user というメソッドがWordPress標準の会員登録処理の実処理であることがわかります。</p>



<h2 class="wp-block-heading">register_new_user の処理から、会員情報（ユーザー情報）の登録処理と管理しているDBを調べる</h2>



<p>　register_new_user については残念ながら日本語サイトで解説はないのですが（2020/05/06 現在）下記WordPressの開発者向けサイトから概要や、ソースコードそのものの確認が可能です。<br><a href="https://developer.wordpress.org/reference/functions/register_new_user/" class="aioseop-link">https://developer.wordpress.org/reference/functions/register_new_user/</a><br>ソースコードを読む限りでは、パスワードを自動生成し、DBへのユーザーの登録処理は wp_create_user に任せているようです。</p>



<p>　wp_create_user も user_login, user_email, user_pass で compact した Array を生成して wp_insert_user に処理を任せています。</p>



<p>wp_insert_user まで読み進むと、ようやく $wpdb->users に対して $wpdb->update または $wpdb->insert していることがわかります。<br>　つまり、 WordPress 標準機能で追加されたユーザーは users テーブルに挿入されます。なお、ここで気になるのがユーザー生成時のロールですが、wp_insert_user 呼び出し時の引数オブジェクトに role というプロパティが設定されていればそれが設定されますし、設定されていなければデフォルトのロールが用いられます。</p>



<p>　ただしロールについては users テーブルには格納されていません。というのも users テーブルに格納されているのは認証に必要な情報のみで、それ以外のデータはすべて usermeta テーブルに格納されているからです。<br>　usermeta テーブルには meta_key = wp_capabilities のレコードがあり、meta_value にシリアライズされた ロール情報が格納されています。<br>ここまでで、WordPress のデフォルト機能がユーザー情報をどのように格納しているかがわかりました。</p>



<h2 class="wp-block-heading">実際のプラグインではどのようにユーザー情報を登録しているか？</h2>



<p>　それでは、その他のプラグインではどのようにユーザー情報を登録、管理しているのでしょうか？あるプラグインを例にとって調べてみると、まず wp-login.php をそのまま使用するのではなく、add_action によるフックを行い、ログインページや登録ページを別に用意しているようです。また、ユーザーの登録には wp_create_user を利用していました。</p>



<p>　この場合、ユーザー情報自体はusersテーブルに登録されてしまいますから、<br>wp-login.php からログインできてしまいます。その結果、プロフィールの編集はともかくとして、ダッシュボードも閲覧できてしまいます。</p>



<p>　調べてみると、このプラグインでは Profiles など各種機能は有償の別エクステンションとなっているようでした。そのため、有償エクステンションなしではそれほど凝った管理方法になっていない可能性があります。次回は Simple Membership など、プロフィール登録機能がついているといわれているプラグインなどを参考 WordPressプラグインによる会員サイト構築のやりかたについて考察を進めていきます。</p>
]]></content:encoded>
					
		
		
			</item>
	</channel>
</rss>
