#人們喜歡圖片。他們喜歡看它們,喜歡點擊它們。因此,在您網(wǎng)站的導(dǎo)航中使用它們是有意義的。
您可能已經(jīng)在存檔頁面中使用了特色圖像,讓使用者可以更深入地了解貼文的內(nèi)容,並使您的存檔頁面看起來更好。精美的可點擊大圖片也使瀏覽頁面或發(fā)布貼文的過程更加直觀。
但在其他地方,您可以使用特色圖片來幫助導(dǎo)覽至 WordPress 網(wǎng)站的某些部分。在這個由兩部分組成的教程中,我們將向您展示如何建立圖像網(wǎng)格,該網(wǎng)格連結(jié)到您網(wǎng)站中給定頁面的子頁面,或當(dāng)前頁面的子頁面。
在第一部分中,我將示範(fàn)如何撰寫 PHP 來取得頁面並輸出其標(biāo)題和特色圖像、內(nèi)部連結(jié)。在第二部分中,Ian Yates 將向您展示如何添加 CSS 將清單變成美觀的網(wǎng)格。
您需要什麼
要學(xué)習(xí)本教程,您需要具備以下條件:
- WordPress 的開發(fā)安裝 - 在測試之前不要將其新增至您的即時網(wǎng)站。
- 具有供您新增內(nèi)容或可以編輯的操作掛鉤的主題。如果它是沒有鉤子的第三方主題,請建立一個子主題並對其進行編輯。
- 程式碼編輯器。
決定你的方法
要做的第一件事是決定要輸出哪些頁面。在本教程中,我將示範(fàn)兩個選項:
- 目前頁面的子頁面列表,包含圖像。
- 特定頁面的子頁面列表,包含圖像。它可以顯示在您網(wǎng)站的任何位置,而不僅僅是父頁面。
開始使用
兩種方法的出發(fā)點是相同的。
首先在 wp-content/plugins 資料夾中建立一個外掛程式。您需要為外掛程式建立一個資料夾,因為在本教學(xué)的第二部分中,您將添加樣式表以及主插件檔案。
取得資料夾後,為您的程式碼建立一個 PHP 檔案。我正在呼叫我的 tutsplus-child-pages.php。
現(xiàn)在設(shè)定您的外掛文件,並在頂部添加註解掉的文字:
/** * Plugin Name: Tutsplus List Child Pages * Plugin URI: https://github.com/rachelmccollin/tutsplus-list-child-pages * Description: Output a list of children of the current page or a specific page with featured images. * Author: Rachel McCollin * Author URI: https://rachelmccollin.com * Version: 1.0 * Text Domain: tutsplus * License: GPLv2.0+ */
這會告訴 WordPress 您的外掛是什麼以及它的用途。
現(xiàn)在,如果您還沒有建立一些頁面,請繼續(xù)建立一些頁面。我將建立一些帶有子頁面的頁面,其中包括一個位置頁面作為我的特定頁面清單的父頁面。
這是我在管理上的頁面:
現(xiàn)在是時候?qū)戄敵銮鍐蔚暮瘮?shù)了。
輸出目前頁面的子級清單
讓我們從這個選項開始。這將輸出當(dāng)前頁面的所有子頁面的列表,其中包含圖像、連結(jié)和標(biāo)題。
如果您的網(wǎng)站具有分層頁面結(jié)構(gòu),並且您希望鼓勵訪問頂級頁面(或中級頁面,如果有的話)的人們訪問該結(jié)構(gòu)中位於其下方的頁面,那麼這是一種有用的方法。
首先在外掛程式檔案中建立一個函數(shù):
function tutpslus_list_current_child_pages() { }
現(xiàn)在,在該函數(shù)內(nèi),檢查我們是否在頁面上。其他所有內(nèi)容都將放入該條件標(biāo)記內(nèi):
if ( is_page() ) { }
接下來,設(shè)定 $post
全域變數(shù)並定義父頁面:
global $post; // define the page they need to be children of $parentpage = get_the_ID();
之後,定義 get_pages()
函數(shù)的參數(shù):
// define args $args = array( 'parent' => $parentpage, 'sort_order' => 'ASC', 'sort_column' => 'menu_order', ); $children = get_pages( $args );
您可能想要更改其中一些參數(shù)。我使用 menu_order
進行排序,因此我可以手動調(diào)整它,但您可以使用日期、標(biāo)題或任何其他可排序參數(shù)。
下一個任務(wù)是使用 get_pages()
函數(shù)的結(jié)果設(shè)定 foreach
迴圈:
if ( $children ) { ?> <div class="child-page-listing"> <h2><?php _e( 'Learn More', 'tutsplus' ); ?></h2> <?php //foreach loop to output foreach ( $children as $post ) { setup_postdata( $post ); ?> <article id="<?php the_ID(); ?>" class="child-listing" <?php post_class(); ?>> <?php if ( has_post_thumbnail() ) { ?> <a class="child-post-title" href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <div class="child-post-image"> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail( 'medium' ); ?> </a> </div> <?php } ?> </article> <?php } ?> </div> <?php }
讓我們運行一下該程式碼:
- 首先,我們檢查
get_pages()
函數(shù)是否傳回任何結(jié)果,即$children
是否已填入。 - 然後我們?yōu)槊總€子頁面啟動一個
foreach
迴圈作為$post
變數(shù)。 - 在該循環(huán)中,我們開啟一個
article
元素。 - 我們檢查是否有特色圖片(或貼文縮圖)並將其輸出到頁面的連結(jié)內(nèi)。
- 然後我們將頁面的標(biāo)題輸出到頁面的連結(jié)中。
- 最後,我們關(guān)閉元素和條件檢查以及 foreach 循環(huán)本身。
我已向每個元素添加了 CSS 類,以便我們可以在本教程的第二部分中設(shè)定它們的樣式。
將程式碼加入主題
現(xiàn)在你有你的功能了。下一步是將其添加到您的主題中,以便可以在正確的位置輸出。
如果您的主題有動作掛鉤,您可以將您的函數(shù)掛鉤到其中之一。因此,如果我的有一個 after_content
掛鉤,我可以在我的插件中的函數(shù)外部添加此代碼:
add_action( 'after_content', 'tutpslus_list_current_child_pages' );
但是,我在這個演示中使用了“二十十六”主題,它沒有這樣的動作掛鉤。因此,我需要直接在模板文件中添加函數(shù)。
如果您使用自己的主題,則可以將其添加到 page.php 文件中您希望顯示列表的位置。
但如果您使用的是第三方主題,則不得對其進行編輯,因為下次更新主題時所有更改都將丟失。相反,創(chuàng)建一個子主題。在新的子主題中創(chuàng)建父主題的 page.php 文件的副本(或 page.php 的循環(huán)文件的副本),然后對其進行編輯。
確定您希望在頁面中輸出列表的位置,并將其添加到主題模板文件中:
tutpslus_list_current_child_pages();
我已將其添加到子主題的 page.php 文件中的循環(huán)之后。
現(xiàn)在讓我們看一下該網(wǎng)站。這是我的關(guān)于我們頁面及其子頁面:
這就是添加指向當(dāng)前頁面子頁面的鏈接的方法。但是,如果您想添加指向某一特定頁面的子頁面的鏈接該怎么辦?接下來讓我們解決這個問題。
輸出特定頁面的子級列表
此代碼與當(dāng)前頁面子頁面的代碼幾乎相同。區(qū)別在于定義運行 get_pages()
時將使用的父頁面。
復(fù)制插件文件中的第一個函數(shù)并編輯函數(shù)名稱,使它們不同。
找到頁面上的條件檢查并將其刪除。不要忘記也刪除該檢查的右大括號。
現(xiàn)在找到如下行:
$parentpage = get_the_ID();
將其替換為:
$page = get_page_by_path( 'locations', OBJECT, 'page' ); $parentpage = $page->ID;
您會看到它使用 get_page_by_path()
函數(shù),其第一個參數(shù)是目標(biāo)頁面的 slug。編輯此內(nèi)容,使其使用您想要在網(wǎng)站中定位的頁面的 slug。
在此函數(shù)中編輯 CSS 類也是一種很好的做法,以便它們與第一個函數(shù)中的 CSS 類不同。這樣,如果您同時使用兩者,則可以為每個使用不同的樣式。
這是進行這些編輯后的完整功能:
function tutpslus_list_locations_child_pages() { global $post; // define the page they need to be children of $page = get_page_by_path( 'locations', OBJECT, 'page' ); $parentpage = $page->ID; // define args $args = array( 'parent' => $parentpage, 'sort_order' => 'ASC', 'sort_column' => 'menu_order', ); //run get_posts $children = get_pages( $args ); if ( $children ) { ?> <div class="child-page-listing"> <h2><?php _e( 'Our Locations', 'tutsplus' ); ?></h2> <?php //foreach loop to output foreach ( $children as $post ) { setup_postdata( $post ); ?> <article id="<?php the_ID(); ?>" class="location-listing" <?php post_class(); ?>> <?php if ( has_post_thumbnail() ) { ?> <a class="location-title" href="<?php the_permalink(); ?>"> <?php the_title(); ?> </a> <div class="location-image"> <a href="<?php the_permalink(); ?>"> <?php the_post_thumbnail( 'medium' ); ?> </a> </div> <?php } ?> </article> <?php } ?> </div> <?php } }
將代碼添加到主題
您需要再次將代碼添加到主題中。在這種情況下,您不僅希望列表在靜態(tài)頁面中輸出,而且可能希望將其放在不同的位置。
如果您的主題有操作掛鉤,您可以在插件文件中使用其中之一,方式與之前類似:
add_action( 'before_footer', 'tutpslus_list_locations_child_pages' );
我將把它添加到我的主題的頁腳中,再次在我的子主題中創(chuàng)建 footer.php 的副本并對其進行編輯。
這是我的 footer.php 文件中的代碼,位于 footer
元素的開頭:
<?php tutpslus_list_locations_child_pages(); // list locations pages ?>
這是我的頁腳中的列表輸出。這是在單個帖子的底部:
提示:如果出現(xiàn)以下情況,您可能希望避免在位置頁面中輸出此列表:您同時運行這兩個函數(shù),以避免重復(fù)。嘗試使用頁面 ID 添加條件標(biāo)記來實現(xiàn)此目的。
后續(xù)步驟
您現(xiàn)在有兩個頁面列表:一個是當(dāng)前頁面的子頁面,另一個是特定頁面的子頁面。
現(xiàn)在,圖像都被推到頁面的一側(cè),標(biāo)題看起來不太好。在這個由兩部分組成的教程的下一部分(鏈接如下)中,您將學(xué)習(xí)如何設(shè)置圖像樣式以創(chuàng)建具有 CSS 網(wǎng)格布局的網(wǎng)格,以及如何將標(biāo)題文本集成到該網(wǎng)格中。
以上是建立 WordPress 圖片庫:開發(fā)插件的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

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

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

Clothoff.io
AI脫衣器

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

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

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

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

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

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

熱門話題

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

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

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

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

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

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

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

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