搜尋
首頁後端開發php教程wordpress主题制作的实现步骤

wordpress主题制作的实现步骤

Mar 21, 2017 am 10:16 AM
wordpress

本篇文章是对wordpress主题制作的具体实现步骤进行了详细的分析介绍。需要的朋友参考下

代码如下:

<?php
/*在根目录 -> wp-content -> themes 下创建mytheme文件夹用来存放创建新主题模板
在mytheme目录下创建 index.php ,style.css 两个文件,在wp后台 外观->主题 中就可以看到刚创建的主题
打开style.css文件输入*/?>/*Theme Name: 这里填主题名称Theme URI: 这里填主题介绍的网址,没有就填你的博客网址吧Description:这里填主题的简短介绍Author: 作者名Author URI: 作者的网址Version: 版本号Tags: 标签,多个用半角逗号隔开*/<?php
/*

找一个300*225的png图片,命名为 screenshot.png 放在主题目录下(mytheme文件夹中),在主题管理页中即可看到新建主题的预览图片

//==================================================header================================================================
可以把网站相同头内容放在一个头文件中,在主题目录下新建 header.php 文件向其中输入输入 统一的头部内容
在 index.php 或想调用该header.php页面的页面中 输入

*/
get_header(); //get_header()就相当于将header.php中的代码拷贝到当前的php文件
/*

在主题管理页面,该主题实时预览中,默认打开的 index.php 页面中即可引入 header.php 页面的内容
header.php 将会被所有的模板页面(主页、分类页、页面、标签页等)所包含,所以 header.php 中代码应该是动态的。
不同页面的title都是不一样,而且title的设置还会直接影响到SEO的效果,所以这里应该谨慎设置。下面提供一种SEO优化的title写法,
在header.php页面添加

*/
?>
<title>
<?php
if (is_home ()) { // is_home() 当前页面为主页时返回true
    bloginfo ( &#39;name&#39; ); // 返回站点标题
    echo " - ";
    bloginfo ( &#39;description&#39; ); // 返回站点副标题,站点描述
} elseif (is_category ()) { // is_category() 当前页面为分类页时返回true
    single_cat_title ();
    echo " - ";
    bloginfo ( &#39;name&#39; );
} elseif (is_single () || is_page ()) { // is_single() 当前页面为单文章页时返回true 。 is_page() 当前页面为单页面时返回true
    single_post_title ();
} elseif (is_search ()) { // is_search() 当前页面为搜索页时返回true
    echo "搜索结果";
    echo " - ";
    bloginfo ( &#39;name&#39; );
} elseif (is_404 ()) { // is_404() 当前页面为404页时返回true
    echo &#39;页面未找到!&#39;;
} else {
    wp_title ( &#39;&#39;, true );
}
?>
</title>
<?php
/*
 以上添加的php代码运用了条件判断,针对不同的页面采用不同title

在 header.php 页面中添加默认 style.css 文件
*/
?>
922b56114ab18ffca01e97026512a082" type="text/css" media="screen" />
bd285334be9913cc2ffa0b302132909f 标签中里面添加代码:
*/
?>
f542956a70e9b742c4c915b36c72fa8b" />
0190d2df2542cfc0df0aadfea772f146 标签中添加:
*/
?>
b28c19fdaf5a0302ae3a02f885424fee" />
c08837d14db39987ca69e57251c43459" />
4403467c9215f96b71f5d6e5809858f7 标签中添加
*/
?>

9023d122f494d185a5bc89a17d48d9b9

0b9982fb2622b851127dacce460f1eb9
3daa928ca4a971dde714bef8499a87bb
    784867d73ec298b1daa21dccc6c6c012
    128398dab1bc3ce40bfcd7b9fc84694d
929d1f5ca49e04fdcb27f9465b944689
63612165acf40f79975c49742e91e295 外观 -> 小工具,可以正常地拖动小工具到侧边栏
在 sidebar.php 页面的列表格式应按如下举例格式
*/
?>
e388a4556c0f65e1904146cc1a846bee
    622e109396e73dd3c6a980fbc7e05bd0
    3f7b3decd2dcafb07b84d2d3985d9f40分类目录0f6dfd1e3624ce5465eb402e300e01ae
    ff6d136ddc5fdfeffaf53ff6ee95f185
    e1870038b15c72dcd29d42bf8495ed46
    929d1f5ca49e04fdcb27f9465b944689
    4172bdfc6e8dc1b1be839b7983ed4f73


    ef36cfdd8454510582737185283953e1
    3f7b3decd2dcafb07b84d2d3985d9f40最新文章0f6dfd1e3624ce5465eb402e300e01ae
    ff6d136ddc5fdfeffaf53ff6ee95f185
    8c67287bf4b143e18c8e2fcad58481cb0c82002733d22a2fbb0238af7448b712' . get_the_title () . '5db79b134e9f6b82c0b36e0489ee08edbed06894275b65c1ab86501b08a632eb';
    }
    $post = $posts [0];
    ?>
    929d1f5ca49e04fdcb27f9465b944689
    4172bdfc6e8dc1b1be839b7983ed4f73


    e73ccd7f9894b4fff652a1867a87c652
    3f7b3decd2dcafb07b84d2d3985d9f40标签云0f6dfd1e3624ce5465eb402e300e01ae
    e388a4556c0f65e1904146cc1a846beeacb584d453223e97a78b1bee4d5687d594b3e26ee717c64999d7867364b1b4a3
    4172bdfc6e8dc1b1be839b7983ed4f73


    ce6a6762c5d39e3894726b8dab7dba67
    3f7b3decd2dcafb07b84d2d3985d9f40文章存档0f6dfd1e3624ce5465eb402e300e01ae
    ff6d136ddc5fdfeffaf53ff6ee95f185
    7670c70203cfc6c81a2c6a45721b4eb1
    929d1f5ca49e04fdcb27f9465b944689
    4172bdfc6e8dc1b1be839b7983ed4f73
94b3e26ee717c64999d7867364b1b4a3
3f7763ede61b919997788c28d6043bcf 'First_sidebar', //name就是给widget指定各自的名称,以便在sidebar.php中分别调用.所以只需要给这两个widget取两个名字就好了。
        'before_widget' => '', //定义Widget内容的前后标识符的语句
        'after_widget' => '',
        'before_title' => '3f7b3decd2dcafb07b84d2d3985d9f40', //定义Widget标题的前后标识符的语句
        'after_title' => '0f6dfd1e3624ce5465eb402e300e01ae'
    ));
    register_sidebar(array(
        'name' => 'Second_sidebar',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '3f7b3decd2dcafb07b84d2d3985d9f40',
        'after_title' => '0f6dfd1e3624ce5465eb402e300e01ae'
    ));
    register_sidebar(array(
        'name' => 'Third_sidebar',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '3f7b3decd2dcafb07b84d2d3985d9f40',
        'after_title' => '0f6dfd1e3624ce5465eb402e300e01ae'
    ));
    register_sidebar(array(
        'name' => 'Fourth_sidebar',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '3f7b3decd2dcafb07b84d2d3985d9f40',
        'after_title' => '0f6dfd1e3624ce5465eb402e300e01ae'
    ));
}
/*
这样WordPress后台 -> 外观 -> 小工具,就可以正常地拖动小工具到侧边栏了

制作index.php 文章列表
例子
*/
?>
baf17387621fb9e5342b8ba8474966ce
    d699a3398de91626f8da48ef90fa2610
    39d8d5ac65800684fcbe4fac9edff463
    c02ad29a0a11a8cafd357d70b9d76f21
        17fc168fe0a73a33e9c076d9a5b60ba0
        a7f9d5a135a88b87b2273995e36f412af68fa69ea29fdd12d26044ed8d2a27fd" rel="bookmark">2dc51b38c99501b394e46960b18668425db79b134e9f6b82c0b36e0489ee08ed39528cedfa926ea0c01e69ef5b2ea9b0
        106e82a4b3e04e4166379602ef693331
        d9d66c762351faf5b8c1f30ac57d4a1f79e982401a9b4ddbc06899134902f1c1 • d56a4d5f30c95b30c2d01b69c3fe8cc1 • 4dbc0b8ea3aecd58b08225d3e9b4c055ae909d09476fd6f6edd49be316207e0d94b3e26ee717c64999d7867364b1b4a3
        4fa82e3947d7c33272f802f2195e293c 94b3e26ee717c64999d7867364b1b4a3
        83546338babf1f26a8faf5cb872c031a
        a4f6b9a0ddf4c5ad959647795758e3b1/images/610x150.gif" />
        50fe872d71b4a2762f68054588be4962
        d2896640dbb4a7196411a6092be75956
        3676a43126a1d5cad257889d1d3385db
        62f9d1bef54b1e420eb2b5ef823f700d
        9c530113a7edc1c2a0f2be4233baad25f68fa69ea29fdd12d26044ed8d2a27fd" class="button right">阅读全文5db79b134e9f6b82c0b36e0489ee08ed94b3e26ee717c64999d7867364b1b4a3
    94b3e26ee717c64999d7867364b1b4a3
    388d665253cc19672ae131da90ed6f4e 94b3e26ee717c64999d7867364b1b4a3
    14c48f4d807dd2af600db7ec6469a4b2

    a76b892e2a579588c0d028dc1be8f5da
    9c530113a7edc1c2a0f2be4233baad25279058718fda6f01bc3d8e4c933198b7 6261bb340aa79a6cfe79a769993540c6e52629cf2c99fba8c4d17f3b646e1c01>', 0); ?>54bdf357c58b8a65c66d7c19c8e4d11494b3e26ee717c64999d7867364b1b4a3
    39fe0bd2c634490489104230ba039501
    a7f9d5a135a88b87b2273995e36f412a738c2738bea262b9c60b67c4f272b88e未找到5db79b134e9f6b82c0b36e0489ee08ed39528cedfa926ea0c01e69ef5b2ea9b0
    e388a4556c0f65e1904146cc1a846bee没有找到任何文章!94b3e26ee717c64999d7867364b1b4a3
    4172bdfc6e8dc1b1be839b7983ed4f73
94b3e26ee717c64999d7867364b1b4a3
1cd8e300e453d49721e487402c62e3aa
the_permalink();              返回当前指向文章阅读全文的连接地址
previous_posts_link('7fc9036a6f54a9451a06c3a3d9c0c97c>', 0);      显示打印当前显示列表分页连接
the_time('Y年n月j日');显示日期如 1999年5月1日

另外,还有个存档页面的模板archive.php,跟index.php的制作过程完全一样,只不过需要在functions.php里添加一个函数

单文章页single.php,可以根据index.php页往这里添加自己想要显示的内容

page.php 也就是页面,博客上的所有网页都是页面,这里指的页面一个单独的页面,如"关于"、"联系方式"等,可以在WordPress后台 – 页面,进行页面的添加修改等。
可根据之前函数添加本页内容
*/
while (have_posts()) :
    the_post(); update_post_caches($posts);
endwhile;
/*
update_post_caches($posts);  该函数重置文章缓存且未被记录。仅在页面的第一次循环检索到文章子集时,第二次循环可执行基本循环。

常用函数
get_avatar($comment, 48);       获取评论者的gravatar头像,尺寸为48 * 48
comment_reply_link()                 回复留言的链接
get_comment_time('Y-m-d H:i');       获取评论发布时间
edit_comment_link('修改');           管理员修改评论的链接
comment_text()                       输出评论内容

is_user_logged_in()                  判断用户是否登录
wp_login_url( get_permalink() );     博客登录地址
get_comment_author_link()            用于获取评论者博客地址
$comment_author                      读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写用户名
$comment_author_email                读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写Email
$comment_author_url                  读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写博客地址
do_action(‘comment_form', $post->ID) 该函数为某些插件预留
wp_logout_url(get_permalink())       退出登录的链接
*/

/*
创建模板文件
*/


/*
 Template Name: 自建模板
*/

/*
 模板文件中添加如上注释代码,模板文件名任意,在新建页面时模板选择即可显示 自建模板 来使用此模板
可添加想要的模板样式及页面内容,新建页面时只填标题不写内容,相当创建一个页面链接地址,新建页面存在 数据前缀_posts 表中
获取到页面地址后,在写地址时可在后添加参数,则转到该页时可通过$_GET,$_POST接收
可以单独建一个表存储地址,及所属页面类型,及各页面子父级关系,在插件中进行控制


wordpress固定链接
如果修改wordpress固定链接不好用,在apache配置文件 httpd.conf 中打开选项
#LoadModule rewrite_module modules/mod_rewrite.so
把前面 # 去掉,并把所有 AllowOverride None 改成 AllowOverride all
如果不是Apache服务器,而是用的IIS调试的话,那就得去安装一个“ISAPI_Rewrite3_0069_Lite.msi”筛选器,然后在站点设置里面将PHP置为优先级。

创建小工具
在主题目录下新建自定义文件 mytool.php 文件名任意,内容任意
然后在 functions.php 中添加如下代码
*/
register_sidebar_widget ( "我的小工具", "mytool_fun" ); // "我的小工具"为后台显示小工具名称,mytool_fun为引入自建小工具页面内容的方法名
function mytool_fun() {
    include (TEMPLATEPATH . "/mytool.php");
}
/*
在后台小工具中即可看到自定义的小工具,添加后,前台页面即可看到自建小工具页面的内容
*/
?>

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
使用PHP發送電子郵件的最佳方法是什麼?使用PHP發送電子郵件的最佳方法是什麼?May 08, 2025 am 12:21 AM

ThebestapproachforsendingemailsinPHPisusingthePHPMailerlibraryduetoitsreliability,featurerichness,andeaseofuse.PHPMailersupportsSMTP,providesdetailederrorhandling,allowssendingHTMLandplaintextemails,supportsattachments,andenhancessecurity.Foroptimalu

PHP中依賴注入的最佳實踐PHP中依賴注入的最佳實踐May 08, 2025 am 12:21 AM

使用依賴注入(DI)的原因是它促進了代碼的松耦合、可測試性和可維護性。 1)使用構造函數注入依賴,2)避免使用服務定位器,3)利用依賴注入容器管理依賴,4)通過注入依賴提高測試性,5)避免過度注入依賴,6)考慮DI對性能的影響。

