Home >Backend Development >PHP Tutorial >wordpress主题制作的实现步骤

wordpress主题制作的实现步骤

PHP中文网
PHP中文网Original
2017-03-21 10:16:041259browse

本篇文章是对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");
}
/*
在后台小工具中即可看到自定义的小工具,添加后,前台页面即可看到自建小工具页面的内容
*/
?>

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn