搜尋
首頁CMS教程&#&按構建WordPress旋轉木製插件:第3部分

構建WordPress旋轉木製插件:第3部分

鑰匙要點

  • >使輪播箭頭起作用,使用wp_enqueue_script()函數創建JavaScript文件並鏈接到WordPress,該函數放置在display_carousel()函數條件中,以確保僅在顯示旋轉器時包含它。 >
  • >旋轉木馬的UL塊水平移動以通過調整其左側CSS屬性來顯示不同的項目;負左側邊緣將下一個項目的左側與旋轉木塊的左側對齊。
  • >創建一個函數,carousel_show_another_link(),以根據方向參數顯示另一個項目(上一個項目的-1,下一個項目為1);它計算出新項目的索引以顯示並在移動UL塊之前檢查它是否存在。
  • >在相應的箭頭事件上創建並附加了兩個函數,Carousel_previous_link()和carousel_next_link(),並使用適當的參數調用carousel_show_another_link()函數;在文檔準備就緒時,通過將UL塊的邊距左側屬性初始化為0來阻止錯誤。
  • >
>沒有樣式,我們在本教程的第一部分中構建的WordPress旋轉木馬只是項目列表,但從某種意義上來說,它至少是有用的。我們在本教程的第二部分中添加的CSS增強了輪播的顯示,但是現在問題是只有第一項向用戶顯示,並且無法顯示其餘項目。

>我們將箭頭添加到我們的旋轉木馬中,以允許用戶在不同的項目之間導航,現在是時候讓它們有用的JavaScript。

>在本教程的延續中,我們將學習如何正確包含我們的腳本,然後我們編寫一個腳本,該腳本將啟動一個函數,該函數在用戶擊中箭頭時會為項目動畫。

>鏈接JavaScript文件

>在這裡,我們將使用JavaScript使我們的箭頭有用。至於CSS部分,創建一個新文件。我稱其為carousel.js,並將其放在插件文件夾的根部。

>

我們需要向WordPress表示我們正在使用JavaScript文件。為此,我們將使用wp_enqueue_script()函數。

>

前兩個參數與WP_ENQUEUE_STYLE()相同。然後我們找到一個數組。此數組列出了依賴項,我們的腳本需要工作的腳本。我選擇使用jQuery來解決瀏覽器兼容性問題,因此我向WordPress表示我想使用它:正如我們在文章中看到的有關WordPress中的腳本('jquery'的腳本)中所見,“ jQuery”是WordPress的公認價值。

第四參數是腳本的版本編號。這裡不是很重要(有關更多信息,請參見之前鏈接的文章),但是我們需要使用最後一個參數並將其設置為true,以便我們的腳本將包含在頁腳中。
<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>
>

選擇頁腳而不是標題的優點是,我們可以在任何地方使用WP_ENQUEUE_SCRIPT()。與WP_ENQUEUE_STYLE()一樣,我們沒有在WP_head()之前使用它的約束。然後,我們只有在必要時才能夠包含我們的腳本:僅當我們顯示旋轉木馬時。

>放置wp_enqueue_script()的最佳場所,因此在我們的display_carousel()函數的條件下。我們只有在有項目顯示時才顯示旋轉木馬,因此我們將包含具有相同條件的腳本。

>

<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>
現在我們準備好編輯我們的JavaScript文件。

>

我們想做什麼?

>

首先,我們將所有代碼封裝在函數中。為了防止與其他庫發生衝突,WordPress禁用在jQuery中使用$。我們可以通過此功能再次啟用它。

<span>function display_carousel() {
</span>	<span>// …
</span>	<span>// Here we retrieve the links
</span>	<span>// …
</span>	
	<span>if (!empty($links)) {
</span>		<span>wp_enqueue_script(/* parameters listed above */);
</span>		
		<span>// …
</span>		<span>// Display
</span>		<span>// …
</span>	<span>}
</span><span>}</span>
即使沒有修改我們的HTML代碼,也有許多不同的方法來製作輪播。在這裡,我建議您移動UL塊。它連續包含我們的所有項目,因此我們可以通過設置其位置來水平移動以顯示一個或另一個項目。請參閱下面已經在本教程的上一部分中看到的架構,以查看我們想做什麼。

