鑰匙要點(diǎn)
- >使輪播箭頭起作用,使用wp_enqueue_script()函數(shù)創(chuàng)建JavaScript文件並鏈接到WordPress,該函數(shù)放置在display_carousel()函數(shù)條件中,以確保僅在顯示旋轉(zhuǎn)器時(shí)包含它。 > >旋轉(zhuǎn)木馬的UL塊水平移動(dòng)以通過(guò)調(diào)整其左側(cè)CSS屬性來(lái)顯示不同的項(xiàng)目;負(fù)左側(cè)邊緣將下一個(gè)項(xiàng)目的左側(cè)與旋轉(zhuǎn)木塊的左側(cè)對(duì)齊。
- >創(chuàng)建一個(gè)函數(shù),carousel_show_another_link(),以根據(jù)方向參數(shù)顯示另一個(gè)項(xiàng)目(上一個(gè)項(xiàng)目的-1,下一個(gè)項(xiàng)目為1);它計(jì)算出新項(xiàng)目的索引以顯示並在移動(dòng)UL塊之前檢查它是否存在。
- 。 >在相應(yīng)的箭頭事件上創(chuàng)建並附加了兩個(gè)函數(shù),Carousel_previous_link()和carousel_next_link(),並使用適當(dāng)?shù)膮?shù)調(diào)用carousel_show_another_link()函數(shù);在文檔準(zhǔn)備就緒時(shí),通過(guò)將UL塊的邊距左側(cè)屬性初始化為0來(lái)阻止錯(cuò)誤。
- >
>我們將箭頭添加到我們的旋轉(zhuǎn)木馬中,以允許用戶在不同的項(xiàng)目之間導(dǎo)航,現(xiàn)在是時(shí)候讓它們有用的JavaScript。
>在本教程的延續(xù)中,我們將學(xué)習(xí)如何正確包含我們的腳本,然後我們編寫一個(gè)腳本,該腳本將啟動(dòng)一個(gè)函數(shù),該函數(shù)在用戶擊中箭頭時(shí)會(huì)為項(xiàng)目動(dòng)畫。>鏈接JavaScript文件
>在這裡,我們將使用JavaScript使我們的箭頭有用。至於CSS部分,創(chuàng)建一個(gè)新文件。我稱其為carousel.js,並將其放在插件文件夾的根部。
>我們需要向WordPress表示我們正在使用JavaScript文件。為此,我們將使用wp_enqueue_script()函數(shù)。
>前兩個(gè)參數(shù)與WP_ENQUEUE_STYLE()相同。然後我們找到一個(gè)數(shù)組。此數(shù)組列出了依賴項(xiàng),我們的腳本需要工作的腳本。我選擇使用jQuery來(lái)解決瀏覽器兼容性問(wèn)題,因此我向WordPress表示我想使用它:正如我們?cè)谖恼轮锌吹降挠嘘P(guān)WordPress中的腳本('jquery'的腳本)中所見,“ jQuery”是WordPress的公認(rèn)價(jià)值。
。
第四參數(shù)是腳本的版本編號(hào)。這裡不是很重要(有關(guān)更多信息,請(qǐng)參見之前鏈接的文章),但是我們需要使用最後一個(gè)參數(shù)並將其設(shè)置為true,以便我們的腳本將包含在頁(yè)腳中。<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>>
選擇頁(yè)腳而不是標(biāo)題的優(yōu)點(diǎn)是,我們可以在任何地方使用WP_ENQUEUE_SCRIPT()。與WP_ENQUEUE_STYLE()一樣,我們沒(méi)有在WP_head()之前使用它的約束。然後,我們只有在必要時(shí)才能夠包含我們的腳本:僅當(dāng)我們顯示旋轉(zhuǎn)木馬時(shí)。
>放置wp_enqueue_script()的最佳場(chǎng)所,因此在我們的display_carousel()函數(shù)的條件下。我們只有在有項(xiàng)目顯示時(shí)才顯示旋轉(zhuǎn)木馬,因此我們將包含具有相同條件的腳本。>
<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>現(xiàn)在我們準(zhǔn)備好編輯我們的JavaScript文件。
>
我們想做什麼?>
首先,我們將所有代碼封裝在函數(shù)中。為了防止與其他庫(kù)發(fā)生衝突,WordPress禁用在jQuery中使用$。我們可以通過(guò)此功能再次啟用它。
<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>即使沒(méi)有修改我們的HTML代碼,也有許多不同的方法來(lái)製作輪播。在這裡,我建議您移動(dòng)UL塊。它連續(xù)包含我們的所有項(xiàng)目,因此我們可以通過(guò)設(shè)置其位置來(lái)水平移動(dòng)以顯示一個(gè)或另一個(gè)項(xiàng)目。請(qǐng)參閱下面已經(jīng)在本教程的上一部分中看到的架構(gòu),以查看我們想做什麼。
>

