wordpress模板函数(wordpress模板开发教程)

在WordPress的世界里,模板函数可以说是一个隐藏的宝藏。对于开发者来说,掌握模板函数可以极大地提高工作效率,让网站开发变得更加得心应手。今天,我们就来揭开WordPress模板函数的神秘面纱,让你成为网站开发的佼佼者。

一、什么是WordPress模板函数?

我们先来了解一下什么是WordPress模板函数。WordPress模板函数是WordPress框架中提供的一系列预定义函数,用于在模板文件中获取、设置和操作数据。简单来说,模板函数就是帮助我们在模板文件中实现各种功能的工具。

二、WordPress模板函数的作用

WordPress模板函数的作用非常广泛,以下列举了一些常见的应用场景:

1. 获取内容信息

* the_title():获取当前文章的标题。

* the_content():获取当前文章的内容。

* the_permalink():获取当前文章的链接。

2. 获取用户信息

* get_avatar():获取用户的头像。

* get_the_author():获取当前文章的作者。

* get_the_author_meta():获取用户的自定义字段信息。

3. 获取分类信息

* get_category():获取分类信息。

* get_categories():获取所有分类信息。

* the_category():输出文章的分类链接。

4. 获取评论信息

* get_comments():获取所有评论。

* comment_form():输出评论表单。

* comment_link():获取评论链接。

5. 获取其他信息

* get_template_directory():获取模板目录路径。

* get_stylesheet_directory():获取主题目录路径。

* get_bloginfo():获取博客信息,如标题、描述等。

三、WordPress模板函数的使用方法

WordPress模板函数的使用非常简单,以下是一个简单的例子:

“`php

// 获取当前文章的标题

echo the_title();

>

“`

在这个例子中,我们使用了`the_title()`函数来获取当前文章的标题,并将其输出到页面上。

四、WordPress模板函数的扩展

除了WordPress自带的模板函数外,我们还可以通过以下方式扩展模板函数:

1. 自定义模板函数

在主题的`functions.php`文件中,我们可以自定义模板函数,以满足特定需求。

“`php

// 自定义模板函数

function my_custom_function() {

echo ‘Hello, world!’;

}

>

“`

2. 插件提供的模板函数

许多WordPress插件都会提供一些模板函数,以方便开发者使用。

五、总结

WordPress模板函数是网站开发中不可或缺的工具,掌握它们可以让我们更加高效地完成工作。本文介绍了WordPress模板函数的概念、作用、使用方法以及扩展方式,希望对大家有所帮助。

以下是一个表格,总结了本文提到的部分WordPress模板函数:

函数名称 功能描述
the_title() 获取当前文章的标题
the_content() 获取当前文章的内容
get_avatar() 获取用户的头像
get_the_author() 获取当前文章的作者
get_category() 获取分类信息
get_comments() 获取所有评论
get_template_directory() 获取模板目录路径
get_stylesheet_directory() 获取主题目录路径
get_bloginfo() 获取博客信息,如标题、描述等

希望这篇文章能帮助你更好地了解WordPress模板函数,让你在网站开发的道路上越走越远!

怎么修改wordpress样式

一、准备

基础技能你不必深入研究PHP语言是怎么回事,但是最起码的代码得看懂一点,当然这也不是重点,重点是基本了解CSS代码书写规则,非专业人士准备一份CSS教程,或者下载一份CSS手册。

主题模板选择一套整体格局不错的Wordpress主题模板,建议选择WordPress HTML5主题,现在主流趋势是HTML5主题。如果有耐心和信心的话,也可以自己把WP主题转化为HTML5主题。

辅助工具最好是搭载本地PHP环境,网络上有教程详细说明怎么搭建本地Wordpress,个人推荐使用EasyPHP。如果修改范围不大的话,可以直接在服务器上的主题修改,没必要大费周折搞本地PHP。新手推荐使用软件Dreamweaver,便于打开CSS文件好找到修改处,老鸟直接用记事本查找。在工具里,最重要一点是安装Mozilla Firefox浏览器,强大的元素查看功能让你迅速定位修改。

二、确定修改重点

这里讲述的是怎么修改CSS文件,其实仔细观察Wordpress主题模板代码,不管是index.php首页还是page.php页面,或者single.php文章内页,你会发现,其实大部分主题都只是通过CSS来控制页面布局,页面本身的代码基本相同,特别是一些国外简洁明了的优秀主题更是如此。