>

構建WordPress旋轉木製插件:第3部分要移動它,我們將使用其左側CSS屬性進行播放。默認情況下,它設置為0,因此“顯示”第一個項目。第一個項目足夠大,可以填充旋轉頻率塊和第二個項目,而第二個項目旁邊的第二項則無法看到溢出屬性。

> 為了顯示第二個項目,我們必須將UL塊移到左側,以便將第二個項目的左側與旋轉木馬塊的左側對齊。這可以通過負左側邊緣來實現。為了測試我們需要使用的值,我們可以嘗試一些CSS代碼(我們不需要它,我們就立即刪除了它)。

>

這條簡單的線應該得到解釋。如果測試它,則應該看到未顯示第一項,而是看到第二個項目。您可以測試另一個值,以更好地了解發生了什麼。使用-50px,我們將UL塊50像素移向左側。我在上面的CSS中向您展示的值,因為輪播的寬度為900像素,我可以顯示第二個項目,值為-900px。
<span>jQuery(function($) {
</span>	<span>// The code we will write must be placed here
</span><span>});</span>
但是,我們可以使用百分比。優點是該百分比相對於容器。在這裡,“ 100%”等於“ 900像素”,因此,如果我們給出-100%的值,我們隱藏了第一個項目並顯示第二個項目。使用百分比使您可以修改容器的寬度,而無需修改邊距 - 左屬性的值。

>

顯示另一個項目的功能

首先,我們將編寫將顯示另一個項目的功能。這個將接受一個參數,方向。如果我們要顯示上一項,則必須將此方向設置為-1,並且,如果要顯示下一個項目,則必須將其設置為1。 >。

<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>
我們要去哪裡?

>

要確定要分配給邊緣左側的值,我們需要知道我們的位置。有多種可能的方法可以實現這一目標,我選擇了一種僅使用邊距左屬性的當前值的方法。

>

<span>function display_carousel() {
</span>	<span>// …
</span>	<span>// Here we retrieve the links
</span>	<span>// …
</span>	
	<span>if (!empty($links)) {
</span>		<span>wp_enqueue_script(/* parameters listed above */);
</span>		
		<span>// …
</span>		<span>// Display
</span>		<span>// …
</span>	<span>}
</span><span>}</span>
第一行檢索UL塊。正如我們稍後將重複使用的那樣,將其存儲在變量中是一個好主意。第二行似乎有些怪異。目的是存儲代表當前顯示的項目的整數。第一個項目將以0為代表,第二項by 1等。

> 為了實現這一目標,我們獲得了邊距左側屬性的當前值。問題在於,此值大約是-200%,我們希望一個數字:要刪除“%”,我們使用ParseInt()函數將值轉換為整數(例如'-200%'變為-200)。由於我們想要一個積極的整數,我們添加了一個“減”標誌(例如,從-200獲得200個),然後除以100,以獲取所需的價值(例如2,而不是200)。

>您可能會想知道為什麼我們不使用UL.CSS('Margin-Left')獲取邊距左側屬性的價值。實際上,.css()是一種jQuery方法,在我們的背景下,似乎是一個更好的主意。問題是這種方法不會給我們一個百分比。使用與上述相同的值,如果當前項目是第三個項目,則保證金左派屬性設置為-200%,而.css()方法將返回-1800px。要使用像素中的此值來計算當前項目,然後我們需要使用大容器的寬度,我更喜歡僅使用UL塊。

>現在我們可以計算出要顯示的項目的索引,這要歸功於我們功能的參數中給出的方向。

新項目是否存在?

在顯示新項目之前,我們需要測試它是否存在。如果new_link小於或等於-1,或者大於或等於項目總數,則它不存在,我們無法顯示,因此移動UL塊不是一個好主意。請注意,此測試似乎是多餘的,因為當我們無法進一步走時不會顯示箭頭,但是確保實際上可以完成某件事總是一個好主意。
<span>jQuery(function($) {
</span>	<span>// The code we will write must be placed here
</span><span>});</span>
>

