首页 >后端开发 >php教程 >wordpress主题制作的实现步骤

wordpress主题制作的实现步骤

PHP中文网
PHP中文网原创
2017-03-21 10:16:041264浏览

本篇文章是对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