当我们要修改某部分样式及结构时,都会直接打开Wordpress主题模板文件或在后台编辑主题,密密麻麻的代码,就是主题作者自己看了也会头晕眼花,所以会经常在关键部位加上一些注释,

php中注释一般为:<!– XXX–>

css中为:/** XXX**/

一般调整比较常见的是页面宽度、文本主体宽度、字体大小、行间距、背景颜色等。通过修改style.css文件都能够达到预期效果(部分主题会指定CSS文件,只需对应找到控制的CSS文件),部分国外主题在functions.php中加入加入大量模板函数,这不是本文讲述的重点。

三、修改Wordpress主题CSS文件

下面以Wordpress默认主题Twentyeleven修改为例

用Mozilla Firefox浏览器打开网站,首先在要修改样式的地方右键单击→查看元素。

此时浏览器自动打开DOM样式探查器

左侧是页面html源代码,右侧这部分就是控制标题文字的CSS属性,当然可以自己琢磨着对照左侧代码进行选择

我们简单地对CSS参数进行调整,可以实时预览效果,不管是字体大小,还是背景颜色都如此。

例如把color: rgb(34, 34, 34);调整为color: rgb(345, 34, 34);你会发现标题颜色发生改变,再加入字体参数font-size: 20px;

font-family:微软雅黑;此时发现页面中,文章标题全部都变为微软雅黑字体,字号为20px,红色,调整到满意的效果后,就应该把文件修改进CSS文件里。注意:字体如果是要使用微软雅黑等中文字体时,需要参照CSS中文字体对照表使用Unicode编码

保存方法有二种

一种是对照代码右侧位置style.css:745用Dreamweaver软件或是记事本打开style.css文件找到第745行代码进行修改。另一种是点击style.css:745自动跳转到样式编辑器,然后选择保存CSS文件。

如何在wordpress主题中添加设置页面

1、创建所需的文件

在进行主题定制前,应该首先创建一个可供自定义的“设置选项页面”。创建设置选项页的代码需要放置在主题目录下的functions.php文件中。如果模板名为“OptionPage”,那么functions文件的路径为:wp-contentthemesOptionPagefunctions.php。

不需要让wordpress手动加载它,在执行时wordpress会自动加载。

2、建立设置选项页

首先第一步需要在后台建立一个空白页面供我们使用。通过add_aaction来实现这一步。Actions可以在wordpress执行时的特定时间被响应,例如,当在控制面板创建菜单时,admin_menu就会被响应执行。因此,可以利用这些来实现所需的功能。

themeoptions_admin_menu()是在控制面板的侧边栏中添加一个链接,指向我们创建的选项页:themeoptions_page。

add_theme_page()的参数为:

页面标题:主题设置

菜单标题:主题选项(p.s.为了区分显示,页面与菜单标题我做了不同我命名)

作用功能:edit_themes;

Handle(句柄):当前文件;

执行的函数:themeoptions_page;

现在后台控制面板侧边栏的处就多了一个“主题设置”的菜单,但是现在还是空白的,后面要实现的定制内容就在这个空白页面上创建。

3、添加选项和字段

现在就可以在刚创建的空白页面上添加选项和字段。这个页面可以根据自己的需要进行样式风格化,但在这里将使用wordpress默认的类,这样可以节省时间并且看起来更加原生。

页面内容的代码需包含在themeoptions_page()函数内。首先,先添加一个class=”wrap”的div容器;然后,在头部添加一个默认图标作为作为页面标题;最后是设计表单。

在表单中,首先需要添加一个隐藏的值,通过它来检查更新是否已经提交。然后添加一个提交按钮,这里也使用wordpress默认的按钮样式。现在的效果为:

现在已经创建了设置选项页的基本结构,下面开始根据之前制定的内容进行完善:

首先,要允许主题使用者可以更改颜色方案。对于这一点,需要一个下拉列表提供可用的配色方案。

其次,增加两个广告位的内容,需要增加两个文本框来输入图片的URL及广告链接URL。

最后,用户可选择是否显示搜索框。这一点,通过添加复选框来实现。

代码如下:

到这里选项页面的内容就已经基本构建完毕了。

4、数据库更新

到目前为止,已经创建了一个主题选项页面,下一步要做的就是将数据透过POST提交的wordpress数据库。要做到这一点,需要创建一个新的功能函数themeoptions_update(),这个函数将会被themeoptions_page()调用,所以将下面的代码添加到themeoptions_page()函数的最上面。

下一步是增加一个更新函数。

5、调用选项定制主题

