URL縮短是一種使URL長(zhǎng)度短的技術(shù),並且仍然鏈接到所需頁面。這是通過在域名短的域名上使用重定向來實(shí)現(xiàn)的,該域名鏈接到具有較長(zhǎng)URL的網(wǎng)頁。
在本教程中,我將向您展示如何使用Google的URL Shortener API為WordPress創(chuàng)建URL縮短插件。鑰匙要點(diǎn)
- >該教程提供了有關(guān)如何使用Google的URL縮短器API為WordPress創(chuàng)建URL縮短插件的分步指南。該插件對(duì)具有字符限制,印刷材料和QR碼的平臺(tái)可能是有益的。
- 要使用Google URL Shortener API,需要一個(gè)API鍵。 Google使用此鍵來跟蹤您的應(yīng)用程序,可以通過Google Developers Console獲取。 >教程還解釋瞭如何為插件創(chuàng)建設(shè)置頁面,管理員可以在其中輸入U(xiǎn)RL Shortener API密鑰。 API密鑰作為WordPress選項(xiàng)存儲(chǔ)在具有名稱URL-shortener-Input-field的WordPress選項(xiàng)中。
- >創(chuàng)建的插件將在“元編輯”屏幕中的元盒中顯示縮短的URL,下面的每個(gè)帖子下方都顯示了縮短的URL。它可以與Google URL Shortener Web服務(wù)無縫運(yùn)行,並且並非每次都請(qǐng)求新的URL,而是將其存儲(chǔ)在檢索後。
- >
- URL縮短的原因 在開始構(gòu)建URL縮短插件之前
>
>印刷書籍或顯示標(biāo)牌通常會(huì)使用縮短的URL,因?yàn)樗鼈円嘴蹲x取和鍵入。> QR碼具有字符限制。很長(zhǎng)的URL不適合,因此需要縮短URL。
- >獲取Google URL Shortener API鍵
- 要使用Google URL Shortener API,您需要獲取API密鑰。 Google使用此API鍵來跟蹤您的應(yīng)用程序。
- 這是獲取API密鑰的步驟:
訪問Google Developers Console。
選擇現(xiàn)有項(xiàng)目或創(chuàng)建一個(gè)新項(xiàng)目。
在左側(cè)欄中,單擊並展開APIS&AUTH。接下來,單擊API。在API列表中,請(qǐng)確保Google URL Shortener API的狀態(tài)已打開。
> 在左側(cè)的側(cè)邊欄中,選擇憑據(jù)。如果還沒有,則生成公共訪問密鑰。此公共訪問密鑰是API密鑰。- 插件目錄和文件
- 我們的插件將包含一個(gè)目錄和一個(gè)文件。這是結(jié)構(gòu):
- 為了使插件可安裝,我們將此代碼放在url-shortener.php文件中: >
--url-shortener -url-shortener.php
創(chuàng)建插件設(shè)置頁
我們需要為插件創(chuàng)建一個(gè)設(shè)置頁面,管理員可以在其中輸入U(xiǎn)RL Shortener API密鑰。這是使用WordPress設(shè)置API創(chuàng)建設(shè)置頁面的代碼
<span><span><?php </span></span><span> </span><span><span>/* </span></span><span><span>Plugin Name: URL Shortener </span></span><span><span>Plugin URI: http://www.sitepoint.com </span></span><span><span>Description: Create's a Shortened URL of every post. </span></span><span><span>Version: 1.0 </span></span><span><span>Author: Narayan Prusty </span></span><span><span>*/</span></span>>我們將API密鑰存儲(chǔ)為WordPress選項(xiàng),名稱為url-shortener-input-field。
這是設(shè)置頁面的外觀:

的概述
>要縮短一個(gè)長(zhǎng)URL,您需要將郵政請(qǐng)求發(fā)送到https://www.googleapis.com/urlshortener/v1/url url帶有API鍵和長(zhǎng)URL。這是示例請(qǐng)求的樣子:
這是示例響應(yīng)看起來像:
<span><span><?php </span></span><span> </span><span><span>function url_shortener_settings_page() </span></span><span><span>{ </span></span><span> <span>add_settings_section("section", "Enter Key Details", null, "url-shortener"); </span></span><span> <span>add_settings_field("url-shortener-input-field", "API Key", "url_shortener_input_field_display", "url-shortener", "section"); </span></span><span> <span>register_setting("section", "url-shortener-input-field"); </span></span><span><span>} </span></span><span> </span><span><span>function url_shortener_input_field_display() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><input</span> type<span>="text"</span> name<span>="url-shortener-input-field"</span> value<span>="<span><?php echo get_option('url-shortener-input-field'); ?></span>"</span> /></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>add_action("admin_init", "url_shortener_settings_page"); </span></span><span> </span><span><span>function url_shortener_page() </span></span><span><span>{ </span></span><span> <span>?></span> </span> <span><span><span><div</span> class<span>="wrap"</span>></span> </span> <span><span><span><h1</span>></span>URL Shortener Setting<span><span></h1</span>></span> </span> <span><span><span><form</span> method<span>="post"</span> action<span>="options.php"</span>></span> </span> <span><span><?php </span></span><span> <span>settings_fields("section"); </span></span><span> <span>do_settings_sections("url-shortener"); </span></span><span> <span>submit_button(); </span></span><span> <span>?></span> </span> <span><span><span></form</span>></span> </span> <span><span><span></div</span>></span> </span> <span><span><?php </span></span><span><span>} </span></span><span> </span><span><span>function menu_item() </span></span><span><span>{ </span></span><span> <span>add_submenu_page("options-general.php", "URL Shortener", "URL Shortener", "manage_options", "url-shortener", "url_shortener_page"); </span></span><span><span>} </span></span><span> </span><span><span>add_action("admin_menu", "menu_item");</span></span>
注意:您每天都不能使用相同的API鍵發(fā)送超過100萬個(gè)請(qǐng)求。
<span>POST https://www.googleapis.com/urlshortener/v1/url </span><span>Content-Type: application/json </span> <span>{"longUrl": "https://www.sitepoint.com/"}</span>>
>在元盒中顯示縮短的URL
>我們想在“郵政編輯”屏幕中的元框中顯示縮短的URL。為了創(chuàng)建一個(gè)元框,我們將使用元盒API,對(duì)於URL縮短,我們將使用WordPress HTTP API。
這是在元框中顯示我們的縮短URL的代碼:以下是此代碼的工作方式:
>
<span>{ </span> <span>"kind": "urlshortener#url", </span> <span>"id": "http://goo.gl/fqsT", </span> <span>"longUrl": "https://www.sitepoint.com/" </span><span>}</span>我們使用add_meta_box函數(shù)創(chuàng)建了一個(gè)元框。
我們正在使用get_permalink()函數(shù)檢索帖子的長(zhǎng)URL。 然後,我們正在檢查數(shù)據(jù)庫中是否已經(jīng)在數(shù)據(jù)庫中作為WordPress選項(xiàng)中的該長(zhǎng)URL的短URL。如果不是,那麼我們將使用HTTP API檢索它,並將其存儲(chǔ)為WordPress選項(xiàng)。否則,我們使用現(xiàn)有的簡(jiǎn)短URL。
- 這個(gè)插件在Google URL Shortener Web服務(wù)中播放很好
- 這是元編輯屏幕中的meta框的樣子:
- 在前端顯示短URL
- >我們還希望在每個(gè)帖子下方顯示縮短的URL。這是執(zhí)行此操作的代碼:
這是此代碼的工作方式:

