<?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>使用者id &#8211; 小豬日常</title>
	<atom:link href="https://piglife.tw/tag/%E4%BD%BF%E7%94%A8%E8%80%85id/feed/" rel="self" type="application/rss+xml" />
	<link>https://piglife.tw</link>
	<description>Hello World，一個紀錄生活與學習的地方</description>
	<lastBuildDate>Fri, 12 Dec 2025 14:50:58 +0000</lastBuildDate>
	<language>zh-TW</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9</generator>

<image>
	<url>https://piglife.tw/wp-content/uploads/2017/10/cropped-logo-1-32x32.png</url>
	<title>使用者id &#8211; 小豬日常</title>
	<link>https://piglife.tw</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>WordPress Amelia 預約系統取得使用者 ID 實作筆記</title>
		<link>https://piglife.tw/technical-notes/wordpress-amelia-user-id/</link>
					<comments>https://piglife.tw/technical-notes/wordpress-amelia-user-id/#respond</comments>
		
		<dc:creator><![CDATA[小豬]]></dc:creator>
		<pubDate>Fri, 24 Jan 2025 03:39:19 +0000</pubDate>
				<category><![CDATA[技術筆記]]></category>
		<category><![CDATA[amelia]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpdb]]></category>
		<category><![CDATA[使用者id]]></category>
		<category><![CDATA[資料庫查詢]]></category>
		<category><![CDATA[預約系統]]></category>
		<guid isPermaLink="false">https://piglife.tw/?p=476</guid>

					<description><![CDATA[介紹如何透過 PHP 與 WordPress $wpdb 物件，安全查詢 Amelia 預約系統中對...]]></description>
										<content:encoded><![CDATA[<h2 class="wp-block-heading">前言</h2>
<p>在整合 WordPress 插件如 Amelia 預約系統時，常需要從 WordPress 使用者中取得對應的 Amelia 使用者 ID。這對於同步使用者資料或進行特定預約操作非常重要。本文針對如何透過 PHP 及 WordPress 資料庫物件 $wpdb 查詢 Amelia 使用者 ID 進行說明，適合有基礎 PHP 與 WordPress 開發經驗的工程師或自學者。</p>
<h2 class="wp-block-heading">函式說明</h2>
<p>以下函式 <code>get_amelia_user_id</code> 主要功能是透過 WordPress 使用者 ID 查詢 Amelia 系統中對應的使用者 ID。若查無資料，則回傳 <code>false</code>。</p>
<pre><code class="lang-php language-php php">function get_amelia_user_id($wp_user_id) {
    if (empty($wp_user_id)) {
        return false; // 如果 WordPress 使用者 ID 為空，直接回傳 false
    }
    global $wpdb; // 呼叫 WordPress 資料庫全域物件
    $user_table = $wpdb-&gt;prefix . &#039;amelia_users&#039;; // Amelia 的資料表名稱
    $a_uid = $wpdb-&gt;get_results($wpdb-&gt;prepare(&quot;SELECT id FROM {$user_table} WHERE externalId = %d&quot;, $wp_user_id), ARRAY_A);
    if (count($a_uid) &gt; 0) {
        return $a_uid[0][&#039;id&#039;]; // 如果找到結果，回傳第一筆的 id
    } else {
        return false; // 沒有找到結果時回傳 false
    }
}</code></pre>
<h2 class="wp-block-heading">函式細節說明</h2>
<ol>
<li><strong>檢查輸入值是否有效</strong>：
<ul>
<li>使用 <code>empty()</code> 判斷 <code>$wp_user_id</code> 是否為空，避免無意義的資料庫查詢。</li>
</ul></li>
<li><strong>資料表命名</strong>：
<ul>
<li>利用 <code>$wpdb-&gt;prefix</code> 動態取得 WordPress 資料表前綴，確保資料表名稱正確。</li>
</ul></li>
<li><strong>安全查詢</strong>：
<ul>
<li>使用 <code>$wpdb-&gt;prepare</code> 來避免 SQL 注入風險，確保查詢安全。</li>
</ul></li>
<li><strong>回傳邏輯</strong>：
<ul>
<li>若查詢結果非空，回傳第一筆資料的 <code>id</code>，否則回傳 <code>false</code>。</li>
</ul></li>
</ol>
<h2 class="wp-block-heading">實際應用場景</h2>
<ul>
<li>自動同步 WordPress 使用者與 Amelia 使用者資料，確保兩邊資料一致。</li>
<li>根據 WordPress 使用者身份執行 Amelia 預約系統的特定操作。</li>
<li>在後台管理介面快速查詢 Amelia 使用者資料，提升管理效率。</li>
</ul>
<h2 class="wp-block-heading">常見坑與建議</h2>
<ul>
<li>確認 Amelia 資料表名稱與結構，避免因版本差異導致查詢失敗。</li>
<li>建議在實務中加入錯誤處理與日誌記錄，提升系統穩定性與除錯效率。</li>
<li>若系統使用多語系或多站台，需注意資料表前綴與使用者 ID 的對應關係。</li>
</ul>
<h2 class="wp-block-heading">完整程式碼</h2>
<pre><code class="lang-text language-text text">function get_amelia_user_id($wp_user_id) {
    if (empty($wp_user_id)) {
        return false; // 如果 WordPress 使用者 ID 為空，直接回傳 false
    }
    global $wpdb; // 呼叫 WordPress 資料庫全域物件
    $user_table = $wpdb-&gt;prefix . &#039;amelia_users&#039;; // Amelia 的資料表名稱
    $a_uid = $wpdb-&gt;get_results($wpdb-&gt;prepare(&quot;SELECT id FROM {$user_table} WHERE externalId = %d&quot;, $wp_user_id), ARRAY_A);
    if (count($a_uid) &gt; 0) {
        return $a_uid[0][&#039;id&#039;]; // 如果找到結果，回傳第一筆的 id
    } else {
        return false; // 沒有找到結果時回傳 false
    }
}</code></pre>]]></content:encoded>
					
					<wfw:commentRss>https://piglife.tw/technical-notes/wordpress-amelia-user-id/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
