基于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
/*
后台主题管理中即可看到主题相关信息,css中主题信息内容必须用注释符号括起来

找一个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页面添加
*/
?>
<BR><?<a href="https://www.jb51.cc/tag/PHP/" target="_blank" class="keywords">PHP</a><BR>if (is_home ()) { // is_home() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为主页时返回true<BR> bloginfo ( 'name' ); // 返回<a href="https://www.jb51.cc/tag/zhandian/" target="_blank" class="keywords">站点</a><a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a><BR> echo " - ";<BR> bloginfo ( 'description' ); // 返回<a href="https://www.jb51.cc/tag/zhandian/" target="_blank" class="keywords">站点</a>副<a href="https://www.jb51.cc/tag/biaoti/" target="_blank" class="keywords">标题</a>,<a href="https://www.jb51.cc/tag/zhandian/" target="_blank" class="keywords">站点</a>描述<BR>} elseif (is_category ()) { // is_category() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为<a href="https://www.jb51.cc/tag/fenlei/" target="_blank" class="keywords">分类</a>页时返回true<BR> single_cat_title ();<BR> echo " - ";<BR> bloginfo ( 'name' );<BR>} elseif (is_single () || is_page ()) { // is_single() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为单<a href="https://www.jb51.cc/tag/wenzhangye/" target="_blank" class="keywords">文章页</a>时返回true 。 is_page() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为单<a href="https://www.jb51.cc/tag/yemian/" target="_blank" class="keywords">页面</a>时返回true<BR> single_post_title ();<BR>} elseif (is_search ()) { // is_search() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为<a href="https://www.jb51.cc/tag/sousuo/" target="_blank" class="keywords">搜索</a>页时返回true<BR> echo "<a href="https://www.jb51.cc/tag/sousuojieguo/" target="_blank" class="keywords">搜索结果</a>";<BR> echo " - ";<BR> bloginfo ( 'name' );<BR>} elseif (is_<a href="https://www.jb51.cc/tag/404/" target="_blank" class="keywords">404</a> ()) { // is_<a href="https://www.jb51.cc/tag/404/" target="_blank" class="keywords">404</a>() <a href="https://www.jb51.cc/tag/dangqianyemian/" target="_blank" class="keywords">当前页面</a>为<a href="https://www.jb51.cc/tag/404/" target="_blank" class="keywords">404</a>页时返回true<BR> echo '<a href="https://www.jb51.cc/tag/yemian/" target="_blank" class="keywords">页面</a>未找到!';<BR>} else {<BR> wp_title ( '',true );<BR>}<BR>?><BR>
PHP
/*
以上添加PHP代码运用了条件判断,针对不同的页面采用不同title
在 header.PHP 页面添加默认 style.css 文件
*/
?>

PHP
/*
bloginfo('stylesheet_url');返回的是主题默认style.css文件绝对网址路径,如
http://localhost/wordpress/wp-content/themes/myTheme/style.css
bloginfo('template_url');返回的是主题目录的绝对网址路径,可以用来模板中连接样式图片,如
http://localhost/wordpress/wp-content/themes/mytheme
添加 pingback 通告功能,在header.PHP页面 标签中里面添加代码
*/
?>

PHP
/*
添加订阅Feed链接,在header.PHP页面 标签添加
*/
?>
RSS+xml" title="RSS 2.0 - 所有文章" href="" />
RSS+xml" title="RSS 2.0 - 所有评论" href="" />
PHP
/*
添加wp_head,有些插件需要在网页头部添加一些js或css,要让这些插件能够正常的工作,也让主题有更好的兼容性,应该添加wp_head()函数
header.PHP 页面 标签添加
*/
?>

PHP
/*
显示菜单栏,这里只在菜单栏中列出分类页和page页面,可以根据喜好来列出想要的。header.PHP
*/
?>


PHP
//==================================================footer================================================================
/*
footer.PHP与header.PHP差不多,写这个文件的目的也是为了精简代码,提高代码的重用性。
主题目录中创建 footer.PHP ,在 index.PHP 或想调用该footer.PHP页面页面中使用
*/
get_footer();//功能和get_header()类似
/*
在footer.PHP页面添加 wp_footer提高兼容性
*/
wp_footer();
/*
wp_footer()和wp_head()差不多,都是用于提高主题兼容性,毕竟有很多插件要在页脚输出一些东西才能正常工作。
*/
//==================================================sidebar================================================================
/*
主题目录下新建 sidebar.PHP 页面,在 index.PHP 或想调用该sidebar.PHP页面页面添加
*/
get_sidebar();
/*
调用 sidebar.PHP 页面内容
为使wordpress后台 -> 外观 -> 小工具,可以正常地拖动小工具到侧边栏
在 sidebar.PHP 页面的列表格式应按如下举例格式
*/
?>

PHP
if (! function_exists ( 'dynamic_sidebar' ) || ! dynamic_sidebar ( 'First_sidebar' )) ://First_sidebar为widget名称,要和functions.PHP中对应的widget name相同
?>

分类目录






PHP
if (! function_exists ( 'dynamic_sidebar' ) || ! dynamic_sidebar ( 'Second_sidebar' )) :
?>

最新文章



    PHP
    $posts = get_posts ( 'numberposts=6&orderby=post_date' );
    foreach ( $posts as $post ) {
    setup_postdata ( $post );
    echo '
  • ';
    }
    $post = $posts [0];
    ?>


if (! function_exists ( 'dynamic_sidebar' ) || ! dynamic_sidebar ( 'Third_sidebar' )) :
?>

标签云




if (! function_exists ( 'dynamic_sidebar' ) || ! dynamic_sidebar ( 'Fourth_sidebar' )) :
?>

文章存档







/*
同时在主题目录下创建 functions.php 文件内容为
*/
/** widgets */
if( function_exists('register_sidebar') ) {
register_sidebar(array(
'name' => 'First_sidebar',//name就是给widget指定各自的名称,以便在sidebar.php中分别调用.所以只需要给这两个widget取两个名字就好了。
'before_widget' => '',//定义Widget内容的前后标识符的语句
'after_widget' => '',
'before_title' => '

',//定义Widget标题的前后标识符的语句
'after_title' => '

'
));
register_sidebar(array(
'name' => 'Second_sidebar',
'before_widget' => '',
'after_widget' => '',
'after_title' => ''
));
register_sidebar(array(
'name' => 'Third_sidebar',
'after_title' => ''
));
register_sidebar(array(
'name' => 'Fourth_sidebar',
'after_title' => ''
));
}
/*
这样WordPress后台 -> 外观 -> 小工具,就可以正常地拖动小工具到侧边栏了

制作index.php 文章列表
例子
*/
?>


















PHP prevIoUs_posts_link('<< 查看新文章',0); ?> >',0); ?>




没有找到任何文章




PHP
/*
have_posts(); 判断是否有下一个文章
the_post(); 改变当前文章指向到下一个文章

the_permalink(); 当前指向文章的连接地址
the_title(); 当前指向文章标题
the_tags('标签:'); 当前指向文章标签
comments_popup_link('0 条评论','评论关闭'); 显示打印当前指向文章评论链接
edit_post_link('编辑',''); 当前指向文章显示打印当前指向文章的编辑链接
the_excerpt(); 当前指向文章,只要在写文章的时候在"摘要"框内填写摘要,在首页显示的就是摘要,如果不填就输出全文!
the_content('阅读全文...'); 用于输出当前指向文章全文,除非在文章中使用了
the_permalink(); 返回当前指向文章阅读全文的连接地址
prevIoUs_posts_link('<< 查看新文章',0); 显示打印当前显示列表分页连接(每页文章数量取决于在后台设置每页可显示文章数量)
next_posts_link('查看旧文章 >>',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");
}
/*
后台小工具中即可看到自定义的小工具,添加后,前台页面即可看到自建小工具页面内容
*/
?>

原文链接:https://www.f2er.com/php/26566.html

猜你在找的PHP相关文章