然後,我們?cè)谠兄酗@示短URL時(shí)所做的一切都與我們一樣。唯一的區(qū)別是,我們將其連接到帖子內(nèi)容。
這是它在前端的外觀:
<span>function url_shortener_meta_box_markup($object) </span><span>{ </span> <span>$key = get_permalink($object->ID); </span> <span>if(get_option('url-shortener-input-field', '') != "") </span> <span>{ </span> <span>if(get_option($key, "") != "") </span> <span>{ </span> <span>echo get_option($key, ""); </span> <span>return; </span> <span>} </span> <span>$url = 'https://www.googleapis.com/urlshortener/v1/url'; </span> <span>$result = wp_remote_post( </span> <span>add_query_arg( </span> <span>'key', </span> <span>get_option('url-shortener-input-field'), </span> <span>'https://www.googleapis.com/urlshortener/v1/url' </span> <span>), </span> <span>array( </span> <span>'body' => json_encode(array('longUrl' => esc_url_raw($key))), </span> <span>'headers' => array( 'Content-Type' => 'application/json') </span> <span>) </span> <span>); </span> <span>if(is_wp_error($result)){echo "Error"; return;} </span> <span>$result = json_decode($result['body']); </span> <span>$shortlink = $result->id; </span> <span>update_option($key, $shortlink); </span> <span>echo $shortlink; </span> <span>} </span><span>} </span> <span>function url_shortener_meta_box() </span><span>{ </span> <span>add_meta_box("url-shortener-meta-box", "Shorten URL", "url_shortener_meta_box_markup", "post", "side", "default", null); </span><span>} </span> <span>add_action("add_meta_boxes", "url_shortener_meta_box");</span>
現(xiàn)在,我們已經(jīng)完成了為WordPress構(gòu)建一個(gè)很棒的URL Shortener插件!
>WordPress.org插件目錄中的流行URL Shortener插件如果您想查看現(xiàn)有插件,則WordPress.org插件中最受歡迎的兩個(gè)shortener插件是URL Shortener和WP URL Shorten。
wp URL縮短使用ref.li縮短URL。 Ref.Li提供了實(shí)時(shí)統(tǒng)計(jì)數(shù)據(jù)和其他通過縮短URL訪問您網(wǎng)站的流量信息。
URL Shortener插件可讓您在bit.ly,su.pr,yourls,goo.gl和許多其他服務(wù)之間進(jìn)行選擇。該插件還可以生成QR碼。
結(jié)論
在本教程中,我向您展示瞭如何輕鬆構(gòu)建自己的URL縮短插件?,F(xiàn)在,您可以繼續(xù)擴(kuò)展此功能,以添加更多功能,例如QR碼支持並使用其他URL縮短服務(wù)。請(qǐng)?jiān)谙旅媾c自己的插件分享您的經(jīng)驗(yàn)。>
經(jīng)常詢問的問題(常見問題解答)有關(guān)WordPress創(chuàng)建URL Shortener插件>什麼是URL Shortener插件,為什麼我需要它的WordPress網(wǎng)站?
一個(gè)URL Shortener插件是一種工具,可以幫助您為WordPress帖子和頁面創(chuàng)建更短,更易於管理的URL。這些縮短的URL更容易在社交媒體,電子郵件和其他平臺(tái)上共享。它們還使您的鏈接看起來更乾淨(jìng),更專業(yè)。如果您的WordPress網(wǎng)站具有長(zhǎng)而復(fù)雜的URL,則URL Shortener插件可以大大改善您的用戶體驗(yàn)和SEO。通過創(chuàng)建原始URL的獨(dú)特,較短的版本。當(dāng)用戶單擊縮短的URL時(shí),它們會(huì)重定向到原始的長(zhǎng)URL。這個(gè)過程是無縫的,不會(huì)影響用戶的瀏覽體驗(yàn)。該插件還跟蹤已縮短URL的點(diǎn)擊次數(shù),為您的營(yíng)銷工作提供有價(jià)值的數(shù)據(jù)。
我可以自定義縮短的URL嗎?
是的,大多數(shù)URL Shorterer插件允許您自定義。您縮短的URL。您可以添加自己的關(guān)鍵字,以使URL更有意義和相關(guān)。這不僅使您的URL更容易記住,而且還可以改善您的SEO。 >是否可以在WordPress中恢復(fù)“ shortlink'按鈕?獲取WordPress中的短鏈接按鈕。此按鈕已在WordPress 4.4中刪除,但是您可以使用插件或?qū)⒋a段添加到主題的functions. php文件中。是否有WordPress的免費(fèi)URL縮短插件? ??>是的,有幾個(gè)免費(fèi)的URL縮短插件可用於WordPress。一些受歡迎的包括URL Shortify,漂亮的鏈接和刻薄的鏈接。這些插件提供基本的URL縮短功能,如果您不熟悉URL縮短,則是一個(gè)很好的起點(diǎn)。>我如何跟蹤縮短URL的性能?
大多數(shù)URL Shortener插件都提供分析功能,使您可以跟蹤縮短的URL的性能。您可以看到單擊URL的次數(shù),用戶的地理位置,推薦來源等等。這些數(shù)據(jù)可以幫助您更好地了解您的受眾並優(yōu)化營(yíng)銷策略。
>如果我不是精通技術(shù)的話,我可以使用URL Shortener插件嗎?大多數(shù)URL Shortener插件設(shè)計(jì)為用戶友好,不需要任何技術(shù)知識(shí)。它們具有易於使用的接口和詳細(xì)說明。如果您可以瀏覽WordPress儀表板,則可以使用URL Shortener插件。 > URL ShortEner插件可以改善我的SEO? 是的,是的,URL Shortener插件可以改善您的SEO。縮短的URL對(duì)於搜索引擎而言更容易爬網(wǎng)和索引。他們還通過使您的鏈接更易於管理和共享來改善用戶體驗(yàn),這可以提高您網(wǎng)站在搜索引擎結(jié)果中的排名。
>我可以使用URL Shortener插件作為我的會(huì)員鏈接嗎? ,您可以將URL Shortener插件用於會(huì)員鏈接。實(shí)際上,強(qiáng)烈建議使用。縮短的URL看起來更乾淨(jìng),更專業(yè),這可以提高點(diǎn)擊率和轉(zhuǎn)換。一些插件還允許您在會(huì)員鏈接中添加一個(gè)nofollow屬性,這對(duì)SEO都很有用。
>>是否存在與使用URL Shortener插件有關(guān)的風(fēng)險(xiǎn)?許多好處,也有一些風(fēng)險(xiǎn)。例如,如果插件的服務(wù)器下降,則縮短URL可能會(huì)停止工作。另外,某些用戶可能會(huì)謹(jǐn)慎單擊縮短的URL,因?yàn)樗麄兛床坏侥康牡豒RL。因此,重要的是要選擇一個(gè)可靠的插件並明智地使用縮短的URL。
>以上是為WordPress創(chuàng)建一個(gè)URL Shortener插件的詳細(xì)內(nèi)容。更多資訊請(qǐng)關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費(fèi)脫衣圖片

