基于wordpress主题制作的具体实现步骤,开发者应该留意的WordPress2
分类:多线程

dynamic_sidebar()函数用来支持自定义sidebar侧边栏,可以自定义Widget插件,比如为侧边栏添加最近文章,文章归档,最新评论,标签云,搜索框,类别,链接表等。
那么如何使用呢?
在主题的functions.php文件的尖括号内添加形如下面的语句:

复制代码 代码如下:
/*
在根目录 -> wp-content -> themes 下创建mytheme文件夹用来存放创建新主题模板

1.文章缩略图(Post Thumbnails)

图片 1
WordPress 2.9 一个比较重头的新功能就是提供了不需要自定义字段的文章缩略图功能,这将对使用者提供很大的便利,但由于一些兼容性的限制,你必须对主题的function.php文件进行修改才能使用这个功能。
在主题的function.php里添加如下代码,你就能使用WordPress的文章缩略图功能。

复制代码代码如下:
if ( function_exists( 'add_theme_support' ) ) { //检查WP版本是否为2.9或以上版本
add_theme_support('post-thumbnails'); //如果WP版本符合最低要求则添加文章缩略图
}

然后在文章列表调用里添加一下代码,用来显示文章缩略图。

复制代码代码如下:
if ( (function_exists('has_post_thumbnail')) && (has_post_thumbnail()) ) {
echo '' . the_post_thumbnail() . '%20.%20')';
}
/*如果支持文章缩略图,并且该文章存在缩略图,则显示缩略图,否则显示默认图片*/

使文章缩略图显示美观的重点是 the_post_thumbnail() 函数的定义,以下代码提供一个简单的说明。

复制代码代码如下:
the_post_thumbnail(); //采用默认参数,请参考wp-includes/post-image-template.php文件
the_post_thumbnail('thumbnail'); //小尺寸缩略图
the_post_thumbnail('medium'); //中等缩略图
the_post_thumbnail('large'); //大缩略图
the_post_thumbnail('medium', array('class' => 'alignleft', 'alt' => 'alttext'));
//采用中等缩略图
//设定图片分辨率为100x100像素,并加上class="alignleft"和描述
the_post_thumbnail(array(100,100), array('class' => 'alignleft', 'alt' => 'alttext'));

关于文章缩略图的配置还有一些技巧,请继续留意本博客更新。

复制代码代码如下:
register_sidebar(array(
‘name’ => ‘Sidebar’,
‘before_widget’ => ‘’,
‘after_widget’ => ‘<>’,
‘before_title’ => ‘

在mytheme目录下创建 index.php ,style.css 两个文件,在wp后台 外观->主题 中就可以看到刚创建的主题

2.侧边栏描述(Sidebar Descriptions)

图片 2
Widget的支持是WordPress一个成功的尝试,它使用户能灵活地定制侧边栏显示的内容,并为插件的调用提供了很大的便利。但一些主题支持自定义多个侧边栏,这就给Widget的正确安装带来困难。侧边栏描述更能的出现就像给支持Widget的区域加上了书签,用户一眼就可以知道所安装的Widget将出现在什么地方。
添加侧边栏描述的方法是在主题的function.php文件里添加如下代码。

复制代码代码如下:
function register_theme_widget_areas() { //定义可以安装Widget的区域
register_sidebar( array( //定义区域参数
'name' => 'Primary', //侧边栏名称
'id' => 'primary', //侧边栏id
'description' => 'The primary widget area is used as top right sidebar.', //侧边栏描述
'before_widget' => '

',
'after_widget' => '

',
'before_title' => '

’, ‘after_title’ => ‘


));

它的意思是:注册一个名为Sidebar的侧边栏,显示在”widget-sidebar”的标签内,标题的样式为h3。调用方法为:

复制代码代码如下:

打开style.css文件输入
*/
?>
/*
Theme Name: 这里填主题名称
Theme URI: 这里填主题介绍的网址,没有就填你的博客网址吧
Description:这里填主题的简短介绍
Author: 作者名
Author URI: 作者的网址
Version: 版本号
Tags: 标签,多个用半角逗号隔开
*/
/*
在后台主题管理中即可看到主题相关信息,css中主题信息内容必须用注释符号括起来

', 'after_title' => '

'
/*以上四行都是定义Widget的样式,基本上和旧版本保持一致*/
) );
}

添加侧边栏描述只需要几秒钟,但将为你的主题用户带来很大的方便。

标题

  • 文章标题
  • 文章标题
  • 文章标题
  • 文章标题
  • 文章标题
  • 文章标题
  • 文章标题

<>

这样在后台小工具里面就可以设置sidebar自定义侧边栏了,增加或移除widget插件内容。假如你没有设置,那么显示你自己编辑的内容,设置了就会覆盖掉你自己编辑的内容。

找一个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页面添加
*/
?>

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 );
}
?>

/*
 以上添加的php代码运用了条件判断,针对不同的页面采用不同title
在 header.php 页面中添加默认 style.css 文件
*/
?>

/*
bloginfo('stylesheet_url');返回的是主题默认style.css文件绝对网址路径,如

bloginfo('template_url');返回的是主题目录的绝对网址路径,可以用来模板中连接样式图片,如

添加 pingback 通告功能,在header.php页面 标签中里面添加代码:
*/
?>

/*
添加订阅feed链接,在header.php页面 标签中添加:
*/
?>

/*
添加wp_head,有些插件需要在网页头部添加一些js或css,要让这些插件能够正常的工作,也让主题有更好的兼容性,应该添加wp_head()函数
header.php 页面 标签中添加
*/
?>

/*
显示菜单栏,这里只在菜单栏中列出分类页和page页面,可以根据喜好来列出想要的。header.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 页面的列表格式应按如下举例格式
*/
?>

   

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

分类目录

   

   

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

最新文章

   

  • ' . get_the_title () . '%20.%20')

   

        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' => '',
        'before_title' => '

',         'after_title' => '

'
    ));
    register_sidebar(array(
        'name' => 'Third_sidebar',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '

',         'after_title' => '

'
    ));
    register_sidebar(array(
        'name' => 'Fourth_sidebar',
        'before_widget' => '',
        'after_widget' => '',
        'before_title' => '

',         'after_title' => '

'
    ));
}
/*
这样WordPress后台 -> 外观 -> 小工具,就可以正常地拖动小工具到侧边栏了

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

                           

;%20?%3E)

               

• •

         <>
       
        图片 3;%20?%3E/images/610x150.gif)                

       

               

阅读全文;%20?%3E)

    <>
     <>    

       

>', 0); ?>

   

   

未找到

   

没有找到任何文章!

   

<>

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

the_permalink();    当前指向文章的连接地址
the_title();        当前指向文章的标题
the_tags('标签:');  当前指向文章的标签
comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭');    显示打印当前指向文章的评论链接
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");
}
/*
在后台小工具中即可看到自定义的小工具,添加后,前台页面即可看到自建小工具页面的内容
*/
?>

本文由10bet手机官网发布于多线程,转载请注明出处:基于wordpress主题制作的具体实现步骤,开发者应该留意的WordPress2

上一篇:WordPress文章底部去除与添加版权信息的方法,文章内容被复制后自动添加文章链接代码 下一篇:没有了
猜你喜欢
热门排行
精彩图文