> 為了顯示第二個(gè)項(xiàng)目,我們必須將UL塊移到左側(cè),以便將第二個(gè)項(xiàng)目的左側(cè)與旋轉(zhuǎn)木馬塊的左側(cè)對(duì)齊。這可以通過(guò)負(fù)左側(cè)邊緣來(lái)實(shí)現(xiàn)。為了測(cè)試我們需要使用的值,我們可以嘗試一些CSS代碼(我們不需要它,我們就立即刪除了它)。
>這條簡(jiǎn)單的線應(yīng)該得到解釋。如果測(cè)試它,則應(yīng)該看到未顯示第一項(xiàng),而是看到第二個(gè)項(xiàng)目。您可以測(cè)試另一個(gè)值,以更好地了解發(fā)生了什麼。使用-50px,我們將UL塊50像素移向左側(cè)。我在上面的CSS中向您展示的值,因?yàn)檩啿サ膶挾葹?00像素,我可以顯示第二個(gè)項(xiàng)目,值為-900px。
<span>jQuery(function($) { </span> <span>// The code we will write must be placed here </span><span>});</span>但是,我們可以使用百分比。優(yōu)點(diǎn)是該百分比相對(duì)於容器。在這裡,“ 100%”等於“ 900像素”,因此,如果我們給出-100%的值,我們隱藏了第一個(gè)項(xiàng)目並顯示第二個(gè)項(xiàng)目。使用百分比使您可以修改容器的寬度,而無(wú)需修改邊距 - 左屬性的值。
>
顯示另一個(gè)項(xiàng)目的功能
首先,我們將編寫將顯示另一個(gè)項(xiàng)目的功能。這個(gè)將接受一個(gè)參數(shù),方向。如果我們要顯示上一項(xiàng),則必須將此方向設(shè)置為-1,並且,如果要顯示下一個(gè)項(xiàng)目,則必須將其設(shè)置為1。
<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>我們要去哪裡?
>
要確定要分配給邊緣左側(cè)的值,我們需要知道我們的位置。有多種可能的方法可以實(shí)現(xiàn)這一目標(biāo),我選擇了一種僅使用邊距左屬性的當(dāng)前值的方法。>
<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塊。正如我們稍後將重複使用的那樣,將其存儲(chǔ)在變量中是一個(gè)好主意。第二行似乎有些怪異。目的是存儲(chǔ)代表當(dāng)前顯示的項(xiàng)目的整數(shù)。第一個(gè)項(xiàng)目將以0為代表,第二項(xiàng)by 1等。
> 為了實(shí)現(xiàn)這一目標(biāo),我們獲得了邊距左側(cè)屬性的當(dāng)前值。問(wèn)題在於,此值大約是-200%,我們希望一個(gè)數(shù)字:要?jiǎng)h除“%”,我們使用ParseInt()函數(shù)將值轉(zhuǎn)換為整數(shù)(例如'-200%'變?yōu)?200)。由於我們想要一個(gè)積極的整數(shù),我們添加了一個(gè)“減”標(biāo)誌(例如,從-200獲得200個(gè)),然後除以100,以獲取所需的價(jià)值(例如2,而不是200)。
>您可能會(huì)想知道為什麼我們不使用UL.CSS('Margin-Left')獲取邊距左側(cè)屬性的價(jià)值。實(shí)際上,.css()是一種jQuery方法,在我們的背景下,似乎是一個(gè)更好的主意。問(wèn)題是這種方法不會(huì)給我們一個(gè)百分比。使用與上述相同的值,如果當(dāng)前項(xiàng)目是第三個(gè)項(xiàng)目,則保證金左派屬性設(shè)置為-200%,而.css()方法將返回-1800px。要使用像素中的此值來(lái)計(jì)算當(dāng)前項(xiàng)目,然後我們需要使用大容器的寬度,我更喜歡僅使用UL塊。。
>現(xiàn)在我們可以計(jì)算出要顯示的項(xiàng)目的索引,這要?dú)w功於我們功能的參數(shù)中給出的方向。
新項(xiàng)目是否存在?
在顯示新項(xiàng)目之前,我們需要測(cè)試它是否存在。如果new_link小於或等於-1,或者大於或等於項(xiàng)目總數(shù),則它不存在,我們無(wú)法顯示,因此移動(dòng)UL塊不是一個(gè)好主意。請(qǐng)注意,此測(cè)試似乎是多餘的,因?yàn)楫?dāng)我們無(wú)法進(jìn)一步走時(shí)不會(huì)顯示箭頭,但是確保實(shí)際上可以完成某件事總是一個(gè)好主意。<span>jQuery(function($) { </span> <span>// The code we will write must be placed here </span><span>});</span>>
首先,我們獲得項(xiàng)目總數(shù),這是我們列表中LI標(biāo)籤的數(shù)量。這個(gè)數(shù)字對(duì)於我們上面描述的條件很有用,因?yàn)槲覀兿胍粋€(gè)不得大於或等於項(xiàng)目數(shù)量的正整數(shù)(不要忘記我們以0而不是1開始)。
顯示新項(xiàng)目
最後,可以通過(guò)一條線實(shí)現(xiàn)塊移動(dòng)。我們必須計(jì)算邊緣左側(cè)的新值。為此,讓我們考慮一下。對(duì)於每個(gè)“通過(guò)”項(xiàng)目,我們的寬度為100%旅行。這樣,保證金的新價(jià)值是我們剛剛計(jì)算的新項(xiàng)目位置的100倍,而左符號(hào)則是左側(cè)的符號(hào)。>
<span>wp_enqueue_script('carousel', plugin_dir_url(__FILE__) . 'carousel.js', array('jquery'), '1.0', true);</span>>我選擇在這裡使用jQuery動(dòng)畫,但是您可以自由創(chuàng)建自己的動(dòng)畫,甚至修改了此設(shè)置。
>
一些更實(shí)際用途的別名>現(xiàn)在,我們將每次單擊箭頭上單擊箭頭時(shí)都會(huì)創(chuàng)建功能。這些功能不需要大量的代碼,因?yàn)樗麄兾ㄒ灰龅木褪菍arousel_show_another_link()函數(shù)使用正確的參數(shù)調(diào)用。以下是當(dāng)我們單擊“上一個(gè)”箭頭時(shí)稱為函數(shù)的代碼。
>
<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>請(qǐng)注意返回false;為了防止我們的箭頭的默認(rèn)行為(別忘了它們是鏈接)。這樣,用戶單擊箭頭時(shí),URL不會(huì)更改。
>
顯示“下一個(gè)”項(xiàng)目的函數(shù)完全相同,但1作為carousel_show_another_link()的參數(shù)為1。我選擇稱其為carousel_next_link()。附加事件
>最後,我們必須通過(guò)將正確的事件附加到正確的元素來(lái)使這些功能有用。我們將在一個(gè)新功能中執(zhí)行此操作,當(dāng)我們確定創(chuàng)建元素時(shí)調(diào)用:加載文檔時(shí)。
我們要將carousel_previous_link()函數(shù)附加到每個(gè)“以前”箭頭。使用旋轉(zhuǎn)木馬的DOM樹,我們可以輕鬆地檢索它們,就像我們想在CSS中造型時(shí)檢索它們一樣。
<span>jQuery(function($) { </span> <span>// The code we will write must be placed here </span><span>});</span>
然後,我們可以以相同的方式將carousel_next_link()函數(shù)連接到右箭頭(#carousel ul a.carousel-next)。
><span><span>#carousel ul</span> { </span> <span>margin-left: -100%; </span><span>}</span>>您可以測(cè)試此代碼,但應(yīng)該出現(xiàn)一個(gè)錯(cuò)誤:carousel_show_another_link()函數(shù)首次調(diào)用我們的UL塊的CSS屬性邊距 - 左側(cè)不存在,因此當(dāng)我們嘗試檢索時(shí)會(huì)發(fā)生錯(cuò)誤它的值。
為了防止此錯(cuò)誤,我們可以初始化此屬性的值。仍在文檔準(zhǔn)備就緒時(shí)調(diào)用的函數(shù)(例如,在附加事件之前),添加以下行。
>將UL塊的邊距左屬性設(shè)置為0,為默認(rèn)值。現(xiàn)在將存在此屬性,而無(wú)需移動(dòng)塊。
>>您現(xiàn)在可以單擊箭頭,旋轉(zhuǎn)旋轉(zhuǎn)木馬已完成!
總結(jié)<span>function carousel_show_another_link(direction) { </span><span>}</span>在本教程中,我們使用WordPress Links Manager API瀏覽了Carousel插件。這是使用此API的一個(gè)很好的例子,但這也是查看如何將PHP,HTML,CSS和JavaScript組合到WordPress插件中的好方法。
>
在結(jié)束時(shí),我會(huì)說(shuō),即使我們保留了生成的HTML代碼,也可以選擇許多不同的方法來(lái)構(gòu)建轉(zhuǎn)型旋轉(zhuǎn)木馬:我們可以選擇不同的樣式或編寫腳本的不同方法。實(shí)際上,我們?cè)谶@裡寫的腳本只是一個(gè)示例,我們可以編寫一個(gè)完全不同的結(jié)果。
>您可以自己決定是否喜歡我們?cè)诖颂幨褂玫拇a。如果沒(méi)有,請(qǐng)不要猶豫編輯!>
即使您喜歡我們?cè)谶@裡所做的事情,您仍然可以增強(qiáng)結(jié)果。例如,訪問(wèn)者必須擊中箭頭才能查看其他項(xiàng)目:您可以嘗試使用function settimeout()。如果您想查看完成的代碼,或者自己嘗試插件,則可以在此處下載。
以上是構(gòu)建WordPress旋轉(zhuǎn)木製插件:第3部分的詳細(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)頁(yè)開發(fā)工具

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