Undresser.AI Undress
人工智慧驅(qū)動(dòng)的應(yīng)用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費(fèi)的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費(fèi)的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強(qiáng)大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級(jí)程式碼編輯軟體(SublimeText3)

WordPress導(dǎo)致服務(wù)器CPU使用率飆升的主要原因包括插件問題、數(shù)據(jù)庫查詢效率低、主題代碼質(zhì)量差或流量激增。 1.首先通過top、htop或控制面板工具確認(rèn)是否為WordPress引起的高負(fù)載;2.進(jìn)入故障排查模式逐步啟用插件排查性能瓶頸,使用QueryMonitor分析插件執(zhí)行情況並刪除或替換低效插件;3.安裝緩存插件、清理冗餘數(shù)據(jù)、分析慢查詢?nèi)照I以優(yōu)化數(shù)據(jù)庫;4.檢查主題是否存在過度加載內(nèi)容、複雜查詢或缺乏緩存機(jī)制等問題,建議用標(biāo)準(zhǔn)主題測(cè)試對(duì)比並優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位並解

MinifyingJavaScript文件可通過刪除空白、註釋和無用代碼來提升WordPress網(wǎng)站加載速度。 1.使用支持合併壓縮的緩存插件如W3TotalCache,在“Minify”選項(xiàng)中啟用並選擇壓縮模式;2.使用專用壓縮插件如FastVelocityMinify,提供更精細(xì)控制;3.手動(dòng)壓縮JS文件並通過FTP上傳,適用於熟悉開發(fā)工具的用戶。注意部分主題或插件腳本可能與壓縮功能衝突,啟用後需徹底測(cè)試網(wǎng)站功能。

