WordPress函数
模板兔提供完善的WordPress常用函数使用介绍与方法,让您快速入门WordPress函数的使用。
WordPress模板标签get_search_form用于加载搜索表单,首先会尝试加载模板文件searchform.php,如果该文件不存在,则输出默认的搜索表单HTML。
get_search_form( bool $echo = true )
函数参数
$echo
布尔值,默认为true,即输出表单内容,如果为false,则只返回结果而不输出。
get_search_form默认输出XHTML版本的标签,如果要输出HTML5版本的标签,需要在主题文件中加入以下代码:
add_theme_support( 'html5', array(
'search-form',
) );
XHTML版本的输出结果如下:
<form role="search" method="get" id="searchform" class="searchform" action="https://www.beizigen.com/">
<div>
<label class="sc...
WordPress模板标签get_sidebar用于加载侧边栏模板,即sidebar.php
get_sidebar( string $name = null )
get_sidebar标签默认加载sidebar.php,但可以通过传递一个参数来实现加载类似sidebar-name.php的模板:
<?php get_sidebar('name'); ?>
以上示例加载sidebar-name.php,如果sidebar-name.php文件不存在,则加载sidebar.php
对于三栏布局,我们需要两个侧边栏,分别为sidebar-left.php和sidebar-right.php,相应的代码如下:
<?php get_header(); ?>
<?php get_sidebar( 'left' ); ?>
<?php get_sidebar( 'right' ); ?>
<?php get_footer(); ?>
get_sidebar函数的用法与get_header函数是一样的...
WordPress模板标签get_header用来加载头部模板,即header.php
get_header( string $name = null )
get_header标签默认加载header.php,但可以通过传递一个参数来实现加载类似header-name.php的模板:
<?php get_header('name'); ?>
以上示例加载header-name.php模板,如果header-name.php文件不存在,则加载header.php,这样就为没有header-name.php文件时提供了一个备用选项。
我们可以通过页面判断来为不同页面加载不同的头部模板:
<?php
if ( is_home() ) :
get_header( 'home' );
elseif ( is_404() ) :
get_header( '404' );
else :
get_header();
endif;
?>
以上示例为首页加载header-home.php,为404...
WordPress模板标签wp_dropdown_categories用于输出分类列表,与其他输出分类列表的函数比较,wp_dropdown_categories()函数不是以<li>列表输出,而是<select>下拉列表。
wp_dropdown_categories( string|array $args = '' )
函数参数
$args
数组或字符串值
wp_dropdown_categories()函数$args参数默认的值如下:
$args = array(
'show_option_all' => '',
'show_option_none' => '',
'option_none_value' => '-1',
'orderby' => 'ID',
'order' => 'ASC',
'show_count' => 0,
'hide_empty' => 1,
'child_of' => 0,
'e...
WordPress模板标签get_the_tags用于获取标签信息,包括标签ID、别名、名称、描述等。get_the_tags()函数需要用在The Loop主循环中,如果在主循环之外使用,需要传递文章ID。
get_the_tags( int $id = 0 )
函数参数
$id
整数型,默认值:当前文章ID
指定文章ID,将返回该文章的标签信息。
函数返回值
Array (
[0] => WP_Term Object (
[term_id] => 27
[name] => CDN
[slug] => cdn
[term_group] => 0
[term_taxonomy_id] => 27
[taxonomy] => post_tag
[description] => CDN的全称是Content Delivery Network,即内容分发网络。
[parent] => 0
[count] => 11
[filt...
简介
检测当前的用户是否有特定的权限,使用之前要确保全局的 $current_user 已经被设置了。
用法
<?php current_user_can( $capability, $args ); ?>
参数
$capability
(string) (required) 权限或者角色名称
Default: None
$args
(mixed) (optional) 额外需要的参数,比如 Post ID,一些权限检测(比如 'edit_post' 或者 'delete_page')需要提供这个参数。
Default: None
返回值
(bool)
如果当前用户有该权限返回 true,否则返回 false。
实例
if ( current_user_can('moderate_comments') ) {
echo '当前用户可以审核留言。';
}
if ( current_user_can('edit_post', 123) ) {
echo '当前用户可以编辑日志 ...
简介
是否指定的日志作者有特定的权限.
用法
<?php author_can( $post, $capability ); ?>
参数
$post
(mixed) (required) Post ID 或者 post 对象
Default: None
$capability
(string) (required) 权限或者角色名称
Default: None
返回值
(bool)
日志作者有该权限返回 true,否则返回 false。
实例
<?php
if (author_can($post->ID, 'publish_posts')) {
echo "Yes he can publish posts!";
}
?>
修改记录
Since: Wordpress 2.9.0
源文件
wp-includes/capabilities.php
简介
添加一个新的用户角色到 WordPress。
用法
<?php add_role( $role, $display_name, $capabilities ); ?>
参数
$role
(string) (required) 用户角色的名称
Default: None
$display_name
(string) (required) 用户角色的显示名
Default: None
$capability
(array) (optional) 权限名称的数组
Default: array()
返回值
(mixed)
成功返回 WP_Role 对象,如果添加的用户角色已存在,返回空。
实例
$result = add_role('basic_contributor', 'Basic Contributor', array(
'read' => true, // True allows that capability
'edit_posts' => true,
'delete_posts' => false, // Use false to explicitly...
简介
根据用户角色名称获取用户角色对象。
用法
<?php get_role( $role ); ?>
参数
$role
(string) (required) 用户角色名称
Default: None
返回值
(mixed)
成功返回 WP_Role 对象,否则返回空。
修改记录
Since: 2.0.0
源文件
wp-includes/capabilities.php
简介
删除指定的用户角色。
用法
<?php remove_role( $role ); ?>
参数
$role
(string) (required) 用户角色名称
Default: None
返回值
无
实例
注解
用户角色的设置是添加到数据库中(表 wp_options 的 wp_user_roles 字段中),所以该函数最好在主题/插件激活的时候调用。
修改记录
Since: 2.0.0
源文件
wp-includes/capabilities.php
简介
给指定的用户角色或者具体的某个用户添加特定的权限。
用法
<?php global $wp_roles; $wp_roles->add_cap( $role, $cap ); ?>
参数
$role WP_Roles 类中才有该参数,WP_Role 和 WP_User 类中没有该参数。
(string) (Required) 用户角色名称
Default: None
$cap
(string) (Required) 权限名称
Default: None
$grant
(boolean) (optional) 是否该用户拥有该权限
Default: true
返回值
无
实例
function add_theme_caps() {
// 获取作者这个用户角色。
$role = get_role( 'author' );
// 在当前主题让作者也可以编辑其他人的日志。
$role->add_cap( 'edit_others_posts' );
}
add_action( 'admin_...
简介
删除指定的用户角色或者具体的某个用户的特定权限。
修改用户角色或者具体用户的权限是永久性的,除非再次授予。
用法
<?php global $wp_roles; $wp_roles->remove_cap( $role, $cap ); ?>
参数
$role WP_Roles 类中才有该参数,WP_Role 和 WP_User 类中没有该参数。
(string) (Required) 用户角色名称
Default: None
$cap
(string) (Required) 权限名称
Default: None
返回值
无
实例
add_action( 'admin_init', 'remove_editor_read_private_posts' );
function remove_editor_read_private_posts(){
$role = get_role( 'editor' );
$role->remove_cap( 'read_private_posts' );
// 或者
global...
简介
显示当前日志的缩略图(Post Thumbnail)。
这个模板函数必须使用在主循环中,如果要获取任意日志的缩略图,使用 get_the_post_thumbnail($id, $size, $attr ) 函数代替。
用法
<?php the_post_thumbnail( $size, $attr ); ?>
参数
$size
(string/array) (Optional) 图片大小,可以是以下几个关键字:thumbnail, medium, large, full,或者通过函数 自定义尺寸的关键字。或者宽和高的一个大小,比如:(32,32).
Default: 'post-thumbnail',当前主题通过函数 设置的。
PLEASE NOTE: The crop does not work in WP 3.0+. All that is needed for WP 3.0+ is the call for the thumbnail to post. Then proceed to med...
简介
检测用户是否有特定的权限,和 current_user_can() 类似,但是 user_can 需要一个 user ID 或者 user 对象作为第一个参数。
用法
<?php user_can( $user, $capability ); ?>
参数
$user
(object or integer (ID)) (required) 用户 ID 或者对象
Default: None
$capability
(string) (required) 权限或者角色名称
Default: None
返回值
(bool)
如果用户有该权限返回 true,否则返回 false。
修改记录
Since: Version 3.1
源文件
wp-includes/capabilities.php
简介
检测当前用户对给定的博客是否有权限。这个函数仅适用于 multisite。
用法
<?php current_user_can_for_blog( $blog_id, $capability ); ?>
参数
$blog_id
(integer) (required) Blog ID
Default: None
$capability
(string) (required) 权限或者角色名称
Default: None
返回值
(bool)
如果当前用户有该权限返回 true,否则返回 false。
修改记录
Since: 3.0
源文件
wp-includes/capabilities.php