返回列表 发布新帖
查看: 1|回复: 0

wordpress模板函数整理

415

主题

60

回帖

1463

积分

管理员

威望
0
金钱
978
贡献
0
听众
1
收听
0
阅读权限
200
在线时间
10 小时
注册时间
2024-10-9
最后登录
2024-10-31

活跃会员突出贡献论坛元老

发表于 3 小时前 | 显示全部楼层 |阅读模式
作为一名热衷于wp的开发者,收集WordPress开发时必备的一些函数是必须的,之前一直把这些保存成文档存在电脑上,每个版本有变化是进行修改和整理都挺方便的,但是一旦离开自家电脑拿就参考不了了,网上关于这部分的帖子虽然不少但是都是长时间未更新,大家都知道WP更新的节奏也算比较快的啦经常推出新函数替换之前使用的函数,新函数的性能肯定要比旧函数好如果我们开始开发的时候就使用的旧函数那等回过头来修改也是一大麻烦事,所以我把我收集整理的版本发布到晨星博客以便于自己和大家查看参考。

WP模板文件
  • style.css : CSS(样式表)文件
  • index.php : 主页模板
  • archive.php : 文章归档页模板(非必需)
  • category.php :分类页面模板
  • 404.php : Not Found 错误页模板
  • comments.php : 评论模板
  • footer.php : Footer模板
  • header.php : Header模板
  • sidebar.php : 侧栏模板
  • page.php :页面(Page)模板
  • single.php : 文章页(Post)模板
  • searchform.php : 搜索表单模板
  • search.php : 搜索结果模板
  • tag.php:标签页面模板
  • image.php:图片附件页面模板(非必需)
  • rtl.css:RTL样式表(非必需)
上面的模板文件有些事非必要文件,大家可以根据主题的功能按需选用,但是大部分文件都是方便主题代码循环利用的,可以减少开发时间提供代码的再编辑性能,方便二次开发。
WP模板调用函数
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php comments_template(); ?> : 调用评论模板
<?php get_search_form(); ?>:调用搜索表单
主题内置函数调用Header部分常用到的PHP函数
<?php bloginfo(‘name’); ?> : 博客名称(Title)
<?php bloginfo(‘stylesheet_url’); ?> : CSS文件路径
<?php bloginfo(‘pingback_url’); ?> : PingBack Url
<?php bloginfo(‘template_url’); ?> : 模板文件路径
<?php bloginfo(‘version’); ?> : WordPress版本
<?php bloginfo(‘atom_url’); ?> : Atom Url
<?php bloginfo(‘rss2_url’); ?> : RSS 2.o Url
<?php bloginfo(‘url’); ?> : 博客 Url
<?php bloginfo(‘html_type’); ?> : 博客网页Html类型
<?php bloginfo(‘charset’); ?> : 博客网页编码
注:<meta charset=”<?php bloginfo( ‘charset’ ); ?>”>实例应用
<?php bloginfo(‘description’); ?> : 博客描述
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
Single部分常用到的PHP函数
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_content(); ?>:调用文章正文内容
<?php the_category(‘, ‘) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php next_post_link(‘ %link ‘); ?> : 下一篇文章链接
<?php previous_post_link(‘%link’); ?> : 上一篇文章链接
<?php the_tags(”,”,”); ?>:调用文章标签
<?php the_time(‘Y /n/j G:i’); ?>:调用文章发布日期
<?php comments_popup_link( ‘沙发’, ‘评论 1 条’, ‘评论 % 条’ ); ?>:调用文章的评论链接和评论数量
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php wp_link_pages(); ?>调用文章分页导航
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
Fonter常用函数
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量
<?php echo get_option( ‘zh_cn_l10n_icp_num’ );?>:调用网站备案号码
会员用户信息获取函数
  • <?php global $current_user;
  •       wp_get_current_user();//2016年3月更新
  •       echo(‘Username: ‘ . $current_user->user_login . “\n”);//登陆用户名
  •       echo(‘User email: ‘ . $current_user->user_email . “\n”);//用户邮箱
  •       echo(‘User level: ‘ . $current_user->user_level . “\n”);//用户ID
  •       echo(‘User first name: ‘ . $current_user->user_firstname . “\n”);//用户名字
  •       echo(‘User last name: ‘ . $current_user->user_lastname . “\n”);//用户姓氏
  •       echo(‘User display name: ‘ . $current_user->display_name . “\n”);//用户昵称
  •       echo(‘User ID: ‘ . $current_user->ID . “\n”);//用户ID
  • ?>

