實例演示開發簡單的html5響應式WordPress主題

通過使用WordPress主題,您可以為您的網頁和文章制作統一的布局,也可以對主題進行修改來更改整個網站的外觀。要獲得理想的網站,您可以從頭開始創建一個WordPress主題,而無需從官方主題目錄中安裝WordPress主題。

本教程將討論如何使用HTML5和CSS3創建一個WordPress主題。而且,我們將響應式設計原則應用于您的主題。因此,讓我們開始吧!

了解響應式設計

響應式設計意味著您的網站將根據其屏幕大小自動以最佳格式顯示給訪問者。頁面布局實際上是對可用空間的“響應”,內容的正確顯示,不會被截斷,不會溢出,并且您的網站看起來盡可能整潔。

要衡量設計的響應式對齊方式,您應該將網站的布局視為一系列網格而不是像素(px)。然后,將每個內容部分的網格寬度除以百分比(%)。

假設您要在網站上擁有四個內容劃分元素(<div>)–頁眉、主要內容、側邊欄和頁腳。每個div的寬度占用100%的可用空間。因此,如果要在其中創建四個div,則每個div將獲得分配空間的25%。

對于圖像,可以將其設置為最大寬度:實際尺寸的100%,并將高度設置為自動。縮小容器的尺寸時,將自動調整圖像的寬度和高度。但是,如果容器變寬,它將無法放大。

因此,如果您將200px寬度的圖像放置在占屏幕100%的div內,則它將以其實際寬度(200px)來顯示。

而使用width:100%將導致圖像占用100%的可用空間,而不限制在圖片的實際寬度內。

這是構建響應式設計的良好語法與不良語法的示例:

/* 良好的寬度定義 */
.inline-text-box {
  width: 50%;
}

/* 不良的寬度定義 */
.inline-text-box {
  width: 800px;
}

/* 良好的圖片寬度定義 */
img {
  max-width: 100%;
  height: auto;
}

/* 不良的圖片寬度定義 */
img {
  width: 100%;
  height: auto;
}

好了,簡單介紹完響應式規則了,讓我們開始遵循上面的述響應原則,使用HTML5和CSS3來創建WordPress主題吧。

使用HTML5和CSS3創建響應式WordPress主題的步驟

HTML5是Web標記語言HTML的最新版本,可讓您在任何計算機、筆記本、平板電腦或手機上一致地顯示內容。

而且,HTML5提供了視窗元標記功能。它使您可以使用<head> </ head>標記內的<?meta>標記來控制網站在每個瀏覽器視窗中的顯示。

基本的HTML5文檔代碼如下所示:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>My HTML5 Page</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="css/normalize.min.css">
    <link rel="stylesheet" href="css/main.css">
  </head>
  <body>
    <header>
      <h1>My Website</h1>
    </header>
    <main>
      <section>
        <header>
          <h2>My Articles</h2>
        </header>
        <article>
          <header> 
            <h2>An Article</h2> 
          </header>
          <p class="inline-text-box">Left</p><p class="inline-text-box">Right</p>
        </article>
      </section>
    </main>
    <footer>
        <p>Copyright © 2019</p>
    </footer>
  </body>
</html>

要制作完全響應的WordPress主題,您還可以使用CSS3媒體查詢功能。它使您可以設置特定規則,并可以控制網站的行為方式以及在各種屏幕或視窗大小上的顯示方式。

在這里,我們將在構建主題時同時應用窗口元標記和媒體查詢。

1.存儲主題及其文件

在繼續之前,請在WordPress主題文件夾中為主題創建一個新文件夾。

通過訪問主機面板的文件管理器來執行此操作。然后,轉到public_html-> wp-content->themes 目錄并創建一個新文件夾。請記住,主題文件夾的名稱應該是唯一的,一般使用小寫英文字母命名,不要使用數字或空格。

在這里,我們以my-theme為例。

文件夾名稱不應與其他主題相同。如果您打算共享您的主題,請檢查WordPress.org?主題目錄上是否沒有相同名稱的主題。

一旦有了用于存儲主題的文件夾,就需要創建一些基本的WordPress模板文件了。

2.創建模板文件和CSS樣式表