主题的默认样式文件为style.css,如果使用其他的配色方案,需要建立相应的样式文件,例如本例中的blue.css、pink.css,style.css为默认的灰色。

为了切换配色方案样式表,需要在主题header中加入以下代码:

增加广告位图片—在想要放置广告的地方添加以下代码:

是否显示搜索框—在需要放置搜索框的地方添加以下代码,当用户选择显示搜索框时会显示,否则则不显示:

如何开发一个WordPress插件

在开始之前,需要注意三件事情

I、给插件取一个个性化的名字,越个性化越好,以防和其他插件重名冲突。

II、代码里面,一定要包含注释,不为自己,也要为想修改你代码的别人想想。

III、尽量用最新版的 WordPress进行开发和测试。

插件名称和插件结构

一般来说,都是在 wp-content\plugins目录下建立一个文件夹,文件夹名就是插件的名称,我们插件名字为”copyright_plugin”,文件结构如下。

\wp-content\plugins\copyright_plugin下有copyright_plugin.php和readme.txt

这里的 readme.txt文件中包含了一些插件的介绍,使用说明等信息,主要是提交到 WordPress官方网站时候用到的,可以参考他们给的模板,另外还有插件截图预览的功能,需要另外添加图片,但是我们现在是练习,不需要提交到官网,所以暂时先不涉及这些。

插件的核心

总的来说,插件的核心是两个 function,用来添加 Hooks(中文译为钩子)

add_action($hookname,$callbackfunction)

add_filter($hookname,$callbackfunction)

这两个方法相当重要,几乎所有的插件都要用到他们。

Actions,我理解就是 wordpress核心代码预留的一些特殊的切入点,或者说是在执行一些特定事件时候发生,例如文章发布时,或者访客留言时触发。

Filters,应该就是 wordpress执行时,对数据传输过程的一种过滤机制,例如当文章保存到数据库的过程,或者文章从事数据库中取出,展现到浏览器中的这个过程。

我们今天要制作的插件,应该是用 Filters,因为我们要在文章显示在浏览器之前,在最后面加上一段字符窜,用来显示版权信息,后面添加菜单项的时候,也要用到 Actions。

插件概要信息

用文本编辑器打开 copyright-plugin.php文件,输入如下信息:

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

?>

保存好文件,然后登录 WordPress后台,打开插件菜单,应该就可以看到这个插件,已经显示在插件列表里面了,并且可以启用这个插件试试,不过没有任何效果,因为到目前为止,这个插件还没有实现任何功能。

为插件实现功能

修改copyright_plugin.php

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/*此插件将在文章正文最下面,显示一行版权信息*/

function display_copyright(){

return”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”;

}

?>

保存好这个文件,然后打开正在用的主题文件夹,打开index.php文件夹,找到 get_template_part('content', get_post_format());并在下面添加如下代码

if(function_exists('display_copyright')){

echo display_copyright();

}

function_exists是判断 display_copyright函数是否存在,因为当插件停用的时候,主题代码里面是找不到这个函数的,所以要判断一下,防止出错。

然后在 wordpress后台启用该插件,再打开首页看看效果吧!

至此,这段代码,应该可以勉强算是一个插件了。之所以说勉强,是因为这个插件存在一个问题,需要手工去修改主题代码,如果用户换了主题的话,需要在新主题里面再次修改代码,这个不好。

改良插件

还记得我们前面说过的 Hooks(钩子)吗,我们要开始用 Filter钩子了!

代码修改copyright_plugin.php如下:

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

add_filter('the_content','display_copyright');

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content.”<p style='color:red'>本站点所有文章均为原创,转载请指明出处!</p>”;

return$content;

}

?>

参看以上代码,其中 the_content是钩子的名字,display_copyright是回调函数名称。这样一来,只要启用插件就可以实现功能,无需去修改主题了,请把刚才在index.php文件中添加的代码删掉,然后启用插件,看看效果吧,显示效果应该是一样的,无论怎么换主题,还是会自动显示版权信息。

is_home是判断是不是主页

更进一步

至此一个真正的插件算是完成了。但是此插件将版权信息直接写在代码里,如果用户想自定义版权信息的话,需要修改插件的源代码,仍然不方便,所以此插件仍需改进。其实,我们可以在 WordPress后台中为插件单独添加一个菜单和页面,用户可以在这里来自定义设置设置版权信息,信息可以保存在数据库里面。

先附上完整代码,后面会做说明

<?php

