[WordPress] 外掛分享: WP-GraphViz

前言介紹

  • 這款 WordPress 外掛「WP-GraphViz」是 2013-08-28 上架。
  • 目前有 50 個安裝啟用數。
  • 上一次更新是 2023-07-23,距離現在已有 949 天。超過一年沒更新,安裝要確認版本是否可用。以及後續維護問題!
  • 外掛最低要求 WordPress 5.0 以上版本才可以安裝。
  • 有 3 人給過評分。
  • 還沒有人在論壇上發問,可能目前使用數不多,還沒有什麼大問題。

外掛協作開發者

debaat |

外掛標籤

dot | graph | diagram | network | graphviz |

內容簡介

GraphViz 是一個強大的工具,用於可視化連接物件的網絡和樹結構。

這個 WordPress 外掛提供了一個短碼機制,讓您可以在博客中創建 GraphViz 圖形,使用短碼機制。

它的工作基於 Mike Daines 提供的 viz.js 代碼:

https://github.com/mdaines/viz.js

特別感謝 TFO Graphviz 的作者 chrisy,例如為此自述文件提供了靈感:

TFO Graphviz

如何使用 WP GraphViz

短碼語法為:

[wp_graphviz <options>]
<DOT 代碼>
[/wp_graphviz]

其中<options>是以下清單中的任意一個。所有選項都是完全可選的:

id="<id>"

提供用於將生成的圖像與圖像映射連接的標識符。如果您使用 simple 選項,則它還提供了生成的 DOT 圖形容器的名稱(因為 GraphViz 使用此來生成圖像映射)。如果未給出,則使用類似 wp_graphviz_N 的形式生成一個標識符,其中 N 是當加載插件時從一開始的整數,並隨著使用而增加。

output="<png|gif|jpg|svg>"

指示所需的圖像格式。默認為 png。

simple="yes|no"

simple 選項提供了非常基本的 DOT 包裝器以將代碼應用於以下目的:

[wp_graphviz simple="yes"] a -> b -> c; [/wp_graphviz]

生成的代碼將如下所示:

digraph wp_graphviz_1 {
a -> b -> c;
}

有關 digraph 名稱的說明,請參見 id 選項。 simple 默認為 no。

title="<title>"

指定圖像的標題。在圖像參考的 alt 和 title 屬性中使用。默認為空字符串。請注意,圖像映射可能指明一個 title 字符串,這將出現在工具提示中。

原文外掛簡介

GraphViz is a powerful tool for visualising network and tree structures that connect objects.
This WordPress plugin provides a shortcode mechanism to create GraphViz graphics within blogs, using the shortcode mechanism.
It’s working is based on the viz.js code as provided by Mike Daines:
https://github.com/mdaines/viz.js

Special thanks goes to chrisy as author of TFO Graphviz, e.g. for providing the inspiration for this readme:

TFO Graphviz

How to use WP GraphViz
The shortcode syntax is:
[wp_graphviz]

[/wp_graphviz]

Where is anything from this list. All are entirely optional:

id=""
Provides the identifier used to link the generated image to an image map. If you use the simple option then it also provides the name of the generated DOT graph container (since GraphViz uses this to generate the image map). If not given then an identifier is generated with the form wp_graphviz_N where N is an integer that starts at one when the plugin is loaded and is incremented with use.

output=""
Indicates the desired image format. Defaults to png.

simple="yes|no"
The simple option provides a very basic DOT wrapper around your code such that the following is possible:
[wp_graphviz simple="yes"] a -> b -> c; [/wp_graphviz]

The generated code would look like:
digraph wp_graphviz_1 {
a -> b -> c;
}

See the id option for a description of where the name of the digraph comes from. simple defaults to no.