只需兩個模板文件即可創建WordPress主題index.phpstyle.css。它們將被用來顯示每個頁面并發布在您的網站上。

要為文章、頁面和網站的其他部分設置不同的布局,您必須創建單獨的文件,其中包含僅適用于每個部分的HTML5和PHP。

每個模板文件必須使用WordPress文檔中定義的正確名稱。

index.php之外的一些模板文件是:

  • header.php?–包含網站頁眉的HTML,從 <!DOCTYPE html> 開始。
  • single.php?–顯示博客中的單個文章。
  • page.php?–用于顯示博客中的單個頁面。
  • comments.php?–定義如何顯示評論部分。
  • footer.php?–包含網站頁腳的HTML,包括</html>

您還可以在WordPress?主題開發手冊上找到模板文件的完整列表。

如果您希望使用自定義文章類型,則可以創建僅適用于該類型文章的模板。但是,如果您希望特定類別的文章具有不同的樣式,請在循環內使用if-then語句。

請按照以下步驟創建WordPress模板文件:

1、在my-theme文件夾中,創建PHP文件–?header.php?index.phpfooter.phpfunctions.phpsidebar.phpsingle.phppage.php

2、然后,創建一個名為style.css的新CSS文件。

主樣式表文件必須命名為style.css,并且放在主題的根目錄(即本例的 my-theme文件夾中 )。

3、在style.css文件的頂部添加必要的信息(主題的名稱、版本、描述、作者等)。WordPress將在后臺主題信息中顯示它們。

信息必須以多行CSS注釋的形式編寫,每行一個標頭,每個標頭都以關鍵字開頭。您可以在這個頁面上找到主題標題的完整列表。標頭的格式為“?關鍵字: 信息”

/*
Theme Name: My Theme
Author: wpdaxue
Author URI: http://www.wtfvhl.icu
Description: My first responsive HTML5 theme
Version: 1.0
License: GNU General Public License v3 or later
License URI: http://www.gnu.org/licenses/gpl-3.0.html
*/

如果您打算在WordPress.org上共享主題,則需要第七行和第八行。如果您要在自己的網站上使用主題,則無需包含它們。

此時,您的主題已在儀表板的主題部分中可見。您可以訪問后臺 外觀- 主題,看到我們新建的主題 my-theme,帶有白色和灰色的復選框。完成創建WordPress主題后,您可以截取屏幕截圖以顯示在此處。

如果激活主題,由于index.php文件是空的,并且沒有模板,您將獲得一個空白主頁。

4、將單個規則添加到CSS文件中,以更改頁面的背景顏色。?在第10行的注釋結束*/后面插入空白行。然后,在下面添加以下代碼:

* {
  box-sizing: border-box;
}

body {
    background-color: #f9f9f9;
    font-family: Helvetica;
}

第一個條目是響應式樣式的重要部分。*是通配符,與HTML文檔中找到的每個單個類匹配。它指出頁面上每個項目的最終寬度和高度應包括內容、 填充和邊框。該規則有效地在框內而不是框外添加了填充。

第二個條目只是將背景色更改為白色并設置默認字體,該字體將在我們的主題中使用。

3.創建WordPress主題之前

在開發過程之前,強烈建議在您的function.phpsidebar.php中添加一些代碼,以增強主題的靈活性。

functions.php

首先,通過插入以下代碼,在您的functions.php文件中引入一個名為normalize.css的CSS文件:

<?php
// 這個函數用來引入 Normalize.css 文件,給主題添加一些默認的樣式。 第一個參數是css名稱,第二個參數是文件網址
// 我們使用在線的Normalize.css網址
function add_normalize_CSS() {
    wp_enqueue_style( 'normalize-styles', "https://cdnjs.cloudflare.com/ajax/libs/normalize/7.0.0/normalize.min.css");
}

不同的瀏覽器對頁面頁邊距和填充等元素具有不同的默認設置。normalize.css是一個統一不同瀏覽器顯示效果的一個基本的css樣式,讓瀏覽器可以比較統一地顯示元素的默認樣式。

接下來,在上面代碼的下面繼續添加代碼,來啟用側邊欄小工具:

