WordPress 作为全球最受欢迎的博客平台和内容管理系统,拥有丰富的插件和主题,为广大用户提供了强大的功能。而在这些功能中,函数调用无疑是一个至关重要的环节。本文将深入探讨 WordPress 调用函数的相关知识,帮助大家更好地掌握这一技能。
一、WordPress 函数概述
在 WordPress 中,函数是一种预定义的代码块,用于执行特定的任务。函数调用是 WordPress 编程的核心,通过调用函数,我们可以实现各种功能,如生成文章列表、获取用户信息、显示评论等。
1. 函数分类
WordPress 函数主要分为以下几类:
* 核心函数:由 WordPress 核心提供,用于实现基础功能。
* 插件函数:由插件提供,用于扩展 WordPress 功能。
* 主题函数:由主题提供,用于定制主题样式和功能。
2. 函数命名规范
WordPress 函数命名规范如下:
* 函数名必须以字母或下划线开头。
* 函数名必须使用小写字母。
* 函数名中的单词之间使用下划线分隔。
二、WordPress 函数调用方法
在 WordPress 中,调用函数主要有以下几种方法:
1. 直接调用
直接调用是最简单的函数调用方式,例如:
“`php
echo get_the_title(); // 获取文章标题
>
“`
2. 使用函数名加括号
如果函数需要传入参数,可以使用函数名加括号的方式调用,例如:
“`php
echo get_post_meta(1, ‘description’); // 获取文章 ID 为 1 的描述
>
“`
3. 使用 `do_action()` 和 `apply_filters()` 函数
`do_action()` 和 `apply_filters()` 函数是 WordPress 中常用的回调函数,用于执行自定义操作和修改数据。例如:
“`php
do_action(‘my_custom_action’); // 执行自定义操作
>
“`
“`php
echo apply_filters(‘my_custom_filter’, ‘原始内容’); // 修改数据
>
“`
三、WordPress 函数实战技巧
以下是一些 WordPress 函数调用的实战技巧:
1. 使用 `wp_enqueue_script()` 和 `wp_enqueue_style()` 函数
这两个函数用于在 WordPress 中添加脚本和样式表。例如:
“`php
wp_enqueue_script(‘my_script’, get_template_directory_uri() . ‘/js/my-script.js’, array(‘jquery’), ‘1.0’, true);
wp_enqueue_style(‘my_style’, get_template_directory_uri() . ‘/css/my-style.css’);
>
“`
2. 使用 `get_template_part()` 函数
`get_template_part()` 函数用于加载模板文件,例如:
“`php
get_template_part(‘header’); // 加载 header.php 模板文件
>
“`
3. 使用 `wp_query()` 和 `WP_Query` 类
`wp_query()` 和 `WP_Query` 类用于查询文章和自定义类型。例如:
“`php
$query = new WP_Query(array(‘posts_per_page’ => 10));
while ($query->have_posts()) {
$query->the_post();
echo get_the_title();
}
wp_reset_postdata();
>
“`
四、总结
WordPress 函数调用是 WordPress 编程的核心,掌握这一技能对于开发 WordPress 插件和主题至关重要。本文介绍了 WordPress 函数概述、调用方法以及实战技巧,希望对大家有所帮助。
以下是一个表格,总结了本文提到的几个关键函数:
函数名 | 作用 | 示例 |
---|---|---|
get_the_title() | 获取文章标题 | |
get_post_meta() | 获取文章元数据 | |
do_action() | 执行自定义操作 | |
apply_filters() | 修改数据 | |
wp_enqueue_script() | 添加脚本 | |
wp_enqueue_style() | 添加样式表 | |
get_template_part() | 加载模板文件 | |
wp_query() | 查询文章 | 10));?> |
WP_Query类 | 查询文章 | have_posts()){…}?> |
wp_reset_postdata() | 重置全局文章查询数据 |
希望本文能帮助大家更好地掌握 WordPress 函数调用,为 WordPress 开发之路保驾护航!
wordpress如何删除主题wordpress删除主题在数据库中的残留
wordpress如何删除主题?
方法删除主题
1.删除主题前最好做个备份。一旦主题从后台操作中删除,主机上相应的文件夹也会被删除。更方便的方法是进入后台。点击外观-主题后,将鼠标移动到相关主题,点击-主题详情,右下角有一个红色的“删除”按钮,可以删除主题。
2.第二种删除主题的方法是ftp进入主机文件夹wp-content\themes找到相关主题,删除以主题名命名的文件夹,对应的主题消失在后台。
需要注意的事项
无法删除当前主题。删除主题之前,您必须替换另一个主题。
最好在删除主题之前对其进行备份。一旦删除,就无法恢复。只能重新安装。
有哪些适合程序员的Wordpress主题?
ordPress后台应用中心的主题很多,大多数都是国外个人制作的,并且大多数是免费的。
但是大多数都是英文的,中文主题也很多,大多数都分布在各个社区,一下是我收集的部分优秀的WordPress主题。
发出的图片超时咋么删除?
处理步骤:
到dashboard->upgrade,如果有升级,就升级wordpress
如果有主题升级,就升级主题
如果有插件需要升级,就升级插件
如果有插件要求其他升级,也根据提示一并升级
回到medialibrary界面,看问题是否已经解决
如果问题没有解决
是否在使用childtheme,如果是,暂时关闭childtheme,切换到父主题
回到medialibrary界面,看问题是否已经解决
如果问题没有解决
关闭所有插件,回到medialibrary,看问题是否解决
如果解决,说明某个插件造成这个问题,一个一个重新启用插件,知道找出问题插件
如果确定不是插件问题
查看浏览器是否开着某些插件(extension),进入浏览器incognito模式,打开medialibrary
如果问题没有解决
在浏览器里按F12,查看网络请求里有无超时请求,或错误请求,查看服务器日志,是否因为图片本身原因(大小等)造成服务器进程问题,如果是,登录服务器,在wp-content/uploads找到问题图片,删除,然后回到medialibrary重新上传(修改后的图片)
wordpress购买主题能用多久?
看你是在哪里买的一般有两种情况一种是按年付费,就是买一次管一年升级和技术支持,一年之后你不能更新也没有技术支持了,但是你的主题还是可以用一种是永久的,一次买断,永久更新和技术支持
WordPress不同分类、不同页面能使用不同主题么了,又该怎样操作?
1.如果你是想给分类加特色图像,可以这么做:
在wordpress后台:插件->安装插件菜单对应页面搜索”categorythumbnail”或”categorythumbnails”或”fpwcategorythumbnails”,下载安装启用,在你当前主题的分类页面模板中以你使用的插件的方式(通常是短代码或函数)调用即可,调用前可以加一个判断,判断下有图片没,有图片了输出html,没有了,就不输出即可。
2.如果你是想在特定页面显示特定分类下文章的特色图片以集中显示,可以这么做:使用featuredimagethumbnailgrid或者在主题中自定义。
祝愉快!
如何开发一个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;
}
将原来的静态化文本,改成动态的,之所以要这么改,是因为我们已经将数据存到数据库里面了,这里要从数据库里面取出数据。
wordpress文章分页怎么设置伪静态链接
1:wordpress开始设置url伪静态方法
后台:设置->固定链接,然后如图设置后保存,此项设置后,发现文章链接都是伪静态了,以为大功告成。但不久后就发现问题。
2:遇到问题显示的结果
1:如果简单的在自定链接后面加上.html单页面文章显示是正常的
2:如果是文章页有很多分页的话,就会出下下面的情况
3:查找问题所在
看到这种链接,执笔人实在是受不了。于是各种百度谷歌,最后无果。
想到模板分页调用的函数 wp_link_pages,于是从此函数下手,很快有了结果。
原来每生成一个链接都会调用一个钩子 wp_link_pages_link来方便定制,最后所有链接生成完后再调用一个钩子 wp_link_pages来个总链接大定制。
最后锁定了一个函数 redirect_canonical,该函数触发同名钩子
4:wordpress成功实现伪静态方法
最终决定一试。在当前主题的functions.php文件中加入代码:
//设置伪静态开始
//解析url的钩子
add_filter('post_rewrite_rules','add_custom_post_rewrite_rules');
function add_custom_post_rewrite_rules($rules){
$custom_rules= array('(d+)_(d+).html$'=>'index.php?p=$matches[1]&page=$matches[2]',);
$rules= array_merge($custom_rules,$rules);
return$rules;
}
//设置url钩子
add_filter('wp_link_pages_link','post_custom_rewrite_url');
function post_custom_rewrite_url($output){
$preg=”/(.*)/(d+).html/(d)/”;
$output= preg_replace($preg,”$1/$2_$3.html”,$output);
return$output;
}
//不许跳转
add_filter('redirect_canonical','post_custom_redirect_url');
function post_custom_redirect_url($output){
return false;
}
//设置伪静态结束
5:最后一步大功告成
上面的设置保存后,再返回后台:设置->固定链接,然后不需要设置什么,就点一下“保存更改”即可,这时你浏览发现文章链接都是伪静态了。
以转载于其它博客,测试4.0版本是可以正常使用。