30分鐘學(xué)會WordPress主題開發(fā)入門 簡單梳理WordPress主題制作

麥子 定制開發(fā)162字數(shù) 2837閱讀9分27秒閱讀模式

有很多朋友可能希望學(xué)習(xí)WordPress主題開發(fā)和仿站主題,實際上如果我們即便不會編程,就會簡單的HTML和簡單能看懂PHP代碼應(yīng)該是也可以的,基本上我們能仿站W(wǎng)ordPress主題和基本的主題開發(fā)是沒有問題的。在這篇文章中,麥子就梳理WordPress一款主題入門學(xué)習(xí)開發(fā)的記錄,直接篩選出重點邏輯和需要的標簽。

我們只需要按照這個過程就可以開發(fā)出一款沒有后端的WordPress博客主題。

創(chuàng)建主題

我們需要創(chuàng)建一個主題文件夾,舉個例子 cnwper_blog ,將文件夾放到 wp-content/themes 目錄中。我們需要將準備好的HTML靜態(tài)頁面,放到這個目錄中。然后在根目錄放一個 style.css 樣式文件。

在 style.css 文件頂部加上標識識別主題的代碼。

/*
Theme Name: Bloger
Theme URI: http://bjj.org.cn/
Author: 麥子
Author URI: http://bjj.org.cn/
Description: WordPress Blog
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: blog
Text Domain: zhujipingjia

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

這個我們就可以在WordPress主題識別到當前這個主題。具體標簽內(nèi)容我們自己修改,包括名稱、官方網(wǎng)站等信息。

然后我們就可以修改HTML頁面,可以將頁面更換成 index.php 在樣式的位置調(diào)整WP的路徑。

<?php echo get_stylesheet_directory_uri() ?>/style.css

然后我們在 title 中間調(diào)出標題的部分更換成:

<?php wp_title( '--', true, 'right' ); ?><?php bloginfo( 'name' ); ?>

同時,我們需要在 </head>前面添加:

<?php wp_head();?>

且在</body>前面添加:

<?php wp_footer(); ?>

拆分頁面

這里,我們需要進行頁面拆分,拆分出來 index.php、header.php、footer.php、sidebar.php

這里,我們直接拆分代碼將代碼丟到對應(yīng)的PHP頁面,然后在index.php拿掉的代碼位置用代碼調(diào)用補充。分別補充:

<?php get_header();?>
<?php get_footer();?>
<?php get_sidebar();?>

這樣,我們就可以將準備好的INDEX.HTML,拆分成四個頁面。頭部、中間、底部、側(cè)邊。是不是就是一個簡單的主題模板?

然后我們可以將中間的核心部分進行代碼循環(huán),就是博客列表。

<?php if ( have_posts() ) : ?>
<?php while ( have_posts() ) : the_post(); ?>
循環(huán)部分
<?php endwhile; ?>
<?php endif; ?>

循環(huán)部分一般包括:標題、摘要、時間日期、作者等信息。

標題 替換為 <?php the_title();?>;

摘要 替換為 <?php the_excerpt();?>;

作者 替換為 <?php the_author();?>;

作者標簽的 href 的值替換為 <?php the_author_link();?>;

日期 替換為 <?php the_date();?>。

具體的調(diào)用信息可以參考搜索其他的調(diào)用參數(shù)。

上一頁下一頁分頁可以用簡單的調(diào)用:

<?php next_posts_link( 'Older posts' ); ?>
<?php previous_posts_link( 'Newer posts' ); ?>

如果有需要分頁的可以再找合適的調(diào)用函數(shù)。需要定義的?;蛘呶覀冞€可以用無限翻頁。

完畢之后,我們可以再進行內(nèi)容頁面single.php,可以復(fù)制index.php,然后對摘要的部分進行修改調(diào)用:

the_content()

摘要替換成這個即可。同時 page.php 頁面也是和index.php和single.php差不多的。

調(diào)用代碼

基本的框架我們搞定后,就開始做一些調(diào)用,比如網(wǎng)站標題、描述、側(cè)邊的時間歸檔、最新文章等都可以找到對應(yīng)調(diào)用的。

比如日期歸檔:

<?php wp_get_archives( 'type=monthly' ); ?>

評論信息:

<?php
if ( comments_open() || get_comments_number() ) :
comments_template();
endif;
?>

在single.php中合適的位置添加評論調(diào)用。且需要再創(chuàng)建一個處理評論的頁面:comments.php

<?php
// part 1
if ( post_password_required() ) {
return;
} ?>
<div id="comments" class="comments-area">
<?php
// part 2
if ( have_comments() ) : ?>
<h3 class="comments-title">
<?php
// part 3
printf( _n( '“%2$s” 有一條評論', '“%2$s” 有 %1$s 條評論', get_comments_number(), 'comments title'),
get_comments_number() , get_the_title() );
?>
</h3>
<ul class="comment-list">
<?php
// part 4
wp_list_comments( array(
'short_ping' => true,
'avatar_size' => 50,
) );
?>
</ul>
<?php endif; ?>
<?php
// part 5
if ( ! comments_open() && get_comments_number() && post_type_supports( get_post_type(), 'comments' ) ) : ?>
<p class="no-comments">
<?php _e( '評論已關(guān)閉.' ); ?>
</p>
<?php endif; ?>
<?php comment_form(); ?>
</div>

對于樣式部分我們自己單獨調(diào)整,我們這里只是整理主題開發(fā)的基本邏輯。

主題功能

我們還可以單獨給主題設(shè)置功能,我們主題目錄創(chuàng)建一個 functions.php 然后可以加入一些定義的功能。

這樣,這個WordPress主題開發(fā)邏輯已經(jīng)整理出來,我們只需要對應(yīng)的修改調(diào)用標簽和樣式就可以做一個簡單的博客主題。如果我們要復(fù)雜的主題也是在基礎(chǔ)上進行完善的。比如有優(yōu)先級的頁面模板、后端管理框架。

投上你的一票
 
  • 本文由 麥子 發(fā)表于 2024年10月31日 11:48:43
  • 轉(zhuǎn)載請務(wù)必保留本文鏈接:http://bjj.org.cn/wptheme-devbegin.html