// 注冊一個名為 'sidebar' 的側邊欄區域
function add_widget_Support() {
    register_sidebar( array(
        'name'          => 'Sidebar',
        'id'            => 'sidebar',
        'before_widget' => '<div>',
        'after_widget'  => '</div>',
        'before_title'  => '<h2>',
        'after_title'   => '</h2>',
    ) );
}
// 將函數掛載到對應的鉤子,使函數生效
add_action( 'widgets_init', 'add_Widget_Support' );

如果您不包括此函數,則小工具菜單鏈接將在后臺面板中不可見,并且您將無法添加任何小工具。

然后,注冊自定義導航菜單來使用外觀->菜單功能。在前面的代碼之后添加以下代碼:

// 注冊一個導航菜單
function add_Main_Nav() {
  register_nav_menu('header-menu',__( 'Header Menu' ));
}
// 將函數掛載到對應的鉤子,使函數生效
add_action( 'init', 'add_Main_Nav' );

保存并關閉文件。

sidebar.php

get_sidebar()??允許側邊欄和小工具出現在主題中的任何位置。為此,請在sidebar.php文件中插入以下代碼。然后,保存更改。

<?php if ( is_active_sidebar( 'sidebar' ) ) : ?>
  <aside id="primary-sidebar" class="primary-sidebar widget-area" role="complementary">
    <?php dynamic_sidebar( 'sidebar' ); ?>
  </aside>
<?php endif; ?>

第一行告訴WordPress,如果未啟用任何小工具,就不顯示側邊欄的HTML。第二個設置包含小工具的元素的屬性。第三行是顯示小工具的WordPress函數。最后一行關閉初始的 if 語句。

要在文章和頁面之間輕松導航,請打開后臺面板 外觀 - 小工具,然后將“?頁面”和“?最新文章”小工具添加到側邊欄中。

4.使用模板構建布局

現在,我們將繼續通過使用媒體查詢修改header.phpindex.phpfooter.phpsingle.phppage.php,  style.php文件來創建WordPress主題的布局。

header.php

header.php將定義文檔的最頂部。它應該具有:

  • DOCTYPE聲明?–告訴您的Web瀏覽器如何解釋文檔。
  • language_attributes()函數?–在<html>標簽的開頭輸入您在安裝過程中選擇的語言的代碼。
  • HTML head元素<head></head>?–在這里存儲元數據。包含<title></title>標記和is_front_page()以及bloginfo()函數,<meta></meta>標記,<link></link>標記和wp_head()動作鉤子。
  • body_class()函數?–為您的身體提供WordPress設置的默認CSS類。
  • wp_nav_menu()函數?–在網站標題上顯示頁面導航菜單。

使用元標記

在<head>下插入以下meta標簽語法,這樣您的網站將自動適應較小的屏幕尺寸和窗口。

<meta name="viewport" content="width=device-width, initial-scale=1.0">

添加后,您將擁有一個跨瀏覽器兼容的移動響應站點。

因此,最終的header.php文件代碼如下所示:

<!DOCTYPE html>
<html <?php language_attributes(); ?>
 <head>
   <title><?php bloginfo('name'); ?> » <?php is_front_page() ? bloginfo('description') : wp_title(''); ?></title>
   <meta charset="<?php bloginfo( 'charset' ); ?>">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>">
   <?php wp_head(); ?>
 </head>
 <body <?php body_class(); ?>>
   <header class="my-logo">
   <h1><a href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo('name'); ?></a></h1>
 </header>
 <?php wp_nav_menu( array( 'header-menu' => 'header-menu' ) ); ?>

如果要使用Logo作為標題,請使用你的圖片代碼替換掉<head>標志中的 <?php bloginfo('name'); ?>? 。

index.php

index.php文件用來定義主頁。如果未找到特定模板(例如single.phppage.php),它將也用作文章或頁面的默認布局。

使用模板標簽確保您的首頁中包含頁眉( get_header() ),側邊欄(get_sidebar())和頁腳(get_footer())代碼。您還需要插入HTML5語義元素<section><main><header><article>

有些元素將分配有類,這些類將寫在style.css文件中。

<header></header>標記可以在任何頁面上多次使用,并且不專門引用頁面標題。如果<h1>,<h2>等中有文本,則節和文章應具有標題元素。如果節或文章中沒有標題文本,則可以將其忽略。