PHP性能調整技巧和技巧PHP性能調整技巧和技巧May 08, 2025 am 12:20 AM

phpperformancetuningiscialbecapeitenhancesspeedandeffice,whatevitalforwebapplications.1)cachingwithapcureduccureducesdatabaseloadprovesrovessetimes.2)優化

PHP電子郵件安全性:發送電子郵件的最佳實踐PHP電子郵件安全性:發送電子郵件的最佳實踐May 08, 2025 am 12:16 AM

ThebestpracticesforsendingemailssecurelyinPHPinclude:1)UsingsecureconfigurationswithSMTPandSTARTTLSencryption,2)Validatingandsanitizinginputstopreventinjectionattacks,3)EncryptingsensitivedatawithinemailsusingOpenSSL,4)Properlyhandlingemailheaderstoa

您如何優化PHP應用程序的性能?您如何優化PHP應用程序的性能?May 08, 2025 am 12:08 AM

TOOPTIMIZEPHPAPPLICITIONSFORPERSTORANCE,USECACHING,數據庫imization,opcodecaching和SererverConfiguration.1)InlumentCachingWithApcutCutoredSatfetchTimes.2)優化的atabasesbasesebasesebasesbasesbasesbaysbysbyIndexing,BeallancingAndWriteExing

PHP中的依賴注入是什麼?PHP中的依賴注入是什麼?May 07, 2025 pm 03:09 PM

