wordpress主题开发文档.docx

上传人:b****2 文档编号:17339119 上传时间:2023-07-24 格式:DOCX 页数:29 大小:29.73KB
下载 相关 举报
wordpress主题开发文档.docx_第1页
第1页 / 共29页
wordpress主题开发文档.docx_第2页
第2页 / 共29页
wordpress主题开发文档.docx_第3页
第3页 / 共29页
wordpress主题开发文档.docx_第4页
第4页 / 共29页
wordpress主题开发文档.docx_第5页
第5页 / 共29页
wordpress主题开发文档.docx_第6页
第6页 / 共29页
wordpress主题开发文档.docx_第7页
第7页 / 共29页
wordpress主题开发文档.docx_第8页
第8页 / 共29页
wordpress主题开发文档.docx_第9页
第9页 / 共29页
wordpress主题开发文档.docx_第10页
第10页 / 共29页
wordpress主题开发文档.docx_第11页
第11页 / 共29页
wordpress主题开发文档.docx_第12页
第12页 / 共29页
wordpress主题开发文档.docx_第13页
第13页 / 共29页
wordpress主题开发文档.docx_第14页
第14页 / 共29页
wordpress主题开发文档.docx_第15页
第15页 / 共29页
wordpress主题开发文档.docx_第16页
第16页 / 共29页
wordpress主题开发文档.docx_第17页
第17页 / 共29页
wordpress主题开发文档.docx_第18页
第18页 / 共29页
wordpress主题开发文档.docx_第19页
第19页 / 共29页
wordpress主题开发文档.docx_第20页
第20页 / 共29页
亲,该文档总共29页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

wordpress主题开发文档.docx

《wordpress主题开发文档.docx》由会员分享,可在线阅读,更多相关《wordpress主题开发文档.docx(29页珍藏版)》请在冰点文库上搜索。

wordpress主题开发文档.docx

wordpress主题开发文档

个人主题的开发记录。

主要介绍函数的使用。

创建主题

在wp-content下面的themes文件夹中创建自己主题的文件夹。

我的文件夹名称是zingson。

在文件下面创建文件与文件,一个主题中,这两个文件是必须的,其它的一些文件后面再加。

这两个文件建好之后,去后台就可以看到自己添加的主题,启用主题,打开首页能看到你的内容了。

文件说明

文件中必须含有主题的注释头信息。

以下是默认主题的文件:

/*

ThemeName:

TwentyTwelve

ThemeURI:

themes/twentytwelve

Author:

theWordPressteam

AuthorURI:

Description:

The2012themeforWordPressisafullyresponsivethemethatlooksgreatonanydevice.Featuresincludeafrontpagetemplatewithitsownwidgets,anoptionaldisplayfont,stylingforpostformatsonbothindexandsingleviews,andanoptionalno-sidebarpagetemplate.Makeityourswithacustommenu,headerimage,andbackground.

Version:

License:

GNUGeneralPublicLicensev2orlater

LicenseURI:

light,gray,white,one-column,two-columns,right-sidebar,flexible-width,custom-background,custom-header,custom-menu,editor-style,featured-images,flexible-header,full-width-template,microformats,post-formats,rtl-language-support,sticky-post,theme-options,translation-ready

TextDomain:

twentytwelve

Thistheme,likeWordPress,islicensedundertheGPL.

Useittomakesomethingcool,havefun,andsharewhatyou'velearnedwithothers.

*/

上面内容是从默认主题复制过来的,大概可以看出什么意思了。

注释说明:

ThemeName:

这里填主题名称 

ThemeURI:

这里填主题介绍的网址,没有就填你的博客网址吧 

Description:

这里填主题的简短介绍 

Version:

版本号 

Author:

作者名 

AuthorURI:

作者的网址 

Tags:

标签,多个用半角逗号隔开 

WordPress主题模板文件的列表。

用户的主题中也可能带有其它样式表单、图片或文件,不过下面这些文件在WordPress中都有着特殊意义。

 

  :

主样式表单。

主题中必须包含文件,而文件中必须含有主题的注释头信息。

 

  :

主模板。

如果用户使用的主题有自己的模板,必须具备文件。

Wordpress的实用函数

工具函数

bloginfo()

这个函数定义在wp-includes/文件。

函数源代码

*

*@paramstring$showWhattodisplay.

*/

functionbloginfo($show=''){

echoget_bloginfo($show,'display');

}

看到这里使用的是get_bloginfo()两个参数,这里就不进一步追进了。

使用方法如下:

phpbloginfo($show);?

>

变量$show是要显示的参数,包括以下字段属性:

name=站点名称

description=站点描述