要顯示帶有更多模板標簽的文章及其摘要列表,您需要使用WordPress循環。因此,index.php文件的最終代碼應如下所示。

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-thin">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-loop">
        <header>
          <h2><a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></h2>
          By: <?php the_author(); ?>
        </header>
        <?php the_excerpt(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no posts were found!</p>
      </article>
<?php endif; ?>
  </section><?php get_sidebar(); ?>
</main>
<?php get_footer(); ?>

上面的代碼中,循環從 <?php if ( have_posts() )?: while?( have_posts() ) : the_post(); ?>? 并以 <?php endif; ?> 結束。在循環內可以使用以下模板標簽:

  • <?php the_permalink(); ?> ?–輸出文章的網址。
  • <?php the_title_attribute(); ?> –以安全格式顯示標題鏈接的title屬性。
  • <?php the_title(); ?> ?–顯示文字標題。
  • <?php the_author(); ?> ?–輸出作者的姓名。
  • <?php the_excerpt(); ?> ?–執行該文章的摘要,如果您沒有手動設置,摘要將自動生成。

保存文件后,重新加載網站時會看到一個非常簡潔的頁面。

我們將在以后,學習有關WordPress?模板標簽循環 的更多信息。

footer.php

您可以在i這個文件中定義每個頁面的頁腳。它也負責關閉所有從header.php文件打開的<body><html>標記。如果您不創建footer.php文件,則當您以管理員身份訪問主頁、文章或頁面時,會注意到缺少管理欄。

使用HTML5語義元素<footer></footer>定義頁腳。為了確保將任何最終的WordPress代碼和JavaScript添加到該頁面,它還必須包括wp_footer()動作鉤子。

<footer>
      <p>Copyright © 2019</p>
    </footer>
    <?php wp_footer(); ?>
  </body>
</html>

保存footer.php文件后,將關閉其他模板文件中所有打開的HTML標記。

在本教程的最后,我們將學習有關動作掛鉤的更多信息。

single.php

single.php中文件決定您網站上的一個文章的布局。它可以與index.php完全不同。

在這里,我們將使用the_content()函數顯示完整的文章內容。但是,我們不會將側邊欄添加到文章頁面中,還將刪除標題上的鏈接。

完整的代碼應如下所示:

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-full-width">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-full">
        <header>
          <h2><?php the_title(); ?></h2>
          By: <?php the_author(); ?>
        </header>
       <?php the_content(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no post was found!</p>
      </article>
<?php endif; ?>
  </section>
</main>
<?php get_footer(); ?>

保存后,您會看到您的文章將顯示為一個沒有側邊欄的頁面。

page.php

page.php用來定義頁面顯示的方式。它也可以不同于主頁和文章布局。

請記住,如果page.php文件不存在,WordPress會使用index.php模板替代。您的網站頁面一般不應該使用和single.php文件相同的布局。

為了使差異更加明顯,我們將再次在該布局中添加側邊欄,并使頁面內容占據頁面70%的寬度。將以下代碼添加到您的page.php文件中。

<?php get_header(); ?>
<main class="wrap">
  <section class="content-area content-thin">
<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
      <article class="article-full">
        <header>
          <h2><?php the_title(); ?></h2>
          By: <?php the_author(); ?>
        </header>
        <?php the_content(); ?>
      </article>
<?php endwhile; else : ?>
      <article>
        <p>Sorry, no page was found!</p>
      </article>
<?php endif; ?>
  </section><?php get_sidebar(); ?>
</main>
<?php get_footer(); ?>

保存后,您的頁面將具有專用的布局。

style.css

此文件是您的WordPress網站的主要樣式表。它旨在控制您網站的設計和布局。將以下代碼添加到style.css文件的底部。

.my-logo,
footer {
  width: 100%;
  padding-left: 1%;
  margin-bottom: 8px;
  background-color: #78baff;
  border: 1px solid #78baff;
}

body > header > h1 > a {
  color: #ffffff;
  font-weight: 400;
}

article > header {
}

footer {
  margin-top: 4px;
}

a {
  text-decoration: none;
}

/* 'Margin: 0 auto' centers block content on the page */
.wrap {
  width: 99%;
  margin: 0 auto;
}

.content-area {
  display: inline-block;
}

.content-thin {
    width: 70%;
}

.content-full-width {
    width: 100%;
}

.content-area,
.primary-sidebar {
  display: inline-block;
}

.primary-sidebar {
  width: 25%;
  padding: 1%;
  vertical-align: top;
  background-color: #ececec;
}

.article-loop {
    width: 45%;
    text-align: left;
    margin: 5px;
    padding: 10px;
}

.article-full {
  width: 99%;
  padding: 1%;
}

.article-loop,
.article-full {
  display: inline-block;
  vertical-align: top;
  background-color: #FFF;
  border-radius: 4px;
  margin-bottom: 4px;
}

保存后,這將使各個內容框具有白色背景和藍色邊框。

您可以通過更改CSS樣式和寬度,查看您的主題如何響應各種情況。

有了必要的模板和樣式表后,您就可以輕松瀏覽文章和頁面。您新創建的WordPress主題應如下所示。

使用媒體查詢

CSS樣式表中的媒體查詢功能定義了更改視窗時指示頁面顯示的規則。您可以將其設置為任何媒體類型,例如在不同瀏覽器中打開時的div寬度。

假設您有兩個并排的文本框,它們占據了屏幕的50%。隨著瀏覽器窗口變小,這些框會自動調整以占據窗口的50%,而不是從側面消失。

如果瀏覽器視窗太小而無法正確顯示這些框中的所有文本,則可以使它們占據窗口大小的100%,并在另一個視窗上方顯示。

由于我們的基本布局在首頁上有兩個內聯框,因此當瀏覽器窗口太小而無法顯示文本時,我們可以輕松更改它們的行為方式。

因此,當瀏覽器窗口低于800px時,我們將更改文章的寬度。而不是具有兩個并排的文章,每個文章都有其自己的線。

為此,我們將使用一些媒體功能規則,例如:

  • max-width?–指示瀏覽器可見區域的最大寬度
  • min-width –確定可見區域的最小寬度
  • orientation ?–告訴屏幕是處于縱向還是橫向模式

請參閱Mozilla開發人員網絡網站上的媒體功能的完整列表。

我們將首先編寫一個影響.article-loop類的媒體查詢。它會指出,如果瀏覽器窗口的寬度小于800px,則.article-loop類應使用99%的可用空間。因此,媒體查詢應僅影響寬度為800像素或更小的屏幕和瀏覽器窗口。

.article-loop類的末尾下面,編寫以下代碼:

@media screen and (max-width: 800px) {
  .article-loop {
    width: 99%;
  }
}

保存后,轉到您網站的主頁。更改瀏覽器窗口的大小,當其寬度小于800像素時,您將看到每個文章內容框發生了改變,一個顯示在另一個的下方。

上面的類似,我們將添加的下一個媒體查詢。它告訴主要內容和側邊欄占用100%的可用空間,并且當瀏覽器窗口的寬度小于600px時,側邊欄將降至主要內容下方。對于空間有限的移動設備而言,這將是適當的布局。

語法代碼如下所示:

@media screen and (max-width: 600px) {
  .content-area,
  .primary-sidebar {
    width: 100%;
  }
}

您可以將媒體查詢放置在樣式表中的任何位置–將它們全部放在底部,或將特定的媒體查詢寫入原始定義特定項目的正下方。但是,如果它們影響位于不同位置的不同類,則建議將其放在樣式表的底部。

保存style.css文件。然后,返回首頁并調整瀏覽器窗口的大小,直到看到內容占據寬度的100%,并且側邊欄降到主要內容下方。

您更改媒體查詢的規則以適合您的需求,并查看是否可以定義更好的規則。

了解WordPress模板標簽、循環和動作掛鉤

要將主題與WordPress完全集成,必須使用模板標簽、循環和動作掛鉤

模板標簽

模板標簽是WordPress提供的PHP函數,可輕松將主題中的模板文件包含在另一個文件中或顯示數據庫中的某些信息。

假設您要在首頁上顯示頁腳,而不要在其他任何頁面上顯示,請在index.php文件底部而不是page.php文件的底部添加get_footer()

以下是一些基本的模板標記。

包含模板文件的模板標簽:

  • get_header()–調用header.php模板
  • get_sidebar()–調用sidebar.php模板
  • get_footer()?–調用footer.php模板
  • get_search_form()?–調用searchform.php模板

從數據庫獲取信息的模板標簽:

  • bloginfo()?–顯示請求作為參數的信息,例如顯示您的網站名稱的 bloginfo('name')
  • single_post_title()?–在single.php中使用時,顯示當前查看的文章的標題
  • the_author()?–顯示當前查看文章的作者
  • the_content()?–輸出文章或頁面的主要文本
  • the_excerpt()?–顯示任何文章或頁面的摘要

您還可以查看WordPress模板標簽的完整列表。

有些模板標簽必須在循環中使用。

WordPress循環

WordPress 循環是一組代碼,可檢索所有請求的文章。您在循環中編寫的HTML將用于在單個頁面上顯示循環所請求的每個文章。代碼繼續循環直到顯示完最后一篇文章。

循環是由四行代碼組成的多行簡寫if-then語句。第一行指出,如果找到了文章,請使用以下代碼顯示該文章。如果找不到匹配的文章,則可以定義替代文本。

默認的WordPress示例如下所示,注釋行是HTML和模板標簽的編寫位置:

<?php if ( have_posts() ) : while ( have_posts() ) : the_post(); ?>
// HTML and template tags here to define the layout, and what is shown from the post
<?php endwhile; else : ?>
  <p><?php _e( 'Sorry, no posts matched your criteria.' ); ?></p>
<?php endif; ?>

假設您要顯示一個文章,請在循環內使用the_content()模板標簽顯示該文章的內容。同時,如果要顯示所有已發布文章的列表,則可以在循環內使用the_excerpt(),這樣就不會顯示整個文章的內容。

動作鉤子

動作掛鉤是WordPress提供的PHP函數,通常還會附加其他函數。它具有一些WordPress核心功能,可將其他HTML代碼添加到頁面,并允許插件添加它們的功能。

在主題的頁眉模板中,調用wp_head()動作鉤子以在<head></head>標記內包含WordPress標題默認的HTML。在主題頁腳部分,將調用wp_footer()動作鉤子以包含默認的HTML和JavaScript,并運行插件附帶的所有功能。

如果在創建WordPress主題時不使用動作鉤子,則一些重要的核心代碼將丟失,并且插件將無法正常運行。

例如,在您主題的 footer.php模板 中刪除 wp_footer(),您將發現登錄后在前段頁面無法再顯示WP的頂部管理欄。顯示管理欄的WordPress核心代碼已附加到wp_footer()動作鉤子上,如果該鉤子不存在,則附加的函數將無法運行。

總結

WordPress主題允許您修改網站的外觀。如果您知道如何編碼,則可以制作適合自己需求的主題。

讓我們回顧一下為您的網站創建響應式WordPress主題的步驟:

  1. 存儲主題及其文件
  2. 創建模板文件和CSS樣式表
  3. 在開發之前自定義functions.phpsidebar.php
  4. 使用模板構建布局

確保使用Meta標記和媒體查詢來創建響應式設計。此外,將您的主題與WordPress模板標簽、循環和動作鉤子相集成,以顯示您的網站信息。

恭喜你!您剛剛已經創建了第一個自適應WordPress主題!

制作更加完善和強大的WordPress主題,需要具備更多的能力,具體可以看下我們之前的文章《成為合格的WordPress開發人員需要學習哪些知識?》。如果你真想系統學習WordPress主題開發,建議從《WordPress主題開發核心知識【視頻教程】》入手!當然,《WordPress主題開發手冊》也是必看基礎!

聲明:本站所有文章,如無特殊說明或標注,均為本站原創發布。任何個人或組織,在未征得本站同意時,禁止復制、盜用、采集、發布本站內容到任何網站、書籍等各類媒體平臺。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
歡迎關注我們的微信公眾號:WPDAXUE

倡萌

一個文科IT宅男,喜歡折騰WordPress和被它折騰 ^_^

1 條評論

發表評論