国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

目錄
您需要什麼
決定你的方法
開始使用
輸出目前頁面的子級清單
將程式碼加入主題
輸出特定頁面的子級列表
將代碼添加到主題
后續(xù)步驟
首頁 CMS教程 &#&按 建立 WordPress 圖片庫:開發(fā)插件

建立 WordPress 圖片庫:開發(fā)插件

Sep 01, 2023 pm 09:53 PM

創(chuàng)建 WordPress 圖片庫:開發(fā)插件

#人們喜歡圖片。他們喜歡看它們,喜歡點擊它們。因此,在您網(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ù)建立一些頁面。我將建立一些帶有子頁面的頁面,其中包括一個位置頁面作為我的特定頁面清單的父頁面。

這是我在管理上的頁面:

創(chuàng)建 WordPress 圖片庫:開發(fā)插件

現(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 }

讓我們運行一下該程式碼:

  1. 首先,我們檢查 get_pages() 函數(shù)是否傳回任何結(jié)果,即 $children 是否已填入。
  2. 然後我們?yōu)槊總€子頁面啟動一個 foreach 迴圈作為 $post 變數(shù)。
  3. 在該循環(huán)中,我們開啟一個 article 元素。
  4. 我們檢查是否有特色圖片(或貼文縮圖)並將其輸出到頁面的連結(jié)內(nèi)。
  5. 然後我們將頁面的標(biāo)題輸出到頁面的連結(jié)中。
  6. 最後,我們關(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)于我們頁面及其子頁面:

創(chuàng)建 WordPress 圖片庫:開發(fā)插件

這就是添加指向當(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 ?>

這是我的頁腳中的列表輸出。這是在單個帖子的底部:

創(chuàng)建 WordPress 圖片庫:開發(fā)插件

提示:如果出現(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)文章!

本網(wǎng)站聲明
本文內(nèi)容由網(wǎng)友自願投稿,版權(quán)歸原作者所有。本站不承擔(dān)相應(yīng)的法律責(zé)任。如發(fā)現(xiàn)涉嫌抄襲或侵權(quán)的內(nèi)容,請聯(lián)絡(luò)admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6

Dreamweaver CS6

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

SublimeText3 Mac版

SublimeText3 Mac版

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

如何將git與WordPress一起使用 如何將git與WordPress一起使用 Jun 26, 2025 am 12:23 AM

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

如何使用WordPress測試環(huán)境 如何使用WordPress測試環(huán)境 Jun 24, 2025 pm 05:13 PM

使用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塊 如何創(chuàng)建一個簡單的Gutenberg塊 Jun 28, 2025 am 12:13 AM

創(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塊。

如何在WordPress htaccess中設(shè)置重定向 如何在WordPress htaccess中設(shè)置重定向 Jun 25, 2025 am 12:19 AM

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

如何以編程方式刷新規(guī)則 如何以編程方式刷新規(guī)則 Jun 27, 2025 am 12:21 AM

在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è)置>固定鏈接”頁麵點擊保存也可觸髮刷新,適合非自動化場景。

如何使用SMTP從WordPress發(fā)送電子郵件 如何使用SMTP從WordPress發(fā)送電子郵件 Jun 27, 2025 am 12:30 AM

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

如何使WordPress主題響應(yīng)迅速 如何使WordPress主題響應(yīng)迅速 Jun 28, 2025 am 12:14 AM

要實現(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)

如何將第三方API與WordPress集成 如何將第三方API與WordPress集成 Jun 29, 2025 am 12:03 AM

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

See all articles