admin_email=管理员邮箱

url=站点地址[usehome_url('/')instead]

wpurl=[usesite_url('/')instead]

stylesheet_directory=主题样式文件夹

stylesheet_url=主题样式路径

template_directory=主题文件夹

template_url=主题路径

atom_url========UTF-8

html_type=text/html

language=语言

text_direction=ltr

version=版本

phpbloginfo($show);?

>函数是把内容输出,表现在页面上,它的作用就像ehco;

如果想要赋值调用的话,我们需要使用Wordpress给我们提供的另一个函数get_bloginfo(),

例如:

php$bloginfo=get_bloginfo($show);?

>

网站优化:

如果已经有了固定的域名,有了成型的网站,设计的主题是私有主题(即设置之初就没有打算共享),基于以上几个条件,bloginfo函数用处似乎不大。

使用实例:

下面代码在中。

<?</p><p>phpbloginfo('name');?</p><p>>

主题首页

bloginfo获取站点名称:

phpbloginfo('name');?

>

bloginfo获取站点描述:

phpbloginfo('description');?

>


----------------------------------------------

get_bloginfo()

这个函数上面见过了。

下面贴源代码出来:

(代码看不下去可以看后面的解释)

这个函数定义在wp-includes/文件。

functionget_bloginfo($show='',$filter='raw'){

switch($show){

case'home':

),$show).''.sprintf(__('Usethe%soptioninstead.'),'url'));

case'url':

$output=home_url();

break;

case'wpurl':

$output=site_url();

break;

case'description':

$output=get_option('blogdescription');

break;

case'rdf_url':

$output=get_feed_link('rdf');

break;

case'rss_url':

$output=get_feed_link('rss');

break;

case'rss2_url':

$output=get_feed_link('rss2');

break;

case'atom_url':

$output=get_feed_link('atom');

break;

case'comments_atom_url':

$output=get_feed_link('comments_atom');

break;

case'comments_rss2_url':

$output=get_feed_link('comments_rss2');

break;

case'pingback_url':

$output=site_url('');

break;

case'stylesheet_url':

$output=get_stylesheet_uri();

break;

case'stylesheet_directory':

$output=get_stylesheet_directory_uri();

break;

case'template_directory':

case'template_url':

$output=get_template_directory_uri();

break;

case'admin_email':

$output=get_option('admin_email');

break;

case'charset':

$output=get_option('blog_charset');

if(''==$output)$output='UTF-8';

break;

case'html_type':

$output=get_option('html_type');

break;

case'version':

global$wp_version;

$output=$wp_version;

break;

case'language':

$output=get_locale();

$output=str_replace('_','-',$output);

break;

case'text_direction':

),$show).''.sprintf(__('Usethe%sfunctioninstead.'),'is_rtl()'));

if(function_exists('is_rtl')){

$output=is_rtl()?

'rtl':

'ltr';

}else{

$output='ltr';

}

break;

case'name':

default:

$output=get_option('blogname');

break;

}

$url=true;

if(strpos($show,'url')===false&&

strpos($show,'directory')===false&&

strpos($show,'home')===false)

$url=false;

if('display'==$filter){

if($url)

$output=apply_filters('bloginfo_url',$output,$show);

else

$output=apply_filters('bloginfo',$output,$show);

}

return$output;

}

可以看出有连个参数get_bloginfo($show='',$filter='raw'),$show对应哪些值从里面的switch可以看到有哪些参数可以使用!

在bloginfo()的介绍里面有参数的详细说明。

get_option()获取options表key对应的值

get_option(参数)这个函数通过数据库wp_options表中的key获取value的值。

Wp_是表前缀,根据自己的表定。

上面的get_bloginfo()介绍中有使用到这个函数获取值。

可以回过头去看看。

使用实例:

这个能直接获取wp_options中的列option_name值为blogdescription的博客描述

phpechoget_option('blogdescription')?

>

这个函数对应的有add_option()就是添加了。

get_template_directory_uri()主题目录

检索当前主题的模板目录的URI:

phpechoget_template_directory_uri();?

>/js/"type="text/javascript">

这个没说什么说的了。

数据库操作函数(能直接添加删除查询的)

wp_insert_post()插入一篇文章

源代码,自己去搜这个方法吧,只有连个参数,但第一个是数组,内容有点多。

functionwp_insert_post($postarr,$wp_error=false)

调用wp_insert_post()前需创建对象以传递组成文章的必要元素。

wp_insert_post()可自动填写默认表格,但用户需提供文章标题和内容,否则数据库写入不成功。

用户可在数据库中简单定义新关键字,之后就可以添加更多文章要素。