熱門話題

使用Git管理WordPress項(xiàng)目時(shí),應(yīng)只將主題、自定義插件和配置文件納入版本控制;設(shè)置.gitignore文件以忽略上傳目錄、緩存和敏感配置;利用webhook或CI工具實(shí)現(xiàn)自動(dòng)部署並註意數(shù)據(jù)庫(kù)處理;採(cǎi)用兩分支策略(main/develop)進(jìn)行協(xié)作開發(fā)。這樣做可避免衝突、保障安全,並提升協(xié)作與部署效率。

創(chuàng)建Gutenberg塊的關(guān)鍵在於理解其基本結(jié)構(gòu)並正確連接前後端資源。 1.準(zhǔn)備開發(fā)環(huán)境:安裝本地WordPress、Node.js和@wordpress/scripts;2.使用PHP註冊(cè)塊並用JavaScript定義塊的編輯和顯示邏輯;3.通過(guò)npm構(gòu)建JS文件以使更改生效;4.遇到問(wèn)題時(shí)檢查路徑、圖標(biāo)是否正確或使用實(shí)時(shí)監(jiān)聽構(gòu)建避免重複手動(dòng)編譯。按照這些步驟,可以逐步實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Gutenberg塊。

使用WordPress測(cè)試環(huán)境是為了確保新功能、插件或主題在正式上線前的安全性和兼容性,避免影響真實(shí)網(wǎng)站。搭建測(cè)試環(huán)境的步驟包括:下載安裝本地服務(wù)器軟件(如LocalWP、XAMPP),創(chuàng)建站點(diǎn)、設(shè)置數(shù)據(jù)庫(kù)和管理員賬號(hào),安裝主題和插件進(jìn)行測(cè)試;複製正式網(wǎng)站到測(cè)試環(huán)境的方法是通過(guò)插件導(dǎo)出站點(diǎn)、導(dǎo)入測(cè)試環(huán)境並替換域名;使用時(shí)應(yīng)注意不使用真實(shí)用戶數(shù)據(jù)、定期清理無(wú)用數(shù)據(jù)、備份測(cè)試狀態(tài)、適時(shí)重置環(huán)境,並統(tǒng)一團(tuán)隊(duì)配置以減少差異問(wèn)題。