title=""<br /> Indicates the title of the image. This is used in the alt and title attributes of the image reference. This defaults to an empty string. Note that image maps may indicate a title string which will appear in tool-tips.</p> <div class="mxp-ad" style="text-align:center;margin:1.5em 0;"><ins class="adsbygoogle" style="display:block;text-align:center" data-ad-layout="in-article" data-ad-format="fluid" data-ad-slot="3790584390"></ins><script>(adsbygoogle = window.adsbygoogle || []).push({});</script></div> <p><h2><span id="i-6">各版本下載點</span></h2> </p> <p></p> <ul> <li>方法一:點下方版本號的連結下載 ZIP 檔案後,登入網站後台左側選單「外掛」的「安裝外掛」,然後選擇上方的「上傳外掛」,把下載回去的 ZIP 外掛打包檔案上傳上去安裝與啟用。</li> <li>方法二:透過「安裝外掛」的畫面右方搜尋功能,搜尋外掛名稱「<a href='https://www.mxp.tw/plugins/wp-graphviz/'>WP-GraphViz</a>」來進行安裝。</li> </ul> <p><strong>(建議使用方法二,確保安裝的版本符合當前運作的 WordPress 環境。</strong></p> <hr> <p><a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.0.1.0.zip">0.1.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.0.0.zip">1.0.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.1.0.zip">1.1.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.2.0.zip">1.2.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.3.0.zip">1.3.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.4.0.zip">1.4.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.5.0.zip">1.5.0</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.1.5.1.zip">1.5.1</a> | <a rel="nofollow" href="https://downloads.wordpress.org/plugin/wp-graphviz.zip">trunk</a> | </p> <p><h2><span id="i-7">延伸相關外掛(你可能也想知道)</span></h2> </p> <p></p> <ul> <li><img loading="lazy" decoding="async" src="https://ps.w.org/buddypress/assets/icon.svg?rev=977480" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/buddypress/'>BuddyPress</a> 》您正在尋找現代化,強大且複雜的社交網路軟體嗎?BuddyPress 是一套常見社交網路的組件,透過 WordPress 的豐富外掛系統,可以提供多種優秀的附加功能。, Bud...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/juiz-social-post-sharer/assets/icon-256x256.png?rev=3389742" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/juiz-social-post-sharer/'>Nobs • Share Buttons</a> 》在您的文章後/前(或任何地方)添加精美設計的按鈕,讓訪客分享您的內容(包括無 JavaScript 模式和計數器)。按鈕支持視網膜/HDPI,可翻譯和附帶有用的選項...。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/unconfirmed.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/unconfirmed/'>Unconfirmed</a> 》如果您正在運行 WordPress 或 BuddyPress,您可能知道激活過程是最令管理人員頭痛的部分之一。激活電子郵件可能會被垃圾郵件過濾器捕獲,不小心被刪除,也可...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/shariff-sharing/assets/icon-256x256.png?rev=1039024" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/shariff-sharing/'>Shariff for WordPress</a> 》這是基於 c’t Shariff 的 Shariff for WordPress 外掛程式。, 如需更多資訊,請查看原始GitHub 專案和c’t 訊息頁面。, , Shariff 讓網站使用者分享喜愛...。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/share-buttons.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/share-buttons/'>Social Share Buttons for WordPress</a> 》這是一個社交網路外掛程式,使您的網站可以與9個不同的社交網路互動。, 其中包括了VKontakte、Odnoklassniki.ru、Mail.ru、LiveJournal、Yandex等俄羅斯社交...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/martins-link-network/assets/icon-256x256.jpg?rev=2806608" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/martins-link-network/'>Martins Free And Easy SEO BackLink Link Building Network, Improve Rankings And Traffic</a> 》通過安裝這個SEO外掛程式,您的網站可以自動從超過100萬篇文章中獲得真正的反向鏈接,並匿名加入Martins百分百免費的反向鏈接建設網路,為優化您的SEO,提高...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/snitch/assets/icon-256x256.png?rev=2993186" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/snitch/'>Snitch</a> 》Snitch 是一款 WordPress 網路監控外掛,具有連線概覽功能,可控制和調節網站數據通信。, 信任,但要驗證, Snitch 監控和記錄 WordPress 網站的傳出數據流。...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/theme-duplicator/assets/icon-128x128.png?rev=1724796" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/theme-duplicator/'>Theme Duplicator</a> 》這個外掛會建立一個你選擇的佈景主題的複製版本。。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/network-privacy.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/network-privacy/'>Network Privacy</a> 》這個外掛可以在單個安裝中新增2個隱私選項,在網路安裝中可以新增3個選項。在網路安裝中,網路管理員(超級管理員)可以選擇設置整個網路的隱私設置。當為整...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/multisite-toolbar-additions/assets/icon-256x256.png?rev=1850877" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/multisite-toolbar-additions/'>Multisite Toolbar Additions</a> 》, 快速訪問超級管理員資源–節省時間!, 這個小巧且輕量級的外掛只會在多站點安裝時為您的工具條/管理欄添加一些可能遺失但非常有用的管理員連結,甚至是常規...。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/activate-update-services.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/activate-update-services/'>Activate Update Services</a> 》當您創建網路 (也就是啟用 WordPress MU/Multisite) 時,WordPress 會移除「更新服務」功能 (設定 - 撰寫)。, 啟用此外掛以恢復此功能。, 注意: 這僅適用於具...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/humix/assets/icon-256x256.jpg?rev=2969947" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/humix/'>Humix for WordPress</a> 》- 這個外掛可以讓使用者在自己的 WordPress 主題中嵌入 Humix.com 的影片。, - 外掛提供了一個 Humix widget,讓你可以在主題中自定義一個播放區塊,並調整浮...。</li> <li><img loading="lazy" decoding="async" src="https://ps.w.org/wp-multi-network/assets/icon-256x256.png?rev=1534001" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/wp-multi-network/'>WP Multi Network</a> 》將您的 WordPress Multisite 安裝轉換為許多多網站網絡,圍繞一個全球用戶集合。, , 揭露隱藏的 WordPress Multisite 功能。, 包括一個“網絡”頂級網路管理菜...。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/user-activation-keys.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/user-activation-keys/'>User Activation Keys</a> 》這是一個 WordPress Multisite 網絡的外掛,稱為 WP Network Multisite,主要提供以下功能:, , 刪除用戶激活鍵,以允許使用相同的用戶名重新註冊、更改電子...。</li> <li><img loading="lazy" decoding="async" src="https://s.w.org/plugins/geopattern-icon/network-username-restrictions-override.svg" style="background-size: contain!important; height: 96px!important;width: 96px!important;"/> <a href='https://www.mxp.tw/plugins/network-username-restrictions-override/'>Network Username Restrictions Override</a> 》預設情況下,WordPress 網路使用者名稱只能包含小寫字母和數字。此外,此外掛提供網路選項,讓您可以包含連字號、底線或大寫字母,若有需要的話。, 此外,此...。</li> </ul> <p><script>document.addEventListener("DOMContentLoaded", function(event) {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"></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/wp-graphviz/#breadcrumblist","itemListElement":[{"@type":"ListItem","position":1,"name":"首頁","item":"https://www.mxp.tw/"},{"@type":"ListItem","position":2,"name":"[WordPress] 外掛分享: WP-GraphViz"}]},{"@type":"WebPage","@id":"https://www.mxp.tw/plugins/wp-graphviz/#webpage","url":"https://www.mxp.tw/plugins/wp-graphviz/","inLanguage":"zh-TW","name":"[WordPress] 外掛分享: WP-GraphViz – 一介資男","datePublished":"2026-02-26T23:06:08+08:00","dateModified":"-001-11-30T08:06:00+08:06","isPartOf":{"@id":"https://www.mxp.tw/#website"},"breadcrumb":{"@id":"https://www.mxp.tw/plugins/wp-graphviz/#breadcrumblist"},"potentialAction":{"@id":"https://www.mxp.tw/plugins/wp-graphviz/#readaction"},"primaryImageOfPage":{"@id":"https://www.mxp.tw/plugins/wp-graphviz/#thumbnail"},"image":{"@id":"https://www.mxp.tw/plugins/wp-graphviz/#thumbnail"}},{"@type":"ReadAction","@id":"https://www.mxp.tw/plugins/wp-graphviz/#readaction","target":"https://www.mxp.tw/plugins/wp-graphviz/"},{"@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/wp-graphviz/#thumbnail","url":"https://ps.w.org/buddypress/assets/icon.svg?rev=977480"}]}</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 defer src="https://www.mxp.tw/wp-content/plugins/ad-refresh-control/dist/js/frontend.js" id="avc_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 defer src="https://www.mxp.tw/wp-content/plugins/code-prettify/prettify/run_prettify.js" id="code-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 defer src="https://www.mxp.tw/wp-content/plugins/table-of-contents-plus/front.min.js" id="toc-front-js"></script> <script src="https://www.mxp.tw/wp-content/themes/twentynineteen/js/touch-keyboard-navigation.js" id="twentynineteen-touch-navigation-js" defer data-wp-strategy="defer"></script> <script defer src="https://www.mxp.tw/wp-includes/js/clipboard.min.js" id="clipboard-js"></script> <script defer src="https://www.mxp.tw/wp-content/plugins/wp-rocket/assets/js/heartbeat.js" id="heartbeat-js"></script> <script src="https://www.mxp.tw/wp-includes/js/wp-embed.min.js" id="wp-embed-js" defer data-wp-strategy="defer"></script> <script defer src="https://www.mxp.tw/wp-includes/js/dist/vendor/regenerator-runtime.min.js" id="regenerator-runtime-js"></script> <script defer src="https://www.mxp.tw/wp-includes/js/dist/vendor/moment.min.js" id="moment-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 defer src="https://www.mxp.tw/wp-includes/js/dist/hooks.min.js" id="wp-hooks-js"></script> <script defer src="https://www.mxp.tw/wp-includes/js/dist/deprecated.min.js" id="wp-deprecated-js"></script> <script defer src="https://www.mxp.tw/wp-includes/js/dist/date.min.js" id="wp-date-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 defer src="https://www.mxp.tw/wp-includes/js/underscore.min.js" id="underscore-js"></script> <script id="wp-util-js-extra"> var _wpUtilSettings = {"ajax":{"url":"/wp-admin/admin-ajax.php"}}; //# sourceURL=wp-util-js-extra </script> <script defer src="https://www.mxp.tw/wp-includes/js/wp-util.min.js" id="wp-util-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 defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/instant-search.js" id="cm-typesense-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 defer src="https://www.mxp.tw/wp-content/plugins/search-with-typesense//build/frontend/popup.js" id="cm-typesense-popup-js"></script> <script>var rocket_beacon_data = {"ajax_url":"https:\/\/www.mxp.tw\/wp-admin\/admin-ajax.php","nonce":"d1961721ca","url":"https:\/\/www.mxp.tw\/plugins\/wp-graphviz","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":["static.cloudflareinsights.com","rel=\"profile\"","rel=\"preconnect\"","rel=\"dns-prefetch\"","rel=\"icon\""]}</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>