关键字应与数据库wp_posts表格中纵列名称相匹配。

;

$my_post['post_status']='publish';

$my_post['post_author']=1;

$my_post['post_category']=array(8,39);

'ID'=>[]

'page_template=>[]

'ping_status'=>[ ?

]

'post_category=>[array(,<...>)]

'post_content'=>[]

'post_date'=>[Y-m-dH:

i:

s]

'post_date_gmt'=>[Y-m-dH:

i:

s]

'post_excerpt'=>[]

'post_parent'=>[]

'post_password'=>[ ?

]

'post_title'=>[]

'post_type'=>['post'|'page']

'tags_input'=>[',,<...>']

'to_ping'=>[ ?

]

与上面对应的是修改了,其实都一样:

functionwp_update_post($postarr=array(),$wp_error=false)

get_post_meta()查询postmeta数据

三个参数很明显了。

文章ID,key,$single是否是单一的,意思是key对应的值是否只有一个。

False的时候返回的是数组,true的时候返回字符串。

functionget_post_meta($post_id,$key='',$single=false){

returnget_metadata('post',$post_id,$key,$single);

}

add_post_meta()向postmeta表插入数据

源代码:

Functionadd_post_meta($post_id,$meta_key,$meta_value,$unique=false)

不解释,很明白了。

update_post_meta修改postmeta表

修改

update_post_meta($post_id,$meta_key,$meta_value,$unique=false)

显示文章的函数

在这个文件中定义了很多的函数:

wp-includes/

看这个文件的时候进入wp-includes/的get_posts()方法,在执行the_content等方法的时候需要先执行get_post();

通过这个文件里面的函数可以获取wp_posts表中的需要的字段值,下面不一一列出来了。

貌似也没啥意思,找出这个一看就知道了.

本人不太喜欢这一块儿内容,都是自己写的sql查询实现功能的,以后有时间再回来补充吧。

这里就没有做详细介绍了。

get_posts查询文章列表

源代码:

functionget_posts($args=null){

$defaults=array(

'numberposts'=>5,'offset'=>0,

'category'=>0,'orderby'=>'post_date',

'order'=>'DESC','include'=>array(),

'exclude'=>array(),'meta_key'=>'',

'meta_value'=>'','post_type'=>'post',

'suppress_filters'=>true

);

$r=wp_parse_args($args,$defaults);

if(empty($r['post_status']))

$r['post_status']=('attachment'==$r['post_type'])?

'inherit':

'publish';

if(!

empty($r['numberposts'])&&empty($r['posts_per_page']))

$r['posts_per_page']=$r['numberposts'];

if(!

empty($r['category']))

$r['cat']=$r['category'];

if(!

empty($r['include'])){

$incposts=wp_parse_id_list($r['include']);

$r['posts_per_page']=count($incposts);

且有一个默认的值,就是不写参数的时候,使用的是默认值。

看一个很简单的例子:

phpwp_nav_menu();?

>

这样输出的结果,html标签如下:

首页

网站模版

网站建设

技术探讨

有点乱,但是应该看的清楚,这是默认的生成结果,我们可以通过参数改变它的标签与id级class的值来改变样式,定义自己喜欢的样式。

如下面的配置例子:

phpwp_nav_menu(

array(

'theme_location'=>'',

..........................

phpendif;?

>

描述:

加载一个制定的模板到另一个模板里面(不同于包含header,sidebar,footer).

使得一个主题使用子模板来实现代码段重用变得简单

用于在模板中包含指定的模板文件,只需用指定参数slug和name就可以包含文件{slug}-{name}.php,最重要的功能是如果没有这个文件就包含没有{name}的.php文件文件

使用方法:

phpget_template_part($slug,$name)?

>

参数:

$slug(必须)通用的模板名

$name(可选)指定的模板名

示例:

使用在子主题里面

假设主题文件夹wp-content/themes下父主题是twentyten子主题twentytenchild,那么下面的代码:

phpget_template_part('loop','index');?

>

php的require()函数将按下面优先级包含文件

1.wp-content/themes/twentytenchild/

themes/twentytenchild/

themes/twentyten/

4.wp-content/themes/twentyten/

导航(这个例子很烂,但却是另一种使用思路)

使用通用的文件给主题添加导航条:

phpget_template_part('nav');

',true);?

>

这样,就可以根据你不同的文章类型去显示文章评论了。

用法上是不是跟get_template_part()有点类似呢?

至于$separate_comments准确的意思,我也没搞明白,不过官方默认主题一直都是true的所以我也就跟进了。

之前研究过一次,貌似这里指的类型是是否回复的意思。

 

the_permalink

comments_popup_link

comments_open

the_t

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2