/*

Plugin Name: Copyright plugin

Plugin URI:

Description:此插件将在文章正文最下面,显示一行版权信息

Version: 1.0.0

Author: xcxc

Author URI:

License: GPL

*/

/*注册激活插件时要调用的函数*/

register_activation_hook( __FILE__,'display_copyright_install');

/*注册停用插件时要调用的函数*/

register_deactivation_hook( __FILE__,'display_copyright_remove');

function display_copyright_install(){

/*在数据库的 wp_options表中添加一条记录,第二个参数为默认值*/

add_option(“display_copyright_text”,”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”,'','yes');

}

function display_copyright_remove(){

/*删除 wp_options表中的对应记录*/

delete_option('display_copyright_text');

}

if( is_admin()){

/*利用 admin_menu钩子,添加菜单*/

add_action('admin_menu','display_copyright_menu');

}

function display_copyright_menu(){

/* add_options_page($page_title,$menu_title,$capability,$menu_slug,$function);*/

/*页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面)*/

add_options_page('Set Copyright','Copyright Menu','administrator','display_copyright','display_copyright_html_page');

}

function display_copyright_html_page(){

?>

<div>

<h2>Set Copyright</h2>

<form method=”post” action=”options.php”>

<?php/*下面这行代码用来保存表单中内容到数据库*/?>

<?php wp_nonce_field('update-options');?>

<p>

<textarea

name=”display_copyright_text”

id=”display_copyright_text”

cols=”40″

rows=”6″><?php echo get_option('display_copyright_text');?></textarea>

</p>

<p>

<input type=”hidden” name=”action” value=”update”/>

<input type=”hidden” name=”page_options” value=”display_copyright_text”/>

<input type=”submit” value=”Save” class=”button-primary”/>

</p>

</form>

</div>

<?php

}

add_filter('the_content','display_copyright');

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content. get_option('display_copyright_text');

return$content;

}

?>

说明:

以下代码自己要是在启用插件时和停用插件时调用,注释中已经写得很详细了。

/*注册激活插件时要调用的函数*/

register_activation_hook( __FILE__,'display_copyright_install');

/*注册停用插件时要调用的函数*/

register_deactivation_hook( __FILE__,'display_copyright_remove');

function display_copyright_install(){

/*在数据库的 wp_options表中添加一条记录,第二个参数为默认值*/

add_option(“display_copyright_text”,”<p style='color:red'>本站点所有文章均为原创,转载请注明出处!</p>”,'','yes');

}

function display_copyright_remove(){

/*删除 wp_options表中的对应记录*/

delete_option('display_copyright_text');

}

添加菜单和页面的代码如下:

if( is_admin()){

/*利用 admin_menu钩子,添加菜单*/

add_action('admin_menu','display_copyright_menu');

}

function display_copyright_menu(){

/* add_options_page($page_title,$menu_title,$capability,$menu_slug,$function);*/

/*页名称,菜单名称,访问级别,菜单别名,点击该菜单时的回调函数(用以显示设置页面)*/

add_options_page('Set Copyright','Copyright Menu','administrator','display_copyright','display_copyright_html_page');

}

至此,已经可以在后台看到菜单项了,但是点击的话,还会出错,因为还没有添加对应的页面(如何自定义添加后台菜单位置)

下面开始添加页面,主要代码如下:

function display_copyright_html_page(){

?>

<div>

<h2>Set Copyright</h2>

<form method=”post” action=”options.php”>

<?php/*下面这行代码用来保存表单中内容到数据库*/?>

<?php wp_nonce_field('update-options');?>

<p>

<textarea

name=”display_copyright_text”

id=”display_copyright_text”

cols=”40″

rows=”6″><?php echo get_option('display_copyright_text');?></textarea>

</p>

<p>

<input type=”hidden” name=”action” value=”update”/>

<input type=”hidden” name=”page_options” value=”display_copyright_text”/>

<input type=”submit” value=”Save” class=”button-primary”/>

</p>

</form>

</div>

<?php

}

现在再去点击刚才新加的菜单,可以显示出来一个页面了,我们可以在这里设置版权信息文本。

另外还有如下代码要修改

/*这个函数在日志正文结尾处添加一段版权信息,并且只在首页页面才添加*/

function display_copyright($content){

if( is_home())

$content=$content. get_option('display_copyright_text');

return$content;

}

将原来的静态化文本,改成动态的,之所以要这么改,是因为我们已经将数据存到数据库里面了,这里要从数据库里面取出数据。

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享