WP判断命令
is_home() : 是否为主页
is_single() : 是否为内容页(Post)
is_page() : 是否为内容页(Page)
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页是否以多页显示
判断语句应用案列1、全php应用一
  • <?php if ( is_single() ) ://判断语句这里还可以写成if ( !is_single() ) :else输出和现在想反
  •         the_title( ‘<h1 class=“entry-title”>’, ‘</h1>’ );
  •     else ://不符合判断内容时输出
  •         the_title( );
  •     endif;//判断结束
  • ?>

2、全php应用范例二
  • <?php if ( is_single() ) {//判断语句这里还可以写成if ( !is_single() )else输出和现在想反
  •         the_title( ‘<h1 class=“entry-title”>’, ‘</h1>’ );
  •     }else {//不符合判断内容时输出
  •         the_title( );
  • }; ?>

3、php和html混合
  • <?php if ( is_single() ) { ?>//判断语句这里还可以写成if ( !is_single() )else输出和现在想反
  •         如果是文章也输出的内容
  •     <?php }else { ?>
  •         非文章页输出这里的内容
  • <?php }; ?>

4、判断是否为登陆用户
  • <?php if ( is_user_logged_in() ) { ?>
  •    登陆用户显示的内容
  • <?php global $user_ID; if( $user_ID && current_user_can(‘level_10’) ) : ?>
  •       入过是管理员显示的内容
  • <?php endif; ?>
  •     <a href=“<?php echo wp_logout_url( home_url(add_query_arg(array(),$wp->request)) ); ?>”>退出</a>//退出账号按钮
  • <?php } else{?>
  • //非登陆用户显示的内容
  •      <?php $url_this=’http://’.$_SERVER[“SERVER_NAME”].$_SERVER[“REQUEST_URI”]; ?>
  • //调用当前页面链接,用于登陆之后可以返回登陆页
  •     <a href=“<?php echo wp_login_url($url_this); ?>”>登陆</a>
  • //登陆按钮
  •     <a href=“<?php echo get_option(‘siteurl’); ?>/wp-login.php?action=register”>注册</a>
  • //注册按钮
  • <?php }?>//判断结束

WP循环语句使用
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
这里可以放置文章的列表模板,文章输出时使用
<?php endwhile; ?> : While 结束
<?php else: ?> :没有文章时输出的内容
<?php endif; ?> : If 结束
WP网站统计调用
  • //日志总数
  • <?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?>
  • //草稿数目
  • <?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?>
  • //评论总数
  • <?php echo $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments”);?>
  • //成立时间
  • <?php echo floor((time()-strtotime(“2008-8-18″))/86400); ?>
  • //标签总数
  • <?php echo $count_tags = wp_count_terms(‘post_tag’); ?>
  • //页面总数
  • <?php $count_pages = wp_count_posts(‘page’); echo $page_posts = $count_pages->publish; ?>
  • //分类总数
  • <?php echo $count_categories = wp_count_terms(‘category’); ?>
  • //链接总数
  • <?php $link = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = ‘Y’”); echo $link; ?>
  • //用户总数
  • <?php $users = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->users”); echo $users; ?>
  • //最后更新
  • <?php $last = $wpdb->get_results(“SELECT MAX(post_modified) AS MAX_m FROM $wpdb->posts WHERE (post_type = ‘post’ OR post_type = ‘page’) AND (post_status = ‘publish’ OR post_status = ‘private’)”);$last = date(‘Y-n-j’, strtotime($last[0]->MAX_m));echo $last; ?>

关于WordPress的常用函数就先整理到这里,有需要的朋友可以收藏一下,方便下次查看,此文档长期更新收纳最新的wp函数。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
投诉/建议联系

45471001@qq.com

知识,奉行,知行合一
中国人的理想门户
  • 关注公众号
  • 添加QQ客服
Copyright © 2001-2024 读到 版权所有 All Rights Reserved. 鲁ICP备19059357号-1
关灯
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表