WordPress 常用函数

路径相关函数

echo esc_url(home_url('/')); //网站路径
bloginfo('url');  : //网站路径
bloginfo('template_url');  : //模板文件路径
bloginfo('stylesheet_url');  : //CSS文件路径
echo get_stylesheet_directory_uri();  //子主题路径
echo get_template_directory_uri();  //模板文件路径

Header部分常用到的PHP函数

<pre class="lang:php decode:true " >
bloginfo('name'); //名称(Title)
bloginfo('html_type'); //网页Html类型
bloginfo('charset');//网页编码
bloginfo('description'); //描述
res_title(); //特定内容页(Post/Page)的标题</pre> 

模板常用的PHP函数及命令

get_header(); //调用Header模板
get_sidebar(); //调用Sidebar模板
get_footer(); //调用Footer模板
include(TEMPLATEPATH . '/文件名'); //嵌入其他文件,可为定制的模板或其他类型文件

the_content(); //显示内容(Post/Page)
global $post; echo $post->post_name; //获取页面slug
get_page_template_slug( $post_id ); //获取页面模板名
the_title(); //内容页(Post/Page)标题
the_permalink() //内容页(Post/Page) Url
the_category(', ') //特定内容页(Post/Page)所属Category
the_author(); //作者
the_ID(); //特定内容页(Post/Page) ID
edit_post_link(); //如果用户已登录并具有权限,显示编辑链接
get_links_list(); //显示Blogroll中的链接
comments_template(); //调用留言/回复模板
res_list_pages(); //显示Page列表
res_list_categories(); //显示Categories列表
next_post_link(' %link '); //下一篇文章链接
previous_post_link('%link'); //上一篇文章链接
get_term_link($loop); // 用于在循环中得到链接.
get_calendar(); //日历
res_get_archives() //显示内容存档
posts_nav_link(); //导航,显示上一篇/下一篇文章链接
get_the_excerpt(); //用于获取文章的摘要
comments_popup_link(); //正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开

页面相关

// 通过页面的slug输出文章的内容
get_page_by_path('page-slug');

// 自定义参数查询获取一组页面
$args = array(
    'sort_order' => 'asc',
    'sort_column' => 'menu_order',
    'hierarchical' => 1,
    'parent' => - 1,
    'post_status' => 'publish'
);
$pages = get_pages($args);

分类相关

// 快速查找某一个分类的名称、别名和id的值
// 前3个参数为必须值
// $field: id、slug、name
// $value: $field的值
// $taxonomy: 自定义分类的名称
get_term_by( $field, $value, $taxonomy, $output, $filter );

// orderby — 默认值为'name',可以是名称,计数或空(使用term_id)
// order — 默认值为ASC。有效值也包括DESC。
// hide_empty — 默认值为true。不返回空$terms。
// fields — 默认值为all。
// slug — 任何含有slug的term都可以作为该变量的值。默认为空字符串。
// hierarchical — 是否返回层级分类法。默认值为true。
// name_like — 默认值为空字符串。
// pad_counts — 默认值为FALSE。值为true时将计算包括$terms在内的所有子辈。
// get — 默认值为空。可通过为'all'赋值来改写'hide_empty'和'child_of'。
// child_of — 默认值为0。获取该term的所有后代。
// parent — 默认值为0。获取该term的直系子辈(即上辈明确为该值的term)。
$terms = get_terms( array(
    'taxonomy' => 'post_tag',
    'hide_empty' => false,
) );

其他函数

_e('Message'); //输出相应信息
res_register(); //显示注册链接
res_loginout(); //显示登录/注销链接

timer_stop(1);// 网页加载时间(秒)
echo get_num_queries(); //网页加载查询量

// 检测某个插件是否已经启用
is_plugin_active('plugin-folder/plugin-index.php')

编辑器内部代码

<!--–next page–--> //将当前内容分页
<!--–more–--> //将当前内容截断,以不在主页/目录页显示全部内容

基本条件判断Tag

is_home() : //是否为主页,完整写法:if (is_home()): // home page ?>    endif; ?>后台设置首页为某个指定页面时不生效;
is_front_page() : //后台设置首页为某个指定页面时可生效;
is_single() :// 是否为内容页(Post)
is_page() : //是否为内容页(Page),判断为某个指定page时括号内加该page的id。
is_category() :// 是否为Category/Archive页
is_tag() : //是否为Tag存档页
is_date() : //是否为指定日期存档页
is_year() : //是否为指定年份存档页
is_month() : //是否为指定月份存档页
is_day() : //是否为指定日存档页
is_time() : //是否为指定时间存档页
is_archive() : //是否为存档页
is_search() : //是否为搜索结果页
is_404() : //是否为 “HTTP 404: Not Found” 错误页
is_paged() : //主页/Category/Archive页是否以多页显示

WordPress基本模板文件

一套完整的WordPress模板应至少具有如下文件:
style.css : CSS(样式表)文件
index.php : 主页模板
archive.php : Archive/Category模板
404.php : Not Found 错误页模板
comments.php : 留言/回复模板
footer.php : Footer模板
header.php : Header模板
sidebar.php : 侧栏模板
page.php : 内容页(Page)模板
single.php : 内容页(Post)模板
searchform.php : 搜索表单模板
search.php : 搜索结果模板

wordpress函数一些简单的例子:

the_date('d M Y', '<p>', '</p>'); ?> 
echo get_the_date("Y-m-d");?>
the_time('Y-m-d H:i');?>

三种输出时间的方法,不同之处主要在于,当输出一个post列表时,如果输出时间函数在循环内部,第一种同一天的时间只会显示一次,第二种则是每个post都会显示

缩略图相关

缩略图参数说明

默认值: post-thumbnail
全尺寸: full

代码示例

// 输出缩略图
the_post_thumbnail();

// 获取指定post id缩略图
echo get_the_post_thumbnail( $post->ID, 'thumbnail' );

// 输出post id输出缩略图地址;
the_post_thumbnail_url($post->ID, 'thumbnail');

// 获取缩略图地址
get_the_post_thumbnail_url()
get_the_post_thumbnail_url($post->ID, 'full')

// 获取附件ID
$thumb_id = get_post_thumbnail_id($post->ID);

// 从附件ID获取缩略图地址
$image_url = wp_get_attachment_url($thumb_id);

CURL

wp_remote_get()wp_remote_post() 等。

$response = wp_remote_get( 'https://xxx.com/xxx' );
if (is_array($response) && !is_wp_error($response) && $response['response']['code'] == '200') {
    $header = $response['headers'];
    $body = $response['body'];
}

参考页面:在single页面自定义prev和next

 4,346 total views,  2 views today

Revisions

There are no revisions for this post.

No comments yet.

发表评论