>在本文中,我們將完成從頭開始構(gòu)建WordPress主題的嘗試,重點(diǎn)是完善我們的模板,添加元信息,縮寫縮略圖,側(cè)邊欄,用戶友好的控件等等。
這是有關(guān)構(gòu)建WordPress主題的WordPress系列的第三部分也是最後一部分。第1部分引入了WordPress主題,在第2部分中,我們構(gòu)建了一個(gè)基本主題。我們使用StartBootStrap使用乾淨(jìng)的博客模板為WordPress主題添加樣式。到目前為止,我們已經(jīng)編寫的代碼可在GitHub上找到。>
>我們已經(jīng)添加了single.php,page.php,archive.php和index.php模板,但是我們將其保留為任務(wù)的這一部分的任務(wù)。我們介紹了function.php - WordPress用來自動(dòng)包含特定功能的文件,並在其中添加了功能。我們在header.php中添加了動(dòng)態(tài)標(biāo)頭函數(shù),然後將該功能分開到我們的functions.php中。理想情況下,應(yīng)該將其組織到一個(gè)單獨(dú)的文件中 - 可能在我們主題內(nèi)的Inc文件夾中 - 以保持一切清潔。在第2部分中,我們還引入了部分 - footer.php和header.php。
鑰匙要點(diǎn)
>利用`functions.php`來添加特定於主題的功能,並有效地將代碼組織到單獨(dú)的文件中以進(jìn)行清潔結(jié)構(gòu)。
- >實(shí)現(xiàn)模板零件,用於一致和模塊化的HTML結(jié)構(gòu),例如`single.php`和`Index.php`。 >
- >使用'add_theme_support('Post-thumbnails')啟用和管理WordPress主題中的縮略圖; 通過`functions.php`註冊多個(gè)側(cè)邊欄和小窗口區(qū)域,以通過WordPress小部件進(jìn)行動(dòng)態(tài)內(nèi)容管理。
- >使用WordPress Customizer API自定義站點(diǎn)外觀和佈局,從而使用戶友好的控件用於背景圖像等等。
- >通過使用模板層次結(jié)構(gòu)原理擴(kuò)展單個(gè)帖子和頁面自定義,並且用於結(jié)構(gòu)化和特定內(nèi)容顯示的`get_template_part`。
- 完善模板
- 在上一篇文章中,我們將標(biāo)籤(開頭一個(gè))分開為header.php,然後添加了對此。這為身體增加了一些語義課,告訴我們我們是否在頁面上,發(fā)帖,是否登錄,等等,等等 - 使我們能夠根據(jù)訪問的頁面和其他網(wǎng)站的不同元素進(jìn)行樣式的樣式事物。
>如果我們訪問主頁並打開瀏覽器控制臺檢查這些課程,我們會發(fā)現(xiàn)我們?nèi)鄙龠@些類別中的當(dāng)前模板信息:
>要更改WordPress顯示的內(nèi)容,我們需要知道正在使用哪些文件。在我們的情況下,index.php用作默認(rèn)的後備模板。該信息圖顯示了使用的模板的層次結(jié)構(gòu)。覆蓋或創(chuàng)建主題時(shí),它可能非常方便。
>>在上一篇文章中,我們開始完善Archive.php循環(huán),添加元信息並在輸出文章中發(fā)布縮略圖。我們將該循環(huán)分為一個(gè)單獨(dú)的文件,將其包括在Archive.php和index.php中,然後完成完善。
>>首先,我們將用一行請求部分文件的單行替換兩個(gè)文件中的內(nèi)容,因此index.php看起來像這樣:
<span><span><?php </span></span><span><span>/** </span></span><span><span> * <span>@package Botega_Scratch_Theme </span></span></span><span><span> */ </span></span><span> </span><span><span>get_header(); ?></span> </span> <span><span><?php </span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post(); </span></span><span> </span><span> <span>get_template_part( 'partials/content', get_post_type() ); </span></span><span> </span><span> <span>endwhile; </span></span><span> <span>endif; </span></span><span> <span>?></span> </span> <span><span><?php get_footer(); ?></span> </span>>
>我們將這些更改上傳到服務(wù)器後,我們將看到我們的首頁,在帖子列表中的每個(gè)帖子中,都有元信息 - 日期和作者鏈接:
<span><span><span><div</span> <span><span><?php post_class( 'post-preview' ); ?></span></span> id<span>="post-<span><?php the_ID(); ?></span>"</span>></span> </span> <span><span><span><header</span> class<span>="entry-header"</span>></span> </span> <span><span><?php </span></span><span> <span>if ( is_singular() ) : </span></span><span> <span>the_title( '<h1 >', '</h1>' ); </span></span><span> <span>else : </span></span><span> <span>the_title( '<h2 ><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); </span></span><span> <span>endif; </span></span><span> </span><span> <span>if ( 'post' === get_post_type() ) : </span></span><span> <span>?></span> </span> <span><span><span><div</span> class<span>="entry-meta"</span>></span> </span> <span><span><?php </span></span><span> <span>bsimple_posted_on(); </span></span><span> <span>bsimple_posted_by(); </span></span><span> <span>?></span> </span> <span><span><span></div</span>></span><!-- .entry-meta --> </span> <span><span><?php endif; ?></span> </span><span><span><span></header</span>></span><!-- .entry-header --> </span> <span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span> </span> <span><span><?php </span></span><span> <span>the_post_thumbnail( 'post-thumbnail', array( </span></span><span> </span><span> <span>) ); </span></span><span> <span>?></span> </span> <span><span><span></a</span>></span> </span> <span><span><?php the_excerpt(); ?></span> </span> <span><span><span></div</span>></span> </span>
這意味著我們的部分作品。
張貼縮略圖
>我們可以看到,我們的虛假帖子一般都沒有任何圖像,並且沒有特色圖像
。如果我們轉(zhuǎn)到WordPress儀表板,然後嘗試將特色image添加到我們的帖子/頁面,我們將看到最右邊的側(cè)欄中沒有文件上傳字段。 (對於那些不熟悉WordPress的人,可以在此處閱讀有關(guān)此功能的更多信息。)> 在WordPress主題中默認(rèn)啟用了未啟用縮略圖。這是一個(gè)需要專門打開新主題的功能。大多數(shù)主題都啟用了它。 為此,我們包括add_theme_support('Post-thumbnails');在我們的functions.php。 上行
現(xiàn)在啟用了縮略圖。>
>現(xiàn)在,我們可以使用WP-CLI命令WP站點(diǎn)空的WORDPRESS安裝所有內(nèi)容的安裝-Alower-root(或者我們可以從WordPress儀表板手動(dòng)執(zhí)行),並用FakerPress將其重新填充。它應(yīng)該用它從互聯(lián)網(wǎng)上獲取的特色圖像填充帖子和頁面。 (我們需要像以前一樣重新創(chuàng)建頂部菜單,並為其分配頁面和帖子。)>
一個(gè)提示:如果我們正在構(gòu)建待售主題,或者通常會發(fā)布給更廣泛受眾的主題,我們可能想使用Automattic提供的主題單元測試數(shù)據(jù),因?yàn)樗赡軙峁┯渺稖y試案例和主題詳細(xì)信息範(fàn)圍的內(nèi)容。
我們可以將圖像大小指定為Fakerpress,但它很可能仍然會導(dǎo)致雜亂的外觀。
>當(dāng)我們構(gòu)建主題時(shí),用於實(shí)現(xiàn)拋光,標(biāo)準(zhǔn)化外觀的技術(shù)之一是指定>縮略圖。這些是標(biāo)準(zhǔn)尺寸WordPress,將調(diào)整所有上傳圖像以適合。我們將使用WordPress
add_image_size()>函數(shù)添加我們主題將使用的幾個(gè)圖像大?。?/p>
<span><span><?php </span></span><span><span>/** </span></span><span><span> * <span>@package Botega_Scratch_Theme </span></span></span><span><span> */ </span></span><span> </span><span><span>get_header(); ?></span> </span> <span><span><?php </span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post(); </span></span><span> </span><span> <span>get_template_part( 'partials/content', get_post_type() ); </span></span><span> </span><span> <span>endwhile; </span></span><span> <span>endif; </span></span><span> <span>?></span> </span> <span><span><?php get_footer(); ?></span> </span>然後,我們將在我們的content.php中使用
<span><span><span><div</span> <span><span><?php post_class( 'post-preview' ); ?></span></span> id<span>="post-<span><?php the_ID(); ?></span>"</span>></span> </span> <span><span><span><header</span> class<span>="entry-header"</span>></span> </span> <span><span><?php </span></span><span> <span>if ( is_singular() ) : </span></span><span> <span>the_title( '<h1 >', '</h1>' ); </span></span><span> <span>else : </span></span><span> <span>the_title( '<h2 ><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' ); </span></span><span> <span>endif; </span></span><span> </span><span> <span>if ( 'post' === get_post_type() ) : </span></span><span> <span>?></span> </span> <span><span><span><div</span> class<span>="entry-meta"</span>></span> </span> <span><span><?php </span></span><span> <span>bsimple_posted_on(); </span></span><span> <span>bsimple_posted_by(); </span></span><span> <span>?></span> </span> <span><span><span></div</span>></span><!-- .entry-meta --> </span> <span><span><?php endif; ?></span> </span><span><span><span></header</span>></span><!-- .entry-header --> </span> <span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span> </span> <span><span><?php </span></span><span> <span>the_post_thumbnail( 'post-thumbnail', array( </span></span><span> </span><span> <span>) ); </span></span><span> <span>?></span> </span> <span><span><span></a</span>></span> </span> <span><span><?php the_excerpt(); ?></span> </span> <span><span><span></div</span>></span> </span>,我們將增加字體的大小,但是為此,我們將減少由
<span>add_image_size( 'list-thumb-1', 730, 400, true); </span><span>add_image_size( 'small-list-thumb-1', 400, 200, true); </span><span>add_image_size( 'small-list-thumb-2', 300, 200, true); </span><span>add_image_size( 'small-list-thumb-3', 220, 140, true); </span>(我們在這裡不介紹對主題本身至關(guān)重要的較小樣式調(diào)整。)
>
現(xiàn)在,我們可以增加字體大小,並通過浮動(dòng)圖像(與A apent元素一起浮動(dòng)圖像)圍繞圖像進(jìn)行漂浮<span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span> </span> <span><span><?php </span></span><span> <span>the_post_thumbnail( 'small-list-thumb-1'); </span></span><span> <span>?></span> </span><span><span><span></a</span>></span> </span>
>以後我們還將在單帖子/頁面上使用post_thumbnails。
主題側(cè)欄
主題側(cè)邊欄是主題中的寬度區(qū)域。它們需要在WordPress系統(tǒng)中註冊,以便我們可以將不同的小部件放置到這些區(qū)域。一旦這樣做,我們就會在模板文件中打印或輸出這些小部件。
>我們將在主題中註冊許多側(cè)欄,可以在主題的GitHub存儲庫中看到。我們通過將以下代碼添加到我們的functions.php:
>在這裡,我們展示瞭如何註冊兩個(gè)側(cè)邊欄。有關(guān)register_sidebar()函數(shù)的更多詳細(xì)信息可以在wordpress.org。
我們註冊了11個(gè)側(cè)邊欄,但是我們不需要在所有頁面模板或網(wǎng)站位置中輸出所有這些側(cè)欄。如果它們是在當(dāng)前自定義頁面中輸出的,則可以在小部件下的customizer
中訪問:>
<span># functions.php </span><span>function custom_excerpt_length( $length ) { </span> <span>return 40; </span><span>} </span><span>add_filter( 'excerpt_length', 'custom_excerpt_length', 999 ); </span>>這是footer.php中側(cè)邊欄或小部件區(qū)域的實(shí)際輸出的一個(gè)示例 - 這意味著它可以在全球顯示:
>在這裡,我們使用了上面的bottom_center_sidebar中使用的側(cè)欄ID。 >
>我們還根據(jù)主欄是否有活躍的小部件(IS_ACTIVE_SIDEDBAR())來調(diào)節(jié)主頁上的中央內(nèi)容容器的寬度: >我們輸出依賴於這些條件的Bootstrap類,確保如果我們省略為頁面設(shè)置小部件,例如 >我們用小部件和圖像填充這些小部件區(qū)域後,這就是我們得到的:
>
>當(dāng)我們談?wù)摌邮綍r(shí),我們將提及“定制器API”,並展示如何使用它來對標(biāo)題的用戶友好控制。 這是我們?nèi)绾蝿?chuàng)建新的面板,pance和 control的一個(gè)示例(functions.php又)
>在functions.php中添加設(shè)置和控件後,我們將以下代碼添加到BSIMPLE_SCRIPTS()函數(shù)的底部,我們創(chuàng)建了為了加入我們的腳本和樣式:
>
這樣,我們可以為指南中的Dynamic_header()函數(shù)分開的標(biāo)題設(shè)置圖像:
> WordPress模板層次結(jié)構(gòu)可幫助我們定位訪問時(shí)加載的確切URL並發(fā)布的發(fā)布,以便我們可以原子設(shè)計(jì)每個(gè)其中的HTML輸出。很多時(shí)候,我們不需要?jiǎng)?chuàng)建所有模板。 >
> pages 特色圖像
現(xiàn)在,用戶可以為每個(gè)頁面設(shè)置標(biāo)頭圖像。我們可以為IS_Single()案例做同樣的事情,該案例將對所有帖子應(yīng)用相同的解決方案(包括自定義帖子類型)。
>此行將允許用戶在每個(gè)頁面,名稱subtitle_添加自定義字段,並將其輸出到頁面標(biāo)題:>
如果我們看不到“自定義字段”部分,我們可以在編輯屏幕的右上角通過
完成此操作後,我們將在單個(gè)頁面上查看下面的subtitle_ meta字段:
所有這些東西以及樣式 - 也可以應(yīng)用於 > 由於本指南的空間約束,我們將創(chuàng)建將在這兩個(gè)模板中使用的內(nèi)容,但是該結(jié)構(gòu)將允許讀者在需要時(shí)更具體地適應(yīng)和自定義這些模板: >
我們得到的是一個(gè)簡單的底部和頁腳區(qū)域,我們可以用窗口小部件填充: 我們現(xiàn)在有一個(gè)最小但功能性的主題,可以用來顯示內(nèi)容。
在本系列中有三篇有關(guān)從頭開始構(gòu)建WordPress主題的文章: >在主題結(jié)構(gòu) 主題基礎(chǔ) 完善主題 經(jīng)常詢問有關(guān)從頭開始構(gòu)建WordPress主題的問題 return return strip_tags($ content,' ') ; 1。設(shè)置不正確:檢查您的WordPress設(shè)置>讀取>讀取,並確保將正確的頁面設(shè)置為首頁。 > home
<span><span>.home .post-preview.post</span> {
</span> <span>overflow: hidden;
</span><span>}
</span>
<span>// Register custom sidebars
</span><span>function sidebar_register() {
</span>
<span>$args = array(
</span> <span>'name' => __( 'home_header', 'bsimple' ),
</span> <span>'description' => __( 'home_header', 'bsimple' ),
</span> <span>'id' => 'h_h',
</span> <span>'class' => 'home_header',
</span> <span>'before_widget' => ' <div >',
</span> <span>'after_widget' => '</div>',
</span> <span>'before_title' => '<h2 >',
</span> <span>'after_title' => '</h2>',
</span> <span>);
</span> <span>register_sidebar($args);
</span>
<span>$args = array(
</span> <span>'name' => __( 'archive_sidebar_1', 'bsimple' ),
</span> <span>'description' => __( 'Archive Sidebar no 1', 'bsimple' ),
</span> <span>'id' => 'a_s_1',
</span> <span>'class' => 'archive_sidebar_1',
</span> <span>'before_widget' => ' <div >',
</span> <span>'after_widget' => '</div>',
</span> <span>'before_title' => '<h2 >',
</span> <span>'after_title' => '</h2>',
</span> <span>);
</span> <span>register_sidebar($args);
</span>
<span>$args = array(
</span> <span>'name' => __( 'bottom_center_sidebar', 'bsimple' ),
</span> <span>'description' => __( 'Bottom Center Sidebar', 'bsimple' ),
</span> <span>'id' => 'b_c_s',
</span> <span>'class' => 'bottom_center_sidebar',
</span> <span>'before_widget' => '<div >',
</span> <span>'after_widget' => '</div>',
</span> <span>'before_title' => '<h2 >',
</span> <span>'after_title' => '</h2>',
</span> <span>);
</span> <span>register_sidebar($args);
</span>
<span>}
</span><span>add_action( 'widgets_init', 'sidebar_register' );
</span>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> */
</span></span><span>
</span><span><span>get_header(); ?></span>
</span>
<span><span><?php
</span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post();
</span></span><span>
</span><span> <span>get_template_part( 'partials/content', get_post_type() );
</span></span><span>
</span><span> <span>endwhile;
</span></span><span> <span>endif;
</span></span><span> <span>?></span>
</span>
<span><span><?php get_footer(); ?></span>
</span>
>這裡的主要內(nèi)容是customize_register鉤子,$ wp_customize方法的順序(add_panel,add_section,add_setting,add_control。訂單效果。
<span><span><span><div</span> <span><span><?php post_class( 'post-preview' ); ?></span></span> id<span>="post-<span><?php the_ID(); ?></span>"</span>></span>
</span>
<span><span><span><header</span> class<span>="entry-header"</span>></span>
</span> <span><span><?php
</span></span><span> <span>if ( is_singular() ) :
</span></span><span> <span>the_title( '<h1 >', '</h1>' );
</span></span><span> <span>else :
</span></span><span> <span>the_title( '<h2 ><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
</span></span><span> <span>endif;
</span></span><span>
</span><span> <span>if ( 'post' === get_post_type() ) :
</span></span><span> <span>?></span>
</span> <span><span><span><div</span> class<span>="entry-meta"</span>></span>
</span> <span><span><?php
</span></span><span> <span>bsimple_posted_on();
</span></span><span> <span>bsimple_posted_by();
</span></span><span> <span>?></span>
</span> <span><span><span></div</span>></span><!-- .entry-meta -->
</span> <span><span><?php endif; ?></span>
</span><span><span><span></header</span>></span><!-- .entry-header -->
</span>
<span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span>
</span> <span><span><?php
</span></span><span> <span>the_post_thumbnail( 'post-thumbnail', array(
</span></span><span>
</span><span> <span>) );
</span></span><span> <span>?></span>
</span> <span><span><span></a</span>></span>
</span>
<span><span><?php the_excerpt(); ?></span>
</span>
<span><span><span></div</span>></span>
</span>
WP_ADD_INLINE_STYLE()<span>add_image_size( 'list-thumb-1', 730, 400, true);
</span><span>add_image_size( 'small-list-thumb-1', 400, 200, true);
</span><span>add_image_size( 'small-list-thumb-2', 300, 200, true);
</span><span>add_image_size( 'small-list-thumb-3', 220, 140, true);
</span>
我們該怎麼做? >
>在我們的Dynamic_header()函數(shù)中,我們已經(jīng)為<span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span>
</span> <span><span><?php
</span></span><span> <span>the_post_thumbnail( 'small-list-thumb-1');
</span></span><span> <span>?></span>
</span><span><span><span></a</span>></span>
</span>
<span># functions.php
</span><span>function custom_excerpt_length( $length ) {
</span> <span>return 40;
</span><span>}
</span><span>add_filter( 'excerpt_length', 'custom_excerpt_length', 999 );
</span>
>
>
<span><span><?php
</span></span><span><span>/**
</span></span><span><span> * <span>@package Botega_Scratch_Theme
</span></span></span><span><span> */
</span></span><span>
</span><span><span>get_header(); ?></span>
</span>
<span><span><?php
</span></span><span> <span>if ( have_posts() ) : while ( have_posts() ): the_post();
</span></span><span>
</span><span> <span>get_template_part( 'partials/content', get_post_type() );
</span></span><span>
</span><span> <span>endwhile;
</span></span><span> <span>endif;
</span></span><span> <span>?></span>
</span>
<span><span><?php get_footer(); ?></span>
</span>
>在這裡,我們使用的是10/12寬的單列佈局,以MX-AUTO類為中心。我們使用部分內(nèi)容single.php來輸出實(shí)際內(nèi)容。 <span><span><span><div</span> <span><span><?php post_class( 'post-preview' ); ?></span></span> id<span>="post-<span><?php the_ID(); ?></span>"</span>></span>
</span>
<span><span><span><header</span> class<span>="entry-header"</span>></span>
</span> <span><span><?php
</span></span><span> <span>if ( is_singular() ) :
</span></span><span> <span>the_title( '<h1 >', '</h1>' );
</span></span><span> <span>else :
</span></span><span> <span>the_title( '<h2 ><a href="' . esc_url( get_permalink() ) . '" rel="bookmark">', '</a></h2>' );
</span></span><span> <span>endif;
</span></span><span>
</span><span> <span>if ( 'post' === get_post_type() ) :
</span></span><span> <span>?></span>
</span> <span><span><span><div</span> class<span>="entry-meta"</span>></span>
</span> <span><span><?php
</span></span><span> <span>bsimple_posted_on();
</span></span><span> <span>bsimple_posted_by();
</span></span><span> <span>?></span>
</span> <span><span><span></div</span>></span><!-- .entry-meta -->
</span> <span><span><?php endif; ?></span>
</span><span><span><span></header</span>></span><!-- .entry-header -->
</span>
<span><span><span><a</span> class<span>="post-thumbnail"</span> href<span>="<span><?php the_permalink(); ?></span>"</span> aria-hidden<span>="true"</span> tabindex<span>="-1"</span>></span>
</span> <span><span><?php
</span></span><span> <span>the_post_thumbnail( 'post-thumbnail', array(
</span></span><span>
</span><span> <span>) );
</span></span><span> <span>?></span>
</span> <span><span><span></a</span>></span>
</span>
<span><span><?php the_excerpt(); ?></span>
</span>
<span><span><span></div</span>></span>
</span>
>全局小部件和頁腳
<span>add_image_size( 'list-thumb-1', 730, 400, true);
</span><span>add_image_size( 'small-list-thumb-1', 400, 200, true);
</span><span>add_image_size( 'small-list-thumb-2', 300, 200, true);
</span><span>add_image_size( 'small-list-thumb-3', 220, 140, true);
</span>
本指南將在這裡停止,但是接下來的事物可能要做的是確保所有用例涵蓋所有用例,並且該主題是100%全功能的。為此,安裝主題檢查插件以及其他工具,以檢查我們的主題缺少的內(nèi)容,並確保一切都符合標(biāo)準(zhǔn):
>本指南的目的是對WordPress主題構(gòu)建進(jìn)行全面介紹。希望它介紹了所有基本的WordPress主題構(gòu)建概念,並展示了它們?nèi)绾螆F(tuán)結(jié)在一起。
>本系列的初始代碼可在此處的GitHub上找到,我們在本指南中構(gòu)建的主題的最終版本可在此處獲得。
在這些基礎(chǔ)上,可以在綜合WordPress法典的幫助下建立更多的基礎(chǔ)。
如何在WordPress中沒有
>中用於樣式的標(biāo)籤。但是,如果要在沒有包裝器的情況下顯示內(nèi)容,則可以使用“ the_content”過濾器。此過濾器允許您從數(shù)據(jù)庫中檢索到帖子後,但在將其打印到屏幕之前修改它的內(nèi)容。這是一個(gè)簡單的示例,說明如何使用此過濾器刪除>標(biāo)籤:
}
add_filter('the_content','remove_p_tags');
此代碼將從帖子內(nèi)容中刪除所有
標(biāo)籤。請注意,這將影響所有帖子,因此請仔細(xì)使用它。
2。主題問題:問題可能與您的主題有關(guān)。嘗試切換到默認(rèn)的WordPress主題,看看問題是否持續(xù)。插件衝突:有時(shí),插件可能會相互衝突或與您的主題衝突,從而導(dǎo)致您的頭版不加載。嘗試停用所有插件,然後一一重新激活它們以識別有問題的插件。
4。損壞的.htaccess文件:損壞的.htaccess文件也可能導(dǎo)致此問題。嘗試將.htaccess文件重命名為.htaccess_old之類的東西,看看是否可以解決問題。
>
如果這些解決方案都不可用,則最好與您的託管提供商或WordPress專家聯(lián)繫以獲取進(jìn)一步的幫助,這可能是一個(gè)好主意。 。
>如何通過使用WordPress函數(shù)和JavaScript的組合來實(shí)現(xiàn)在WordPress中顯示其內(nèi)容的發(fā)布ID?以下是如何執(zhí)行此操作的基本示例:
首先,您需要獲取發(fā)布ID。您可以使用WordPress中的get_the_id()函數(shù)來執(zhí)行此操作。此功能將返回循環(huán)中當(dāng)前帖子的ID。
$ post_content = get_post_field('post_content',$ post_id',$ post_id);
您可以使用javascript在彈出窗口。這是一個(gè)簡單的示例,使用alert()函數(shù):
請注意,這是一個(gè)非常基本的示例,可能不是在所有情況下都能完美工作。對於更強(qiáng)大的解決方案,您可能需要考慮使用插件或更高級的JavaScript庫來創(chuàng)建彈出窗口。
以上是如何從頭開始構(gòu)建WordPress主題:最終步驟的詳細(xì)內(nèi)容。更多資訊請關(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版
神級程式碼編輯軟體(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)主題測試對比並優(yōu)化代碼邏輯。按照上述步驟逐一排查可定位並解

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

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

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

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

PluginCheck是一個(gè)幫助WordPress用戶快速檢查插件兼容性和性能的工具,主要用來識別當(dāng)前安裝的插件是否存在與最新版本W(wǎng)ordPress不兼容、存在安全漏洞等問題。 1.如何開始檢查?安裝激活後,在後臺點(diǎn)擊“RunaScan”按鈕即可自動(dòng)掃描所有插件;2.報(bào)告包含插件名稱、檢測類型、問題描述及解決方案建議,便於優(yōu)先處理嚴(yán)重問題;3.建議在更新WordPress前、網(wǎng)站異常時(shí)或定期運(yùn)行檢查,提前發(fā)現(xiàn)隱患,避免未來出現(xiàn)重大問題。

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

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