ホームページ >バックエンド開発 >PHPチュートリアル >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 ( 'name' ); // 返回站点标题 echo " - "; bloginfo ( 'description' ); // 返回站点副标题,站点描述 } elseif (is_category ()) { // is_category() 当前页面为分类页时返回true single_cat_title (); echo " - "; bloginfo ( 'name' ); } elseif (is_single () || is_page ()) { // is_single() 当前页面为单文章页时返回true 。 is_page() 当前页面为单页面时返回true single_post_title (); } elseif (is_search ()) { // is_search() 当前页面为搜索页时返回true echo "搜索结果"; echo " - "; bloginfo ( 'name' ); } elseif (is_404 ()) { // is_404() 当前页面为404页时返回true echo '页面未找到!'; } else { wp_title ( '', 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");
}
/*
在后台小工具中即可看到自定义的小工具,添加后,前台页面即可看到自建小工具页面的内容
*/
?>