在上一章中,我们为author.php这个WordPress主题用户中心页面调用了后台的数据:积分、关注数、粉丝数、文章数、文章总浏览量以及用户发表的文章列表等。本章,我们再来实现author_write.php的写博客功能。一般wordpress默认是在后台写文章的,而我们的WordPress主题用户中心需要前台用户可以在前台写博客文章。下面,一起来看看如何实现。
第一步:修改author.php文件:
给author.php文件添加如下代码来获取当前作者的信息:
<?php
global $wp_query;
$curauth = $wp_query->get_queried_object(); //获取作者信息$uid = $curauth->ID;
?>
第二步:创建author_post_list.php文件:
这个文件是作者发表的文章列表。把原main.php文件中的代码剪切到author_post_list.php文件中。
第三步:修改main.php文件:
给main.php文件添加一个判断,如果act=list时,右侧主体显示文章列表;如果act=author_write时,右侧主体显示 写博客 页面。把main.php文件必成如下:
这样,在我们点击左边栏上的“文章”链接时,右侧主体会显示作者发表的文章列表;而点击“写博客”按钮时,就会在右侧显示“发表文章”页面。
第四步:添加author_write.php文件静态代码:
本章只给author_write.php文件添加静态代码,因为实现这个页面的所有功能,需要比较麻烦的,所以,我们分2步来实现这个页面,在下一章我们再来实现这个页面的所有功能。前台发表文章,我们一般只需要以下几个字段:文章标题、文章分类目录、文章标签、文章内容,所以我们制作author_write.php页面时,只需要针对这几个字段添加表单元素即可。代码如下:
发表文章
给这些代码元素添加CSS样式:
/*用户写博客*/
.authors h1{ width:100%; font-size:0.2rem; margin-bottom: 0.3rem; padding-bottom: 0.1rem; border-bottom:1px dashed #ccc; }
.authors h1 a{ float:right; font-size:0.16rem; color:#FF7256; }
.authors form{ width:100%; float:left; font-size:0.16rem; margin-bottom:0.3rem; }
.authors form label{ width:1rem; display:inline-block; }
.authors form span{ color:red; }
.authors form .write_title,.authors form .write_cat,.authors form .write_con{ width:100%; float:left; margin-bottom:0.2rem; }
.authors form .write_title input{ width:80%; line-height: 0.3rem; }
.authors form .write_cat select{ width:40%; height: 0.3rem; line-height: 0.3rem; }
.authors form .write_con textarea{ width:80%; height: 3rem; line-height: 0.3rem; vertical-align:top; }
.authors form .write_submit{ margin-left:1.1rem; float:left; }
.authors form .write_submit input{ width:1.5rem;height: 0.4rem; line-height: 0.4rem; text-align:center; font-size:0.2rem; }
#wp-myeditor-wrap{ margin-top:0.15rem; }
.authors form .write_tags{ width:100%; float:left; margin-bottom:0.2rem; }
.authors form .write_tags input{ width:50%; }
.authors form .write_tags em{ font-size:0.13rem; }
这样,我们就把author_write.php写博客文章页面的静态代码就写好了。实现的效果如下图:
在下一章中,我们再为这个页面添加提交功能。