[WordPress] 外掛分享: LoginDash

首頁 › 外掛目錄 › LoginDash
WordPress 外掛 LoginDash 的封面圖片
全新外掛
安裝啟用
—
尚無評分
8 天前
最後更新
—
問題解決
WordPress 6.2+ PHP 8.0+ v1.0.1 上架:2026-10-06

內容簡介

LoginDash 是一款專為 WordPress 設計的登入頁面自訂外掛,讓使用者能夠輕鬆打造品牌化的登入體驗。透過即時預覽功能,使用者可以在不需編碼的情況下,自訂頁面元素如標誌、背景、字型等,快速提升網站專業形象。

【主要功能】
• 即時預覽:變更即時顯示,無需重新載入頁面
• 無需編碼:所有設定均可視覺化調整
• 輕量設計:樣式僅於登入頁面載入
• 安全實驗:變更未儲存前不會影響現有頁面
• 主題兼容:保留其他自訂設定不受影響
• 多語言支持:準備好翻譯及多站點使用

外掛標籤

開發者團隊

⬇ 下載最新版 (v1.0.1) 或搜尋安裝

① 下載 ZIP → 後台「外掛 › 安裝外掛 › 上傳外掛」
② 後台搜尋「LoginDash」→ 直接安裝(推薦)
📦 歷史版本下載

原文外掛簡介

Design a branded WordPress login page in a live, side-by-side customizer: logo, backgrounds, video, fonts, reCAPTCHA and more. No code needed.
🎨 A Visual Login Page Customizer For WordPress
LoginDash replaces the plain, generic wp-login.php screen with a fully branded sign-in experience — your logo, colours, backgrounds, fonts and messaging — all from a live, side-by-side editor that requires no code.
Adjust a control on the left and watch the real login page update instantly on the right. Everything is rendered with native WordPress markup, loads only on the login page, and leaves WordPress authentication working exactly as WordPress intends.
It’s built for agencies, freelancers and site owners who want a professional, on-brand login screen for clients, members and staff — in minutes, not hours.
✨ Why Choose LoginDash?

True Live Preview — Most changes repaint instantly through CSS variables. No page reloads, no guesswork.
No Code Required — Every colour, size, border and position has a visual control, each with its own per-field reset arrow.
Lightweight by Design — Styles, fonts and scripts load only on the login page, never on your front end or admin. Generated CSS is cached and rebuilt only when you save.
Safe to Experiment — Nothing goes live until you click Save Changes, and form submission is disabled inside the preview.
Non-Destructive Themes — Applying a starter theme overwrites only the settings it defines. Your other customizations survive.
Core-Compatible — Native WordPress markup and hooks. Translation-ready, multisite-aware and PHP 8+ ready.

🖼️ Features at a Glance

Starter Themes — Three one-click starting designs: Clean WordPress Style (the default), Minimal Light and Minimal Dark. Apply one, then fine-tune every value.

Logo & Page Identity — Upload a custom logo (recommended 320×80), set its width, height and spacing, link URL and alt title, change the browser page , and add a custom favicon. Or hide the logo entirely.</p> <p>Backgrounds — Choose a solid colour, separate desktop and mobile background images with repeat / position / size controls, a random image gallery that picks a new image on every page load, or a background video (Media Library MP4 with optional start/end times, or YouTube) with an overlay tint for readability.</p> <p>Form Position — Place the login form anywhere on screen: Top / Center / Bottom and Left / Center / Right, plus four-side offsets for fine-tuning. The forgot-password form has its own independent position.</p> <p>Login Form Styling — Width (200–800 px), minimum height, corner radius, shadow size and opacity, four-side padding, border, background colour or image, and a transparency toggle.</p> <p>Input Fields & Labels — Field background and focus background, text colour, default and focus borders, radius, password-eye icon colour, remember-me checkbox colour, and label colours and sizes.</p> <p>Button Styling — Button colour and hover colour, borders, text colours, radius, padding and text size. Choose Default (inline beside Remember Me) or Full width mode with its own width and alignment.</p> <p>Forgot Password Form — Its own background image and colour, its own input radius, and its own position.</p> <p>Typography (Google Fonts) — A curated list including Inter, Roboto, Open Sans, Lato, Montserrat, Poppins, Nunito, Raleway and Playfair Display, with weights from 300 to 800. Choosing “System Default” loads no external font.</p> <p>Footer Links & Copyright Bar — Toggle the Lost-password, Back-to-site and Privacy-policy links, set custom text and URLs, style them together, and add a copyright bar that supports a $YEAR$ token.</p> <p>Welcome & Error Messages — Custom welcome messages for the Login, Lost-password, Registration and Logout screens (limited HTML allowed), custom text for eleven validation errors, and separate styling for welcome and error notices.</p> <p>Custom CSS / JS — Syntax-highlighted CSS and JavaScript editors for anything the controls don’t cover. Code is sanitised on save and loaded only on the login page.</p> <p>Google reCAPTCHA v2 & v3 — Protect the login, registration and lost-password forms from bots.</p> <p>Safe SVG Logos — SVG uploads are sanitized automatically, stripping scripts, event handlers and javascript: URIs.</p> <p>🖥️ How the Customizer Works</p> <p>Open LoginDash → Customizer.<br /> Optionally pick a starting design on the Themes tab.<br /> Open any panel and adjust the controls. The preview updates as you go.<br /> Check your design with the Desktop / Tablet / Mobile buttons, and switch the preview between the login and forgot-password forms.<br /> Click Save Changes to publish, or Reset to return everything to defaults.</p> <p>Controls are grouped into tabs: Themes, Logo, Background, Form Position, Login Form, Forgot Password Form, Button Beauty, Input Labels, Google Fonts, Error Messages, Welcome Messages, Form Footer, reCAPTCHA and Custom CSS / JS.<br /> The Settings screen is your control hub. It shows the live status of each feature with a link to where it’s configured, plus maintenance tools such as clearing the compiled-CSS cache.<br /> 🛡️ Built-in reCAPTCHA Protection</p> <p>reCAPTCHA v2 shows the familiar “I’m not a robot” checkbox.<br /> reCAPTCHA v3 runs invisibly and scores each request against Google’s recommended 0.5 threshold.<br /> Verification runs server-side. If it fails, the sign-in, registration or password reset is blocked and your custom error message is shown.<br /> If Google is temporarily unreachable, LoginDash lets the request through instead of locking everyone out.<br /> Your Secret Key is stored in a masked field and is only ever sent to Google’s verification endpoint, never exposed in the page.</p> <p>💡 Best For</p> <p>Agencies delivering white-labelled, client-branded login screens.<br /> Membership, e-learning and WooCommerce sites that want the login page to match the storefront.<br /> Corporate intranets and staff portals that need a consistent brand at sign-in.<br /> Any site owner who wants a professional login page without touching code.</p> <p>⭐ Do More With LoginDash Pro<br /> The free plugin is a complete login-page customizer on its own. LoginDash Pro is an optional add-on that installs alongside it and adds a premium template library plus login, security and workflow features:<br /> Design</p> <p>9 Pre-built Designed Templates — Agency Style, Corporate Blue, Developer Console, Elegant Blur, Gradient Pro, Modern Glassmorphism, Neon Dark, SaaS Style and Split Screen, added to the same Themes grid as the free starters.</p> <p>Security</p> <p>Limit Login Attempts — Lock out an IP after a configurable number of failed sign-ins, show a “remaining attempts” message, and keep an audit log that records password length only, never the password itself.<br /> IP Whitelist / Blacklist — Exempt trusted IPs from lockouts and block known-bad IPs immediately (IPv4 and IPv6).<br /> XML-RPC Protection — Block /xmlrpc.php, pingbacks and remote-publishing requests.<br /> CAPTCHA Escalation — Show reCAPTCHA only after an IP starts failing, so legitimate users sign in without friction.<br /> Hide Login — Move wp-login.php to a secret custom URL and redirect, 404 or reroute logged-out visits to the old endpoints.</p> <p>Workflow</p> <p>Auto Login — Generate secure, passwordless login links: one-time, time-limited or never-expiring, stored as SHA-256 hashes, with an activity log.<br /> Login Redirects — Send users to different destinations after login and logout, by individual user or by role.<br /> Social Login — Sign in or register with Google, Facebook, X (Twitter) or GitHub. Administrator accounts can never be auto-linked.<br /> Import / Export — Back up, restore and migrate your full configuration (including uploaded media) between sites, with a 7-day roll back.</p> <p>Learn more about LoginDash Pro: https://apps.spinxdigital.com<br /> External Services<br /> LoginDash optionally connects to the following external services. All connections are triggered only by explicit administrator configuration — nothing is sent by default on a fresh install.<br /> Google reCAPTCHA<br /> When the reCAPTCHA feature is enabled in the plugin settings, LoginDash loads the Google reCAPTCHA JavaScript library from Google’s servers and sends a server-side verification request to Google on each login, lost-password, or registration form submission.</p> <p>What is sent: The reCAPTCHA response token generated in the user’s browser, the site’s reCAPTCHA secret key, and the submitting user’s IP address.<br /> What is received: A pass/fail verdict (and a bot-likelihood score for v3).<br /> When it applies: Only when an administrator enables reCAPTCHA and configures a Google site key and secret key.<br /> Why it is required: Bot detection cannot be performed locally; the verification depends on Google’s infrastructure.<br /> Google reCAPTCHA Privacy Policy: https://policies.google.com/privacy<br /> Google reCAPTCHA Terms of Service: https://policies.google.com/terms</p> <p>Google Fonts<br /> When an administrator selects a Google Font in the Typography settings, LoginDash loads that font’s CSS stylesheet from Google Fonts on the login page.</p> <p>What is sent: The selected font family name and weight, as URL parameters.<br /> What is received: A CSS stylesheet pointing to the font files hosted by Google.<br /> When it applies: Only when an administrator selects a Google Font. If no font is selected, no request is made.<br /> Why it is required: Google Fonts are hosted on Google’s CDN; local self-hosting would require bundling hundreds of font files.<br /> Google Fonts Privacy Policy: https://policies.google.com/privacy</p> <p>YouTube (background video)<br /> When an administrator enables a YouTube video as the login page background, LoginDash embeds the video in an <iframe> pointing to youtube-nocookie.com.</p> <p>What is sent: The YouTube video ID, as part of the URL.<br /> What is received: The video player and stream.<br /> When it applies: Only when an administrator enables the background video feature and provides a YouTube URL.<br /> Why it is required: Video streaming must originate from YouTube’s CDN; the video file is not downloaded or bundled locally.<br /> Note: LoginDash uses the youtube-nocookie.com domain, which is YouTube’s privacy-enhanced mode and does not set cookies until the user plays the video.<br /> YouTube Privacy Policy: https://policies.google.com/privacy<br /> YouTube Terms of Service: https://www.youtube.com/t/terms</p> <h2><span id="i-5">延伸相關外掛</span></h2> <div class="mxp-p-related"><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/loginpress/"><img decoding="async" src="https://ps.w.org/loginpress/assets/icon-256x256.png?rev=3005027" alt="LoginPress | wp-login Custom Login Page Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>LoginPress | wp-login Custom Login Page Customizer</strong><span class="mxp-p-related-desc">LoginPress 外掛提供了很多自訂欄位,可以更改 WordPress 登...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/themeisle-companion/"><img decoding="async" src="https://ps.w.org/themeisle-companion/assets/icon-128x128.gif?rev=3369007" alt="Orbit Fox: Duplicate Page, Menu Icons, SVG Support, Cookie Notice, Custom Fonts & More" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Orbit Fox: Duplicate Page, Menu Icons, SVG Support, Cookie Notice, Custom Fonts & More</strong><span class="mxp-p-related-desc">Orbit Fox 是一款集成多種網站功能的外掛,提供 SVG 支援、社...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/colorlib-login-customizer/"><img decoding="async" src="https://ps.w.org/colorlib-login-customizer/assets/icon-256x256.jpg?rev=1862920" alt="Custom Login Page Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Custom Login Page Customizer</strong><span class="mxp-p-related-desc">Custom Login Page Customizer 將您的 WordPress 登入頁面轉...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/easy-login-woocommerce/"><img decoding="async" src="https://ps.w.org/easy-login-woocommerce/assets/icon-128x128.png?rev=1970613" alt="Login & Register Customizer – Forms, Popup, Profile & WooCommerce" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Login & Register Customizer – Forms, Popup, Profile & WooCommerce</strong><span class="mxp-p-related-desc">這款外掛為您的 WordPress 或 WooCommerce 網站提供現代化的...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/bm-custom-login/"><img decoding="async" src="https://ps.w.org/bm-custom-login/assets/icon.svg?rev=3669568" alt="Teydea Login Customizer – Custom Login Page, Branding & Styling" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Teydea Login Customizer – Custom Login Page, Branding & Styling</strong><span class="mxp-p-related-desc">Teydea Login Customizer 讓您可以完全自訂 WordPress 登入頁...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/adminify/"><img decoding="async" src="https://ps.w.org/adminify/assets/icon.svg?rev=3001787" alt="Adminify – White Label, Admin Menu Editor, Login Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Adminify – White Label, Admin Menu Editor, Login Customizer</strong><span class="mxp-p-related-desc">Adminify 是一款專為代理商、自由開發者及網站擁有者設計的 W...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/wp-edit-password-protected/"><img decoding="async" src="https://ps.w.org/wp-edit-password-protected/assets/icon-128x128.gif?rev=3499151" alt="WPEPP – Essential Security, Password Protect & Login Page Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>WPEPP – Essential Security, Password Protect & Login Page Customizer</strong><span class="mxp-p-related-desc">WPEPP 是一款全方位的 WordPress 安全外掛,提供密碼保護內容...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/loginfy/"><img decoding="async" src="https://ps.w.org/loginfy/assets/icon.svg?rev=3064366" alt="Loginfy – Custom Login Page Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Loginfy – Custom Login Page Customizer</strong><span class="mxp-p-related-desc">總結:LoginFY 外掛讓使用者能夠輕鬆自訂他們的 WordPress 登...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/sky-login-redirect/"><img decoding="async" src="https://ps.w.org/sky-login-redirect/assets/icon-256x256.png?rev=1141443" alt="Sky Login Redirect" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Sky Login Redirect</strong><span class="mxp-p-related-desc">Sky Login Redirect 是一款功能強大的 WordPress 登入/登出重...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/wip-custom-login/"><img decoding="async" src="https://ps.w.org/wip-custom-login/assets/icon-128x128.png?rev=1394557" alt="WIP Custom Login" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>WIP Custom Login</strong><span class="mxp-p-related-desc">WIP Custom Login 讓使用者能夠自訂 WordPress 的登入區域,...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/clp-custom-login-page/"><img decoding="async" src="https://ps.w.org/clp-custom-login-page/assets/icon-256x256.png?rev=2390912" alt="CLP – Custom Login Page by NiteoThemes" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>CLP – Custom Login Page by NiteoThemes</strong><span class="mxp-p-related-desc">Custom Login Page 外掛允許您自定 WordPress 登入頁面上的任...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/as-admin-customizer/"><img decoding="async" src="https://ps.w.org/as-admin-customizer/assets/icon-256x256.png?rev=2154178" alt="Admin Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Admin Customizer</strong><span class="mxp-p-related-desc">Admin Customizer 外掛提供了自定義 WordPress 後台登入頁的...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/login-page-ui-customizer/"><img decoding="async" src="https://ps.w.org/login-page-ui-customizer/assets/icon-256x256.png?rev=2841452" alt="Login Page UI Customizer" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Login Page UI Customizer</strong><span class="mxp-p-related-desc"> Login Page UI Customizer by CloudRedux 旨在讓您完整體驗 ...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/customizer-login-page-wp/"><img decoding="async" src="https://ps.w.org/customizer-login-page-wp/assets/icon-256x256.png?rev=2855092" alt="Customizer Login Page WP" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Customizer Login Page WP</strong><span class="mxp-p-related-desc">Customizer Login Page 插件可以幫助您在WordPress網站上啟用...</span></span></a><a class="mxp-p-related-item" href="https://www.mxp.tw/plugins/wp-white-label-login/"><img decoding="async" src="https://ps.w.org/wp-white-label-login/assets/icon-128x128.png?rev=3020008" alt="Easy White Label" width="48" height="48" loading="lazy"/><span class="mxp-p-related-info"><strong>Easy White Label</strong><span class="mxp-p-related-desc">此外掛提供自訂登入頁面功能,可自訂 WordPress 登入頁面、註...</span></span></a></div> <p><script>document.addEventListener("DOMContentLoaded",function(){window.onpopstate=function(){location.href="https://www.mxp.tw/plugins/";};history.pushState({},"");});</script></p> <p><ins class="adsbygoogle" style="display:block" data-ad-format="autorelaxed" data-ad-slot="9308222110"></ins><script>setMxpAdClient();(adsbygoogle = window.adsbygoogle || []).push({});</script></p> </div><!-- .entry-content --> </article><!-- #post--1 --> </main><!-- #main --> </div><!-- #primary --> </div><!-- #content --> <footer id="colophon" class="site-footer"> <aside class="widget-area" role="complementary" aria-label="頁尾"> <div class="widget-column footer-widget-1"> <section id="text-3" class="widget widget_text"><h2 class="widget-title">微薄主機費來源</h2> <div class="textwidget"><p><script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><br /> <ins class="adsbygoogle" style="display:block" data-ad-slot="1291294008" data-ad-format="auto" data-full-width-responsive="true"></ins><br /> <script>setMxpAdClient(); (adsbygoogle = window.adsbygoogle || []).push({}); </script></p> </div> </section><section id="text-2" class="widget widget_text"><h2 class="widget-title">Facebook 專頁</h2> <div class="textwidget"><div class="fb-page" data-href="https://www.facebook.com/a.tech.guy" data-tabs="timeline" data-width="" data-height="70" data-small-header="true" data-adapt-container-width="true" data-hide-cover="true" data-show-facepile="false"><blockquote cite="https://www.facebook.com/a.tech.guy" class="fb-xfbml-parse-ignore"><a rel="nofollow" href="https://www.facebook.com/a.tech.guy">一介資男</a></blockquote></div></div> </section> <section id="recent-posts-4" class="widget widget_recent_entries"> <h2 class="widget-title">近期文章</h2><nav aria-label="近期文章"> <ul> <li> <a href="https://www.mxp.tw/11670/">我找到漏洞,他們找來律師:一場善意揭露卻被法律威脅的真實案例</a> </li> <li> <a href="https://www.mxp.tw/11668/">讀後筆記|Child’s Play:矽谷「高度行動者」與虛無新貴的誕生</a> </li> <li> <a href="https://www.mxp.tw/11666/">AI 自主代理人的失控一擊:從 MJ Rathbun 事件看「配置即人格」的危險</a> </li> <li> <a href="https://www.mxp.tw/11664/">清理 Git 分支的最佳偷懶法:來自 CIA 外洩文件的一行指令</a> </li> <li> <a href="https://www.mxp.tw/11662/">ggml.ai 與 Hugging Face 的正式結盟:Local AI 生態的重要里程碑</a> </li> </ul> </nav></section><section id="categories-2" class="widget widget_categories"><h2 class="widget-title">文章分類</h2><nav aria-label="文章分類"> <ul> <li class="cat-item cat-item-6"><a href="https://www.mxp.tw/category/blog%e5%a4%a7%e5%b0%8f%e4%ba%8b/">Blog大小事</a> (26) </li> <li class="cat-item cat-item-252"><a href="https://www.mxp.tw/category/facebook%e5%90%8c%e6%ad%a5%e5%82%99%e4%bb%bd/">Facebook同步備份</a> (370) </li> <li class="cat-item cat-item-2310"><a href="https://www.mxp.tw/category/hackernews-daily/">Hacker News</a> (499) </li> <li class="cat-item cat-item-12"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/">技術相關</a> (582) <ul class='children'> <li class="cat-item cat-item-2319"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/ai-ml/">AI 與機器學習</a> (18) </li> <li class="cat-item cat-item-2321"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/api-integration/">API 與資料整合</a> (56) </li> <li class="cat-item cat-item-2323"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/seo-marketing/">SEO 與網站經營</a> (10) </li> <li class="cat-item cat-item-2315"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/">WordPress</a> (296) <ul class='children'> <li class="cat-item cat-item-2324"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/woocommerce/">WooCommerce 開發</a> (108) </li> <li class="cat-item cat-item-2326"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/wordpress-theme/">佈景主題開發</a> (8) </li> <li class="cat-item cat-item-2325"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/wordpress/wordpress-plugin/">外掛開發</a> (71) </li> </ul> </li> <li class="cat-item cat-item-2317"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/server-admin/">伺服器管理</a> (121) </li> <li class="cat-item cat-item-2316"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/programming/">程式開發</a> (149) </li> <li class="cat-item cat-item-2320"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/database/">資料庫</a> (37) </li> <li class="cat-item cat-item-2318"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/security/">資訊安全</a> (57) </li> <li class="cat-item cat-item-2322"><a href="https://www.mxp.tw/category/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/dev-tools/">開發工具與環境</a> (42) </li> </ul> </li> <li class="cat-item cat-item-19"><a href="https://www.mxp.tw/category/%e6%94%9d%e5%bd%b1%e7%9b%b8%e9%97%9c/">攝影相關</a> (5) </li> <li class="cat-item cat-item-8"><a href="https://www.mxp.tw/category/%e6%96%b0%e8%81%9e%e8%b3%87%e8%a8%8a/">新聞資訊</a> (239) </li> <li class="cat-item cat-item-60"><a href="https://www.mxp.tw/category/temperature/">有溫度的文字</a> (72) </li> <li class="cat-item cat-item-1"><a href="https://www.mxp.tw/category/uncategorized/">未分類</a> (1) </li> </ul> </nav></section><section id="tag_cloud-3" class="widget widget_tag_cloud"><h2 class="widget-title">常用標籤</h2><nav aria-label="常用標籤"><div class="tagcloud"><a href="https://www.mxp.tw/tag/api/" class="tag-cloud-link tag-link-17 tag-link-position-1" style="font-size: 12.905109489051pt;" aria-label="API (42 個項目)">API</a> <a href="https://www.mxp.tw/tag/blog%e5%a4%a7%e5%b0%8f%e4%ba%8b/" class="tag-cloud-link tag-link-670 tag-link-position-2" style="font-size: 9.1240875912409pt;" aria-label="Blog大小事 (17 個項目)">Blog大小事</a> <a href="https://www.mxp.tw/tag/chrome/" class="tag-cloud-link tag-link-13 tag-link-position-3" style="font-size: 8.5109489051095pt;" aria-label="Chrome (15 個項目)">Chrome</a> <a href="https://www.mxp.tw/tag/docker/" class="tag-cloud-link tag-link-117 tag-link-position-4" style="font-size: 11.372262773723pt;" aria-label="Docker (29 個項目)">Docker</a> <a href="https://www.mxp.tw/tag/erp/" class="tag-cloud-link tag-link-1402 tag-link-position-5" style="font-size: 9.9416058394161pt;" aria-label="ERP (21 個項目)">ERP</a> <a href="https://www.mxp.tw/tag/facebook/" class="tag-cloud-link tag-link-219 tag-link-position-6" style="font-size: 16.07299270073pt;" aria-label="Facebook (86 個項目)">Facebook</a> <a href="https://www.mxp.tw/tag/facebook%e5%90%8c%e6%ad%a5/" class="tag-cloud-link tag-link-644 tag-link-position-7" style="font-size: 8.8175182481752pt;" aria-label="Facebook同步 (16 個項目)">Facebook同步</a> <a href="https://www.mxp.tw/tag/fb2wp/" class="tag-cloud-link tag-link-248 tag-link-position-8" style="font-size: 8.3065693430657pt;" aria-label="FB2WP (14 個項目)">FB2WP</a> <a href="https://www.mxp.tw/tag/google/" class="tag-cloud-link tag-link-80 tag-link-position-9" style="font-size: 12.496350364964pt;" aria-label="Google (38 個項目)">Google</a> <a href="https://www.mxp.tw/tag/https/" class="tag-cloud-link tag-link-90 tag-link-position-10" style="font-size: 9.5328467153285pt;" aria-label="HTTPS (19 個項目)">HTTPS</a> <a href="https://www.mxp.tw/tag/idempiere/" class="tag-cloud-link tag-link-1598 tag-link-position-11" style="font-size: 10.14598540146pt;" aria-label="iDempiere (22 個項目)">iDempiere</a> <a href="https://www.mxp.tw/tag/javascript/" class="tag-cloud-link tag-link-15 tag-link-position-12" style="font-size: 10.861313868613pt;" aria-label="JavaScript (26 個項目)">JavaScript</a> <a href="https://www.mxp.tw/tag/linux/" class="tag-cloud-link tag-link-65 tag-link-position-13" style="font-size: 9.5328467153285pt;" aria-label="Linux (19 個項目)">Linux</a> <a href="https://www.mxp.tw/tag/mac/" class="tag-cloud-link tag-link-115 tag-link-position-14" style="font-size: 10.14598540146pt;" aria-label="Mac (22 個項目)">Mac</a> <a href="https://www.mxp.tw/tag/mysql/" class="tag-cloud-link tag-link-39 tag-link-position-15" style="font-size: 11.474452554745pt;" aria-label="MySQL (30 個項目)">MySQL</a> <a href="https://www.mxp.tw/tag/nginx/" class="tag-cloud-link tag-link-36 tag-link-position-16" style="font-size: 11.678832116788pt;" aria-label="Nginx (31 個項目)">Nginx</a> <a href="https://www.mxp.tw/tag/nodejs/" class="tag-cloud-link tag-link-96 tag-link-position-17" style="font-size: 8.8175182481752pt;" aria-label="NodeJS (16 個項目)">NodeJS</a> <a href="https://www.mxp.tw/tag/php/" class="tag-cloud-link tag-link-34 tag-link-position-18" style="font-size: 16.788321167883pt;" aria-label="PHP (102 個項目)">PHP</a> <a href="https://www.mxp.tw/tag/plugin/" class="tag-cloud-link tag-link-4 tag-link-position-19" style="font-size: 10.656934306569pt;" aria-label="Plugin (25 個項目)">Plugin</a> <a href="https://www.mxp.tw/tag/seo/" class="tag-cloud-link tag-link-81 tag-link-position-20" style="font-size: 8.8175182481752pt;" aria-label="SEO (16 個項目)">SEO</a> <a href="https://www.mxp.tw/tag/ssl/" class="tag-cloud-link tag-link-89 tag-link-position-21" style="font-size: 8.5109489051095pt;" aria-label="SSL (15 個項目)">SSL</a> <a href="https://www.mxp.tw/tag/ubuntu/" class="tag-cloud-link tag-link-46 tag-link-position-22" style="font-size: 12.802919708029pt;" aria-label="Ubuntu (41 個項目)">Ubuntu</a> <a href="https://www.mxp.tw/tag/vps/" class="tag-cloud-link tag-link-48 tag-link-position-23" style="font-size: 12.905109489051pt;" aria-label="VPS (42 個項目)">VPS</a> <a href="https://www.mxp.tw/tag/woocommerce/" class="tag-cloud-link tag-link-449 tag-link-position-24" style="font-size: 17.197080291971pt;" aria-label="WooCommerce (110 個項目)">WooCommerce</a> <a href="https://www.mxp.tw/tag/wordpress/" class="tag-cloud-link tag-link-3 tag-link-position-25" style="font-size: 22pt;" aria-label="WordPress (331 個項目)">WordPress</a> <a href="https://www.mxp.tw/tag/%e4%bc%81%e6%a5%ad%e7%ae%a1%e7%90%86%e7%b3%bb%e7%b5%b1/" class="tag-cloud-link tag-link-2334 tag-link-position-26" style="font-size: 8pt;" aria-label="企業管理系統 (13 個項目)">企業管理系統</a> <a href="https://www.mxp.tw/tag/%e4%bc%ba%e6%9c%8d%e5%99%a8/" class="tag-cloud-link tag-link-52 tag-link-position-27" style="font-size: 9.1240875912409pt;" aria-label="伺服器 (17 個項目)">伺服器</a> <a href="https://www.mxp.tw/tag/%e5%a4%96%e6%8e%9b/" class="tag-cloud-link tag-link-42 tag-link-position-28" style="font-size: 14.233576642336pt;" aria-label="外掛 (56 個項目)">外掛</a> <a href="https://www.mxp.tw/tag/%e5%a4%96%e6%8e%9b%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-664 tag-link-position-29" style="font-size: 11.474452554745pt;" aria-label="外掛開發 (30 個項目)">外掛開發</a> <a href="https://www.mxp.tw/tag/%e5%ae%89%e5%85%a8%e6%80%a7/" class="tag-cloud-link tag-link-51 tag-link-position-30" style="font-size: 9.9416058394161pt;" aria-label="安全性 (21 個項目)">安全性</a> <a href="https://www.mxp.tw/tag/%e5%ae%a2%e8%a3%bd%e5%8c%96/" class="tag-cloud-link tag-link-614 tag-link-position-31" style="font-size: 8.8175182481752pt;" aria-label="客製化 (16 個項目)">客製化</a> <a href="https://www.mxp.tw/tag/%e5%b7%a5%e5%85%b7/" class="tag-cloud-link tag-link-281 tag-link-position-32" style="font-size: 8.8175182481752pt;" aria-label="工具 (16 個項目)">工具</a> <a href="https://www.mxp.tw/tag/%e5%bf%83%e5%be%97/" class="tag-cloud-link tag-link-172 tag-link-position-33" style="font-size: 11.167883211679pt;" aria-label="心得 (28 個項目)">心得</a> <a href="https://www.mxp.tw/tag/%e6%8a%80%e8%a1%93%e7%9b%b8%e9%97%9c/" class="tag-cloud-link tag-link-660 tag-link-position-34" style="font-size: 16.890510948905pt;" aria-label="技術相關 (104 個項目)">技術相關</a> <a href="https://www.mxp.tw/tag/%e6%95%99%e5%ad%b8/" class="tag-cloud-link tag-link-294 tag-link-position-35" style="font-size: 15.153284671533pt;" aria-label="教學 (70 個項目)">教學</a> <a href="https://www.mxp.tw/tag/%e6%96%b0%e8%81%9e%e8%b3%87%e8%a8%8a/" class="tag-cloud-link tag-link-671 tag-link-position-36" style="font-size: 19.036496350365pt;" aria-label="新聞資訊 (168 個項目)">新聞資訊</a> <a href="https://www.mxp.tw/tag/%e6%9c%89%e6%ba%ab%e5%ba%a6%e7%9a%84%e6%96%87%e5%ad%97/" class="tag-cloud-link tag-link-746 tag-link-position-37" style="font-size: 14.335766423358pt;" aria-label="有溫度的文字 (58 個項目)">有溫度的文字</a> <a href="https://www.mxp.tw/tag/%e6%a9%9f%e5%99%a8%e4%ba%ba/" class="tag-cloud-link tag-link-534 tag-link-position-38" style="font-size: 8.5109489051095pt;" aria-label="機器人 (15 個項目)">機器人</a> <a href="https://www.mxp.tw/tag/%e7%a8%8b%e5%bc%8f%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-1590 tag-link-position-39" style="font-size: 11.372262773723pt;" aria-label="程式開發 (29 個項目)">程式開發</a> <a href="https://www.mxp.tw/tag/%e7%ad%86%e8%a8%98/" class="tag-cloud-link tag-link-514 tag-link-position-40" style="font-size: 8.3065693430657pt;" aria-label="筆記 (14 個項目)">筆記</a> <a href="https://www.mxp.tw/tag/%e7%b6%93%e7%87%9f/" class="tag-cloud-link tag-link-702 tag-link-position-41" style="font-size: 10.656934306569pt;" aria-label="經營 (25 個項目)">經營</a> <a href="https://www.mxp.tw/tag/%e7%b6%b2%e7%ab%99%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-551 tag-link-position-42" style="font-size: 11.985401459854pt;" aria-label="網站開發 (34 個項目)">網站開發</a> <a href="https://www.mxp.tw/tag/%e8%b3%87%e6%96%99%e5%ba%ab/" class="tag-cloud-link tag-link-1043 tag-link-position-43" style="font-size: 8pt;" aria-label="資料庫 (13 個項目)">資料庫</a> <a href="https://www.mxp.tw/tag/%e9%96%8b%e6%ba%90erp/" class="tag-cloud-link tag-link-2335 tag-link-position-44" style="font-size: 8.5109489051095pt;" aria-label="開源ERP (15 個項目)">開源ERP</a> <a href="https://www.mxp.tw/tag/%e9%96%8b%e7%99%bc/" class="tag-cloud-link tag-link-479 tag-link-position-45" style="font-size: 11.678832116788pt;" aria-label="開發 (31 個項目)">開發</a></div> </nav></section><section id="custom_html-2" class="widget_text widget widget_custom_html"><div class="textwidget custom-html-widget"><script type="text/javascript"> google_ad_client = "ca-pub-1939980533457134"; /*google_ad_host = "ca-host-pub-7449992691305813";    google_ad_host_channel = "2031107259";*/ google_ad_slot = "1291294008"; google_ad_format = "auto"; if (!(/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent))) { google_ad_width = 300; google_ad_height = 250; }else{ google_ad_width = 300; google_ad_height = 600; } </script> <!-- mxp-sidebar-auto_320x250 --> <script type="text/javascript" src="//pagead2.googlesyndication.com/pagead/show_ads.js"> </script></div></section> </div> </aside><!-- .widget-area --> <div class="site-info"> <a class="site-name" href="https://www.mxp.tw/" rel="home">一介資男</a>, <a rel="nofollow" href="https://tw.wordpress.org/" class="imprint"> 本站採用 WordPress 建置 </a> <nav class="footer-navigation" aria-label="頁尾選單"> <div class="menu-links-container"><ul id="menu-links" class="footer-menu"><li id="menu-item-7040" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7040"><a rel="nofollow" href="https://www.facebook.com/a.tech.guy">Facebook</a></li> <li id="menu-item-7041" class="menu-item menu-item-type-custom menu-item-object-custom menu-item-7041"><a rel="nofollow" href="https://github.com/nczz">GitHub</a></li> <li id="menu-item-9302" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-9302"><a href="https://www.mxp.tw/statement-policy/">使用者條款與隱私權聲明</a></li> </ul></div> </nav><!-- .footer-navigation --> </div><!-- .site-info --> </footer><!-- #colophon --> </div><!-- #page --> <script type="speculationrules"> {"prefetch":[{"source":"document","where":{"and":[{"href_matches":"/*"},{"not":{"href_matches":["/wp-*.php","/wp-admin/*","/wp-content/uploads/*","/wp-content/*","/wp-content/plugins/*","/wp-content/themes/mxp_tw/*","/wp-content/themes/twentynineteen/*","/*\\?(.+)"]}},{"not":{"selector_matches":"a[rel~=\"nofollow\"]"}},{"not":{"selector_matches":".no-prefetch, .no-prefetch a"}}]},"eagerness":"conservative"}]} </script> <script type="text/html" id="tmpl-cmswt-Result-itemTemplate--default"> <# if(data.taxonomy === undefined){ #> <div class="hit-header"> <# var imageHTML = ''; if(data.post_thumbnail_html !== undefined && data.post_thumbnail_html !== ''){ imageHTML = data.post_thumbnail_html }else if(data.post_thumbnail !== undefined && data.post_thumbnail !== ''){ imageHTML = `<img src="${data.post_thumbnail}" alt="${data.post_title}" class="ais-Hit-itemImage" />` } else{ imageHTML = `<img src="https://www.mxp.tw/wp-content/plugins/search-with-typesense/assets/images/placeholder-300x300.jpg" alt="${data.post_title}" class="ais-Hit-itemImage" />` } #> <# if(imageHTML !== ''){ #> <a href="{{{data._highlightResult.permalink.value}}}" class="hit-header--link" rel="nofollow noopener">{{{imageHTML}}}</a> <# } #> </div> <# } #> <div class="hit-content"> <# if(data._highlightResult.permalink !== undefined ) { #> <a href="{{{data._highlightResult.permalink.value}}}" class="hit-contentLink" rel="nofollow noopener"><h5 class="title"> {{{data.formatted.post_title}}}</h5></a> <# } #> <# if( data.post_type === 'post' ) { #> <div class="hit-meta"> <span class="posted-by"> By {{data.post_author}} </span> <span class="posted-on"> <time datetime="">{{data.formatted.postedDate}}</time> </span> <# if ( Object.keys(data.formatted.cats).length > 0 ) { #> <div class="hit-cats"> <# for ( let key in data.formatted.cats ) { #> <div class="hit-cat"><a rel="nofollow" href="{{{data.formatted.cats[key]}}}">{{{key}}}</a>,</div> <# } #> </div> <# } #> </div> <# } #> <div class="hit-description">{{{data.formatted.post_content}}}</div> <div class="hit-link"> <a rel="nofollow" href="{{data.permalink}}">Read More...</a> </div> </div> </script><script type="text/html" id="tmpl-cmswt-NoSearchResults-default"> <div class="cmswt-noSearchResults cmswt-NoSearchResults-default"> No results found </div> </script><script type="text/html" id="tmpl-cm-autocomplete"> <div class="aa-ItemWrapper"> <div class="aa-ItemContent"> <div class="aa-ItemIcon aa-ItemIcon--alignTop"> <# if ( data.document.post_thumbnail !== '' && data.document.post_thumbnail !== undefined ) { #> <img src="{{{data.document.post_thumbnail}}}" alt="{{data.document.post_title}}" width="40" height="40" /> <# } else { #> <img src="https://www.mxp.tw/wp-content/plugins/search-with-typesense/assets/placeholder.jpg" alt="{{data.document.post_title}}" width="40" height="40" /> <# } #> </div> <div class="aa-ItemContentBody"> <div class="aa-ItemContentTitle"> {{{data.formatted.post_title}}} </div> <div class="aa-ItemContentDescription"> {{data.formatted.sliced_content}} </div> </div> </div> </div> </script><script type="text/html" id="tmpl-cm-autocomplete-header"> <h5>{{{data.name}}}</h5> </script><script type="text/html" id="tmpl-cm-autocomplete-no-results-found">No Results Found</script> <style> .ais-Highlight-highlighted, .ais-Snippet-highlighted, .hit-description mark { background-color: #ffc168 } </style> <div class="cmswt-InstantSearchPopup"> <div class="cmswt-InstantSearchPopup--results"> <a href="#" class="cmswt-InstantSearchPopup--closeIcon" title="close"> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6" fill="none" viewBox="0 0 24 24" stroke="currentColor" stroke-width="2"> <path stroke-linecap="round" stroke-linejoin="round" d="M6 18L18 6M6 6l12 12"/> </svg> </a> <div class="cmswt-InstantSearch ais-InstantSearch cm_swt_instant_search_1 single-source" data-id="cm_swt_instant_search_1" data-config="{"filter":"show","post_types":["post"],"per_page":"4","pagination":"infinite","sortby":"show","columns":"1","placeholder":"Search for...","query_by":"post_title,post_content","sticky_first":"no","custom_class":"","search_query":"","selected_filters":"hide","stats":"hide","routing":"disable","unique_id":"cm_swt_instant_search_1","collections":["post"]}" data-facets="[]" data-placeholder="Search for..." data-query_by="post_title,post_content" data-sticky_first="no" data-additional_search_params="[]" data-search_query="" data-additional_config="[]" data-routing="disable" > <div class="cmswt-InstantSearch-overlay cmswt-FilterPanel-itemsClose"></div> <div class="cmswt-Header"> <div class="cmswt-SearchBox" data-settings="[]" ></div><div class="cmswt-CollectionMenu cmswt-CollectionMenu--singleSource"> <div class="cmswt-CollectionMenu-current"> <span class="cmswt-CollectionMenu-currentLabel">文章</span> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 cmswt-CollectionMenu-icon" width="24" height="25" viewBox="0 0 24 25" fill="none"> <path d="M9 5.50001C8.73478 5.50001 8.48043 5.60537 8.29289 5.7929C8.10536 5.98044 8 6.23479 8 6.50001C8 6.76523 8.10536 7.01958 8.29289 7.20712C8.48043 7.39465 8.73478 7.50001 9 7.50001C9.26522 7.50001 9.51957 7.39465 9.70711 7.20712C9.89464 7.01958 10 6.76523 10 6.50001C10 6.23479 9.89464 5.98044 9.70711 5.7929C9.51957 5.60537 9.26522 5.50001 9 5.50001ZM6.17 5.50001C6.3766 4.91448 6.75974 4.40744 7.2666 4.0488C7.77346 3.69015 8.37909 3.49756 9 3.49756C9.62091 3.49756 10.2265 3.69015 10.7334 4.0488C11.2403 4.40744 11.6234 4.91448 11.83 5.50001H19C19.2652 5.50001 19.5196 5.60537 19.7071 5.7929C19.8946 5.98044 20 6.23479 20 6.50001C20 6.76523 19.8946 7.01958 19.7071 7.20712C19.5196 7.39465 19.2652 7.50001 19 7.50001H11.83C11.6234 8.08554 11.2403 8.59258 10.7334 8.95122C10.2265 9.30986 9.62091 9.50246 9 9.50246C8.37909 9.50246 7.77346 9.30986 7.2666 8.95122C6.75974 8.59258 6.3766 8.08554 6.17 7.50001H5C4.73478 7.50001 4.48043 7.39465 4.29289 7.20712C4.10536 7.01958 4 6.76523 4 6.50001C4 6.23479 4.10536 5.98044 4.29289 5.7929C4.48043 5.60537 4.73478 5.50001 5 5.50001H6.17ZM15 11.5C14.7348 11.5 14.4804 11.6054 14.2929 11.7929C14.1054 11.9804 14 12.2348 14 12.5C14 12.7652 14.1054 13.0196 14.2929 13.2071C14.4804 13.3947 14.7348 13.5 15 13.5C15.2652 13.5 15.5196 13.3947 15.7071 13.2071C15.8946 13.0196 16 12.7652 16 12.5C16 12.2348 15.8946 11.9804 15.7071 11.7929C15.5196 11.6054 15.2652 11.5 15 11.5ZM12.17 11.5C12.3766 10.9145 12.7597 10.4074 13.2666 10.0488C13.7735 9.69015 14.3791 9.49756 15 9.49756C15.6209 9.49756 16.2265 9.69015 16.7334 10.0488C17.2403 10.4074 17.6234 10.9145 17.83 11.5H19C19.2652 11.5 19.5196 11.6054 19.7071 11.7929C19.8946 11.9804 20 12.2348 20 12.5C20 12.7652 19.8946 13.0196 19.7071 13.2071C19.5196 13.3947 19.2652 13.5 19 13.5H17.83C17.6234 14.0855 17.2403 14.5926 16.7334 14.9512C16.2265 15.3099 15.6209 15.5025 15 15.5025C14.3791 15.5025 13.7735 15.3099 13.2666 14.9512C12.7597 14.5926 12.3766 14.0855 12.17 13.5H5C4.73478 13.5 4.48043 13.3947 4.29289 13.2071C4.10536 13.0196 4 12.7652 4 12.5C4 12.2348 4.10536 11.9804 4.29289 11.7929C4.48043 11.6054 4.73478 11.5 5 11.5H12.17ZM9 17.5C8.73478 17.5 8.48043 17.6054 8.29289 17.7929C8.10536 17.9804 8 18.2348 8 18.5C8 18.7652 8.10536 19.0196 8.29289 19.2071C8.48043 19.3947 8.73478 19.5 9 19.5C9.26522 19.5 9.51957 19.3947 9.70711 19.2071C9.89464 19.0196 10 18.7652 10 18.5C10 18.2348 9.89464 17.9804 9.70711 17.7929C9.51957 17.6054 9.26522 17.5 9 17.5ZM6.17 17.5C6.3766 16.9145 6.75974 16.4074 7.2666 16.0488C7.77346 15.6902 8.37909 15.4976 9 15.4976C9.62091 15.4976 10.2265 15.6902 10.7334 16.0488C11.2403 16.4074 11.6234 16.9145 11.83 17.5H19C19.2652 17.5 19.5196 17.6054 19.7071 17.7929C19.8946 17.9804 20 18.2348 20 18.5C20 18.7652 19.8946 19.0196 19.7071 19.2071C19.5196 19.3947 19.2652 19.5 19 19.5H11.83C11.6234 20.0855 11.2403 20.5926 10.7334 20.9512C10.2265 21.3099 9.62091 21.5025 9 21.5025C8.37909 21.5025 7.77346 21.3099 7.2666 20.9512C6.75974 20.5926 6.3766 20.0855 6.17 19.5H5C4.73478 19.5 4.48043 19.3947 4.29289 19.2071C4.10536 19.0196 4 18.7652 4 18.5C4 18.2348 4.10536 17.9804 4.29289 17.7929C4.48043 17.6054 4.73478 17.5 5 17.5H6.17Z" fill="#696969"/> </svg> </div> <ul class="cmswt-IndexSwitcher"> <li class="cmswt-IndexSwitcher-item active"> <a href="#" class="cmswt-IndexSwitcher-link" data-instance_id="cm_swt_instant_search_1" data-collection="post"> 文章 </a> </li> </ul> </div><div class="cmswt-FilterPanel-toggle"> <span class="cmswt-FilterPanel-toggleLabel"> Filter </span> <svg xmlns="http://www.w3.org/2000/svg" class="h-6 w-6 cmswt-FilterPanel-toggleIcon" width="20" height="21" viewBox="0 0 20 21" fill="none"> <path d="M2.1875 2.6875H17.8125V4.5625L11.5625 11.4375V16.4375L8.4375 18.3125V11.4375L2.1875 4.5625V2.6875Z" stroke="#696969" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/> </svg> </div> <div class="cmswt-Sort"> <div class="cmswt-SortBy cmswt-SortBy-post" data-settings="{"items":[{"label":"Recent","value":"post"},{"label":"Oldest","value":"post\/sort\/sort_by_date:asc"}]}" ></div> </div></div><div class="cmswt-MainPanel"> <div class="cmswt-Results"> <div class="cmswt-Result cmswt-Result-post"> <div class="cmswt-Result-hits cmswt-Result-hits_post"></div><div class="cmswt-Pagination cmswt-Pagination-post cmswt-Pagination--infinite"></div> </div> </div> </div></div> </div> </div> <style>.grecaptcha-badge{ visibility: collapse !important; }</style><style> ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; } </style> <a style="display:none;" rel="me nofollow" href="https://hcchiang.com/@hi">Mastodon</a> <script type="application/ld+json" id="slim-seo-schema">{"@context":"https://schema.org","@graph":[{"@type":"WebSite","@id":"https://www.mxp.tw/#website","url":"https://www.mxp.tw/","name":"一介資男","description":"WordPress 開發者 & iDempiere ERP 顧問 — 分享 Web 開發、伺服器管理、資安與開源 ERP 實戰經驗","inLanguage":"zh-TW","potentialAction":{"@id":"https://www.mxp.tw/#searchaction"},"publisher":{"@id":"https://www.mxp.tw/#person"}},{"@type":"SearchAction","@id":"https://www.mxp.tw/#searchaction","target":"https://www.mxp.tw/?s={search_term_string}","query-input":"required name=search_term_string"},{"@type":"BreadcrumbList","name":"導覽標記","@id":"https://www.mxp.tw/plugins/logindash/#breadcrumblist","itemListElement":[{"@type":"ListItem","position":1,"name":"首頁","item":"https://www.mxp.tw/"},{"@type":"ListItem","position":2,"name":"[WordPress] 外掛分享: LoginDash"}]},{"@type":"WebPage","@id":"https://www.mxp.tw/plugins/logindash/#webpage","url":"https://www.mxp.tw/plugins/logindash/","inLanguage":"zh-TW","name":"LoginDash — WordPress 外掛中文介紹","description":"LoginDash 是一款專為 WordPress 設計的登入頁面自訂外掛,讓使用者能夠輕鬆打造品牌化的登入體驗。透過即時預覽功能,使用者可以在不需編碼的情況下,自訂頁面元...","datePublished":"2026-10-16T06:01:21+08:00","dateModified":"-001-11-30T08:06:00+08:06","isPartOf":{"@id":"https://www.mxp.tw/#website"},"breadcrumb":{"@id":"https://www.mxp.tw/plugins/logindash/#breadcrumblist"},"potentialAction":{"@id":"https://www.mxp.tw/plugins/logindash/#readaction"},"primaryImageOfPage":{"@id":"https://www.mxp.tw/plugins/logindash/#thumbnail"},"image":{"@id":"https://www.mxp.tw/plugins/logindash/#thumbnail"}},{"@type":"ReadAction","@id":"https://www.mxp.tw/plugins/logindash/#readaction","target":"https://www.mxp.tw/plugins/logindash/"},{"@type":"Person","@id":"https://www.mxp.tw/#person","name":"Chun","alternateName":"一介資男","url":"https://www.mxp.tw/","description":"WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。","image":{"@type":"ImageObject","@id":"https://www.mxp.tw/#personimage","url":"https://www.mxp.tw/wp-content/uploads/2019/06/cropped-竣大頭貼.png","contentUrl":"https://www.mxp.tw/wp-content/uploads/2019/06/cropped-竣大頭貼.png","width":190,"height":190},"sameAs":["https://github.com/nczz/","https://profiles.wordpress.org/mxp/","https://www.facebook.com/mxp.tw","https://hcchiang.com/@hi"],"jobTitle":"WordPress 開發者 / iDempiere ERP 顧問","knowsAbout":["WordPress","PHP","Web Development","Server Administration","Open Source","iDempiere","ERP","Java"]},{"@type":"ImageObject","@id":"https://www.mxp.tw/plugins/logindash/#thumbnail","url":"https://ps.w.org/logindash/assets/banner-1544x500.png?rev=3732604"},{"@type":"SoftwareApplication","name":"LoginDash","description":"LoginDash 是一款專為 WordPress 設計的登入頁面自訂外掛,讓使用者能夠輕鬆打造品牌化的登入體驗。透過即時預覽功能,使用者可以在不需編碼的情況下,自訂頁面元...","applicationCategory":"WordPress Plugin","operatingSystem":"WordPress","url":"https://www.mxp.tw/plugins/logindash/","installUrl":"https://tw.wordpress.org/plugins/logindash/","image":"https://ps.w.org/logindash/assets/banner-1544x500.png?rev=3732604","offers":{"@type":"Offer","price":"0","priceCurrency":"TWD"},"softwareVersion":"1.0.1","downloadUrl":"https://downloads.wordpress.org/plugin/logindash.1.0.1.zip","softwareRequirements":"WordPress 6.2+, PHP 8.0+","author":{"@type":"Person","name":"spinxdigitaldev","url":"https://profiles.wordpress.org/spinxdigitaldev/"}}]}</script> <script id="module-prism-line-number"> (function($) { $(function() { $("code").each(function() { var parent_div = $(this).parent("pre"); var pre_css = $(this).attr("class"); if (typeof pre_css !== "undefined" && -1 !== pre_css.indexOf("language-")) { parent_div.addClass("line-numbers"); } }); }); })(jQuery); </script> <script id="module-clipboard"> (function($) { $(function() { var pre = document.getElementsByTagName("pre"); var pasteContent = document.getElementById("paste-content"); var hasLanguage = false; for (var i = 0; i < pre.length; i++) { var codeClass = pre[i].children[0].className; var isLanguage = codeClass.indexOf("language-"); var excludedCodeClassNames = [ "language-katex", "language-seq", "language-sequence", "language-flow", "language-flowchart", "language-mermaid", ]; var isExcluded = excludedCodeClassNames.indexOf(codeClass); if (isExcluded !== -1) { isLanguage = -1; } if (isLanguage !== -1) { var current_pre = pre[i]; var parent = current_pre.parentNode; var div = document.createElement("div"); div.style['position'] = 'relative'; parent.replaceChild(div, current_pre); var button = document.createElement("button"); button.className = "copy-button"; button.textContent = "Copy"; div.appendChild(current_pre); div.appendChild(button); hasLanguage = true; } }; if (hasLanguage) { var copyCode = new ClipboardJS(".copy-button", { target: function(trigger) { return trigger.previousElementSibling; } }); copyCode.on("success", function(event) { event.clearSelection(); event.trigger.textContent = "Copied"; window.setTimeout(function() { event.trigger.textContent = "Copy"; }, 2000); }); } }); })(jQuery); </script> <script id="avc_frontend-js-extra"> var AdRefreshControl = {"advertiserIds":[],"lineItemIds":[],"sizesToExclude":["fluid"],"slotIdsToExclude":[],"viewabilityThreshold":"50","refreshInterval":"30","maximumRefreshes":"12","refreshCallback":""}; //# sourceURL=avc_frontend-js-extra </script> <script id="avc_frontend-js" defer src="https://www.mxp.tw/wp-content/plugins/ad-refresh-control/dist/js/frontend.js"></script> <script id="code-prettify-js-before"> var codePrettifyLoaderBaseUrl = "https:\/\/www.mxp.tw\/wp-content\/plugins\/code-prettify\/prettify"; //# sourceURL=code-prettify-js-before </script> <script id="code-prettify-js" defer src="https://www.mxp.tw/wp-content/plugins/code-prettify/prettify/run_prettify.js"></script> <script id="toc-front-js-extra"> var tocplus = {"smooth_scroll":"1","visibility_show":"\u986f\u793a","visibility_hide":"\u96b1\u85cf","width":"Auto"}; //# sourceURL=toc-front-js-extra </script> <script id="toc-front-js" defer src="https://www.mxp.tw/wp-content/plugins/table-of-contents-plus/front.min.js"></script> <script data-wp-strategy="defer" defer id="twentynineteen-touch-navigation-js" src="https://www.mxp.tw/wp-content/themes/twentynineteen/js/touch-keyboard-navigation.js"></script> <script id="clipboard-js" defer src="https://www.mxp.tw/wp-includes/js/clipboard.min.js"></script> <script id="heartbeat-js" src="https://www.mxp.tw/wp-content/plugins/wp-rocket/assets/js/heartbeat.js"></script> <script id="regenerator-runtime-js" defer src="https://www.mxp.tw/wp-includes/js/dist/vendor/regenerator-runtime.min.js"></script> <script id="moment-js" src="https://www.mxp.tw/wp-includes/js/dist/vendor/moment.min.js"></script> <script id="moment-js-after"> moment.updateLocale( 'zh_TW', {"months":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthsShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"weekdays":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"weekdaysShort":["\u9031\u65e5","\u9031\u4e00","\u9031\u4e8c","\u9031\u4e09","\u9031\u56db","\u9031\u4e94","\u9031\u516d"],"week":{"dow":1},"longDateFormat":{"LT":"H:i:s","LTS":null,"L":null,"LL":"Y/m/d","LLL":"Y \u5e74 n \u6708 j \u65e5a g:i","LLLL":null}} ); //# sourceURL=moment-js-after </script> <script id="wp-hooks-js" src="https://www.mxp.tw/wp-includes/js/dist/hooks.min.js"></script> <script id="wp-deprecated-js" src="https://www.mxp.tw/wp-includes/js/dist/deprecated.min.js"></script> <script id="wp-date-js" src="https://www.mxp.tw/wp-includes/js/dist/date.min.js"></script> <script id="wp-date-js-after"> wp.date.setSettings( {"l10n":{"locale":"zh_TW","months":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"monthsShort":["1 \u6708","2 \u6708","3 \u6708","4 \u6708","5 \u6708","6 \u6708","7 \u6708","8 \u6708","9 \u6708","10 \u6708","11 \u6708","12 \u6708"],"weekdays":["\u661f\u671f\u65e5","\u661f\u671f\u4e00","\u661f\u671f\u4e8c","\u661f\u671f\u4e09","\u661f\u671f\u56db","\u661f\u671f\u4e94","\u661f\u671f\u516d"],"weekdaysShort":["\u9031\u65e5","\u9031\u4e00","\u9031\u4e8c","\u9031\u4e09","\u9031\u56db","\u9031\u4e94","\u9031\u516d"],"meridiem":{"am":"\u4e0a\u5348","pm":"\u4e0b\u5348","AM":"\u4e0a\u5348","PM":"\u4e0b\u5348"},"relative":{"future":"%s\u5f8c","past":"%s\u524d","s":"1 \u79d2","ss":"%d \u79d2","m":"1 \u5206\u9418","mm":"%d \u5206\u9418","h":"1 \u5c0f\u6642","hh":"%d \u5c0f\u6642","d":"1 \u5929","dd":"%d \u5929","M":"1 \u500b\u6708","MM":"%d \u500b\u6708","y":"1 \u5e74","yy":"%d \u5e74"},"startOfWeek":1},"formats":{"time":"H:i:s","date":"Y/m/d","datetime":"Y \u5e74 n \u6708 j \u65e5a g:i","datetimeAbbreviated":"Y \u5e74 n \u6708 j \u65e5a g:i"},"timezone":{"offset":8,"offsetFormatted":"8","string":"Asia/Taipei","abbr":"CST"}} ); //# sourceURL=wp-date-js-after </script> <script id="underscore-js" src="https://www.mxp.tw/wp-includes/js/underscore.min.js"></script> <script id="wp-util-js-extra"> var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; //# sourceURL=wp-util-js-extra </script> <script id="wp-util-js" src="https://www.mxp.tw/wp-includes/js/wp-util.min.js"></script> <script id="cm-typesense-instant-search-js-extra"> var cm_typesense_instant_search_default_settings = {"debug":"","search_api_key":"EdWQumsaGeVn0VfZWFKLaPS994voOBUV","port":"443","node":"search.wp-meetups.com","protocol":"https://","enabled_post_types":["post"],"available_post_types":{"post":{"label":"Posts","value":"post"},"page":{"label":"Pages","value":"page"},"category":{"label":"Category","value":"category","type":"taxonomy"}},"search_config":{"post_type":{"post":{"label":"\u6587\u7ae0","max_suggestions":"3"}},"taxonomy":{"category":"Categories"}},"date_format":"Y/m/d","localized_strings":{"load_more":"Load More","show_less":"Show less","show_more":"Show more"},"elementor_edit_mode":"false"}; //# sourceURL=cm-typesense-instant-search-js-extra </script> <script id="cm-typesense-instant-search-js" defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/instant-search.js"></script> <script id="cm-typesense-popup-js-extra"> var cm_typesense_popup_default_settings = {"hijack_wp_search__type":"instant_search"}; //# sourceURL=cm-typesense-popup-js-extra </script> <script id="cm-typesense-popup-js" defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/popup.js"></script> <script>var rocket_beacon_data = {"ajax_url":"https:\/\/www.mxp.tw\/wp-admin\/admin-ajax.php","nonce":"fb3579c792","url":"https:\/\/www.mxp.tw\/plugins\/logindash","is_mobile":false,"width_threshold":1600,"height_threshold":700,"delay":500,"debug":null,"status":{"atf":false,"lrc":false,"preconnect_external_domain":true},"elements":"img, video, picture, p, main, div, li, svg, section, header, span","lrc_threshold":1800,"preconnect_external_domain_elements":["link","script","iframe"],"preconnect_external_domain_exclusions":[]}</script><script data-name="wpr-wpr-beacon" src='https://www.mxp.tw/wp-content/plugins/wp-rocket/assets/js/wpr-beacon.min.js' async></script></body> </html>