優(yōu)化WordPress站點(diǎn)不依賴插件的方法包括:1.使用輕量級(jí)主題,如Astra或GeneratePress,避免功能堆砌的主題;2.手動(dòng)壓縮和合併CSS、JS文件,減少HTTP請(qǐng)求;3.上傳前優(yōu)化圖片,使用WebP格式並控製文件大?。?.配置.htaccess啟用瀏覽器緩存,並接入CDN提升靜態(tài)資源加載速度;5.限製文章修訂版本並定期清理數(shù)據(jù)庫冗餘數(shù)據(jù)。

防止評(píng)論垃圾信息最有效的方式是通過程序化手段自動(dòng)識(shí)別並攔截。 1.使用驗(yàn)證碼機(jī)制(如GooglereCAPTCHA或hCaptcha)可有效區(qū)分人類與機(jī)器人,尤其適合公眾網(wǎng)站;2.設(shè)置隱藏字段(Honeypot技術(shù)),利用機(jī)器人自動(dòng)填寫特性識(shí)別垃圾評(píng)論,不影響用戶體驗(yàn);3.檢查評(píng)論內(nèi)容關(guān)鍵詞黑名單,通過敏感詞匹配過濾垃圾信息,需注意避免誤判;4.判斷評(píng)論頻率與來源IP,限制單位時(shí)間內(nèi)的提交次數(shù)並建立黑名單;5.使用第三方反垃圾服務(wù)(如Akismet、Cloudflare)提升識(shí)別準(zhǔn)確性??筛鶕?jù)網(wǎng)站

TransientsAPI是WordPress中用於臨時(shí)存儲(chǔ)可自動(dòng)過期數(shù)據(jù)的內(nèi)置工具,其核心函數(shù)為set_transient、get_transient和delete_transient。相比OptionsAPI,transients支持設(shè)置生存時(shí)間(TTL),適合緩存API請(qǐng)求結(jié)果、複雜計(jì)算數(shù)據(jù)等場(chǎng)景。使用時(shí)需注意key命名唯一性與命名空間、緩存“懶刪除”機(jī)制及對(duì)象緩存環(huán)境下可能不持久的問題。典型應(yīng)用場(chǎng)景包括減少外部請(qǐng)求頻率、控制代碼執(zhí)行節(jié)奏和提升頁面加載性能。

在開發(fā)Gutenberg塊時(shí),正確enqueue資產(chǎn)的方法包括:1.使用register_block_type指定editor_script、editor_style和style的路徑;2.在functions.php或插件中通過wp_register_script和wp_register_style註冊(cè)資源,並設(shè)置正確的依賴和版本;3.配置構(gòu)建工具輸出合適的模塊格式,並確保路徑一致;4.通過add_theme_support或enqueue_block_assets控制前端樣式的加載邏輯,確保

要添加自定義用戶字段需根據(jù)平臺(tái)選擇擴(kuò)展方式並註意數(shù)據(jù)驗(yàn)證與權(quán)限控制。常見做法包括:1.利用數(shù)據(jù)庫額外表或鍵值對(duì)結(jié)構(gòu)存儲(chǔ)信息;2.在前端加入輸入框並與後端集成;3.對(duì)敏感數(shù)據(jù)進(jìn)行格式校驗(yàn)和訪問權(quán)限限制;4.更新接口及模板以支持新字段展示與編輯,同時(shí)兼顧移動(dòng)端適配和用戶體驗(yàn)。

在WordPress中添加自定義重寫規(guī)則的關(guān)鍵在於使用add_rewrite_rule函數(shù)並確保規(guī)則正確生效。 1.使用add_rewrite_rule註冊(cè)規(guī)則,格式為add_rewrite_rule($regex,$redirect,$after),其中$regex是正則表達(dá)式匹配URL,$redirect指定實(shí)際查詢,$after控制規(guī)則位置;2.需通過add_filter添加自定義查詢變量;3.修改後必須刷新固定鏈接設(shè)置;4.建議將規(guī)則放在'top'以避免衝突;5.可藉助插件查看當(dāng)前規(guī)則便於