依賴性注射inphpisadesignpatternthatenhancesFlexibility,可檢驗性和ManiaginabilybyByByByByByExternalDependencEctenceScoupling.itallowsforloosecoupling,EasiererTestingThroughMocking,andModularDesign,andModularDesign,butquirscarecarefulscarefullsstructoringDovairing voavoidOverOver-Inje

最佳PHP性能優化技術最佳PHP性能優化技術May 07, 2025 pm 03:05 PM

PHP性能優化可以通過以下步驟實現:1)在腳本頂部使用require_once或include_once減少文件加載次數;2)使用預處理語句和批處理減少數據庫查詢次數;3)配置OPcache進行opcode緩存;4)啟用並配置PHP-FPM優化進程管理;5)使用CDN分發靜態資源;6)使用Xdebug或Blackfire進行代碼性能分析;7)選擇高效的數據結構如數組;8)編寫模塊化代碼以優化執行。

PHP性能優化:使用OpCode緩存PHP性能優化:使用OpCode緩存May 07, 2025 pm 02:49 PM

opcodecachingsimplovesphperforvesphpermance bycachingCompiledCode,reducingServerLoadAndResponSetimes.1)itstorescompiledphpcodeinmemory,bypassingparsingparsingparsingandcompiling.2)useopcachebachebachebachebachebachebachebysettingparametersinphametersinphp.ini,likeememeryconmorysmorysmeryplement.33)

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

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

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

SublimeText3 Mac版

SublimeText3 Mac版

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

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。