首先,我們獲得項目總數,這是我們列表中LI標籤的數量。這個數字對於我們上面描述的條件很有用,因為我們想要一個不得大於或等於項目數量的正整數(不要忘記我們以0而不是1開始)。

顯示新項目

最後,可以通過一條線實現塊移動。我們必須計算邊緣左側的新值。為此,讓我們考慮一下。對於每個“通過”項目,我們的寬度為100%旅行。這樣,保證金的新價值是我們剛剛計算的新項目位置的100倍,而左符號則是左側的符號。

>

<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>
>我選擇在這裡使用jQuery動畫,但是您可以自由創建自己的動畫,甚至修改了此設置。

>

一些更實際用途的別名

>現在,我們將每次單擊箭頭上單擊箭頭時都會創建功能。這些功能不需要大量的代碼,因為他們唯一要做的就是將Carousel_show_another_link()函數使用正確的參數調用。以下是當我們單擊“上一個”箭頭時稱為函數的代碼。

>

<span>function display_carousel() {
</span>	<span>// …
</span>	<span>// Here we retrieve the links
</span>	<span>// …
</span>	
	<span>if (!empty($links)) {
</span>		<span>wp_enqueue_script(/* parameters listed above */);
</span>		
		<span>// …
</span>		<span>// Display
</span>		<span>// …
</span>	<span>}
</span><span>}</span>
請注意返回false;為了防止我們的箭頭的默認行為(別忘了它們是鏈接)。這樣,用戶單擊箭頭時,URL不會更改。

>

顯示“下一個”項目的函數完全相同,但1作為carousel_show_another_link()的參數為1。我選擇稱其為carousel_next_link()。

附加事件

>最後,我們必須通過將正確的事件附加到正確的元素來使這些功能有用。我們將在一個新功能中執行此操作,當我們確定創建元素時調用:加載文檔時。

我們要將carousel_previous_link()函數附加到每個“以前”箭頭。使用旋轉木馬的DOM樹,我們可以輕鬆地檢索它們,就像我們想在CSS中造型時檢索它們一樣。
<span>jQuery(function($) {
</span>	<span>// The code we will write must be placed here
</span><span>});</span>

然後,我們可以以相同的方式將carousel_next_link()函數連接到右箭頭(#carousel ul a.carousel-next)。

>
<span><span>#carousel ul</span> {
</span>	<span>margin-left: -100%;
</span><span>}</span>
>您可以測試此代碼,但應該出現一個錯誤:carousel_show_another_link()函數首次調用我們的UL塊的CSS屬性邊距 - 左側不存在,因此當我們嘗試檢索時會發生錯誤它的值。

為了防止此錯誤,我們可以初始化此屬性的值。仍在文檔準備就緒時調用的函數(例如,在附加事件之前),添加以下行。

>將UL塊的邊距左屬性設置為0,為默認值。現在將存在此屬性,而無需移動塊。

>

>您現在可以單擊箭頭,旋轉旋轉木馬已完成!

總結
<span>function carousel_show_another_link(direction) {
</span><span>}</span>
在本教程中,我們使用WordPress Links Manager API瀏覽了Carousel插件。這是使用此API的一個很好的例子,但這也是查看如何將PHP,HTML,CSS和JavaScript組合到WordPress插件中的好方法。

>

在結束時,我會說,即使我們保留了生成的HTML代碼,也可以選擇許多不同的方法來構建轉型旋轉木馬:我們可以選擇不同的樣式或編寫腳本的不同方法。實際上,我們在這裡寫的腳本只是一個示例,我們可以編寫一個完全不同的結果。

>您可以自己決定是否喜歡我們在此處使用的代碼。如果沒有,請不要猶豫編輯!

>

即使您喜歡我們在這裡所做的事情,您仍然可以增強結果。例如,訪問者必須擊中箭頭才能查看其他項目:您可以嘗試使用function settimeout()。