在WordPress中,當(dāng)新增自定義文章類型或修改固定鏈接結(jié)構(gòu)後,需手動(dòng)刷新重寫規(guī)則,此時(shí)可通過(guò)代碼調(diào)用flush_rewrite_rules()函數(shù)實(shí)現(xiàn)。 1.可在主題或插件激活鉤子中添加該函數(shù)以自動(dòng)刷新;2.僅在必要時(shí)執(zhí)行一次,如添加CPT、分類法或修改鏈接結(jié)構(gòu)後;3.避免頻繁調(diào)用以免影響性能;4.多站點(diǎn)環(huán)境下需視情況為每個(gè)站點(diǎn)單獨(dú)刷新;5.某些託管環(huán)境可能限制規(guī)則保存。此外,訪問(wèn)“設(shè)置>固定鏈接”頁(yè)麵點(diǎn)擊保存也可觸髮刷新,適合非自動(dòng)化場(chǎng)景。

tosetupredirectsinwordpressingthe.htaccessfile,locateThEfileInyourSite'sRootDirectorectoryAndDrectRectrulesabovethe#beginWordPresssection.forbasic301redirects,USETHEETHEETERECTREFTATRECTATREDERTREFTATREDERTREFTATRECTRECTATRECTRECTATREDECT301/OLD-PAGEHTTPS:

UsingsMtpForWordPresseMailSimProvesDeliverabilitialComparedComparedTothEdeDefaultPhpMail()函數(shù).1.smtpauthenticateswithyouremailserver.2.somemomehostsdisablesablephpmail()

要實(shí)現(xiàn)響應(yīng)式WordPress主題設(shè)計(jì),首先要使用HTML5和移動(dòng)優(yōu)先的Meta標(biāo)籤,在header.php中添加viewport設(shè)置以確保移動(dòng)端正確顯示,並用HTML5結(jié)構(gòu)標(biāo)籤組織佈局;其次,利用CSS媒體查詢實(shí)現(xiàn)不同屏幕寬度下的樣式適配,按移動(dòng)優(yōu)先原則編寫樣式,常用斷點(diǎn)包括480px、768px和1024px;第三,彈性處理圖片和佈局,為圖片設(shè)置max-width:100%並使用Flexbox或Grid佈局替代固定寬度;最後,通過(guò)瀏覽器開發(fā)者工具和真實(shí)設(shè)備進(jìn)行充分測(cè)試,優(yōu)化加載性能,確保響應(yīng)

TOINTEGRATETHIRD-PARTYAPISINTOWORDPRESS,關(guān)注臺(tái)詞:1.SelectAutableabepianDobtainCredentialslikeapikeYsoroAuthtoKensByEnterRegisteringThemSecure.2.ChooseBeteBetB????eteBetB????eteBetB????etebetInpliCityOorcustimplicityOrcustomPliCoseTompliCoseTomploomcoseusionfunctionfunctionfunctibunitiacuciencipuity forfunigation。