如果您想查看完成的代碼,或者自己嘗試插件,則可以在此處下載。

以上是構建WordPress旋轉木製插件:第3部分的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
wordpress怎麼加評論框wordpress怎麼加評論框Apr 20, 2025 pm 12:15 PM

在 WordPress 網站上啟用評論功能,可以為訪客提供參與討論和分享反饋的平台。為此,請按照以下步驟操作:啟用評論:在儀錶盤中,導航至“設置”>“討論”,並選中“允許評論”複選框。創建評論表單:在編輯器中,單擊“添加塊”並蒐索“評論”塊,將其添加到內容中。自定義評論表單:通過設置標題、標籤、佔位符和按鈕文本來定制評論塊。保存更改:單擊“更新”以保存評論框並將其添加到頁面或文章中。

wordpress怎麼複製子站wordpress怎麼複製子站Apr 20, 2025 pm 12:12 PM

如何復制 WordPress 子站?步驟:在主站創建子站。在主站克隆子站。將克隆導入目標位置。更新域名(可選)。分開插件和主題。

wordpress怎麼寫頁頭wordpress怎麼寫頁頭Apr 20, 2025 pm 12:09 PM

在WordPress中創建自定義頁頭的步驟如下:編輯主題文件“header.php”。添加您的網站名稱和描述。創建導航菜單。添加搜索欄。保存更改並查看您的自定義頁頭。

wordpress評論怎麼顯示wordpress評論怎麼顯示Apr 20, 2025 pm 12:06 PM

WordPress 網站中啟用評論功能:1. 登錄管理面板,轉到 "設置"-"討論",勾選 "允許評論";2. 選擇顯示評論的位置;3. 自定義評論表單;4. 管理評論,批准、拒絕或刪除;5. 使用 <?php comments_template(); ?> 標籤顯示評論;6. 啟用嵌套評論;7. 調整評論外形;8. 使用插件和驗證碼防止垃圾評論;9. 鼓勵用戶使用 Gravatar 頭像;10. 創建評論指

wordpress怎麼上傳源碼wordpress怎麼上傳源碼Apr 20, 2025 pm 12:03 PM

可以通過 WordPress 安裝 FTP 插件,配置 FTP 連接,然後使用文件管理器上傳源碼。步驟包括:安裝 FTP 插件、配置連接、瀏覽上傳位置、上傳文件、檢查上傳成功。

wordpress代碼怎麼複製wordpress代碼怎麼複製Apr 20, 2025 pm 12:00 PM

如何復制 WordPress 代碼?從管理界面複製:登錄 WordPress 網站,導航到目標位置,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。從文件複製:使用 SSH 或 FTP 連接到服務器,導航到主題或插件文件,選擇代碼並按 Ctrl C (Windows)/Command C (Mac) 複製代碼。

wordpress出現錯誤怎麼辦wordpress出現錯誤怎麼辦Apr 20, 2025 am 11:57 AM

WordPress 錯誤解決指南:500 內部服務器錯誤:禁用插件或檢查服務器錯誤日誌。 404 未找到頁面:檢查 permalink 並確保頁面鏈接正確。白屏死機:增加服務器 PHP 內存限制。數據庫連接錯誤:檢查數據庫服務器狀態和 WordPress 配置。其他技巧:啟用調試模式、檢查錯誤日誌和尋求支持。預防錯誤:定期更新 WordPress、僅安裝必要插件、定期備份網站和優化網站性能。

wordpress怎麼關閉評論wordpress怎麼關閉評論Apr 20, 2025 am 11:54 AM

如何在 WordPress 中關閉評論?特定文章或頁面:在編輯器中取消選中“討論”下的“允許評論”。整個網站:在“設置”->“討論”中取消選中“允許發表評論”。使用插件:安裝 Disable Comments 等插件禁用評論。編輯主題文件:通過編輯 comments.php 文件移除評論表單。自定義代碼:使用 add_filter() 函數禁用評論。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)