wordpress调用函数大全
WordPress 模板基本文件
style.css 样式表文件 index.php 主页文件 single.php 日志单页文件 page.php 页面文件 archvie.php 分类和日期存档页文件 searchform.php 搜索表单文件 search.php 搜索页面文件 comments.php 留言区域文件(包括留言列表和留言框) 404.php 404 错误页面 header.php 网页头部文件 sidebar.php 网页侧边栏文件 footer.php 网页底部文件
WordPress Header 头部 PHP 代码 (注: 也就是位于 <head> 和 </head> 之间的 PHP 代码)
<?php bloginfo(’name’); ?> 网站标题 <?php wp_title(); ?> 日志或页面标题 <?php bloginfo(’stylesheet_url’); ?> WordPress 主题样式表文件 style.css 的相对地址 <?php bloginfo(’pingback_url’); ?> WordPress 博客的 Pingback 地址 <?php bloginfo(’template_url’); ?> WordPress 主题文件的相对地址 <?php bloginfo(’version’); ?> 博客的 WordPress 版本 <?php bloginfo(’atom_url’); ?> WordPress 博客的 Atom 地址 <?php bloginfo(’rss2_url’); ?> WordPress 博客的 RSS2 地址 <?php bloginfo(’url’); ?> WordPress 博客的绝对地址 <?php bloginfo(’name’); ?> WordPress 博客的名称 <?php bloginfo(’html_type’); ?> 网站的 HTML 版本 <?php bloginfo(’charset’); ?> 网站的字符编码格式
WordPress 主体模板 PHP 代码
<?php the_content(); ?> 日志内容 <?php if(have_posts()) : ?> 确认是否有日志 <?php while(have_posts()) : the_post(); ?> 如果有,则显示全部日志 <?php endwhile; ?> 结束 PHP 函数”while” <?php endif; ?> 结束 PHP 函数”if” <?php get_header(); ?> header.php 文件的内容 <?php get_sidebar(); ?> sidebar.php 文件的内容 <?php get_footer(); ?> footer.php 文件的内容 <?php the_time(’m-d-y’) ?> 显示格式为”02-19-08″的日期 <?php comments_popup_link(); ?> 显示一篇日志的留言链接 <?php the_title(); ?> 显示一篇日志或页面的标题 <?php the_permalink() ?> 显示一篇日志或页面的永久链接/URL 地址 <?php the_category(’, ‘) ?> 显示一篇日志或页面的所属分类 <?php the_author(); ?> 显示一篇日志或页面的作者 <?php the_ID(); ?> 显示一篇日志或页面的 ID <?php edit_post_link(); ?> 显示一篇日志或页面的编辑链接 <?php get_links_list(); ?> 显示 Blogroll 中的链接 <?php comments_template(); ?> comments.php 文件的内容 <?php wp_list_pages(); ?> 显示一份博客的页面列表 <?php wp_list_cats(); ?> 显示一份博客的分类列表 <?php next_post_link(’ %link ‘) ?> 下一篇日志的 URL 地址 <?php previous_post_link(’%link’) ?> 上一篇日志的 URL 地址 <?php get_calendar(); ?> 调用日历 <?php wp_get_archives() ?> 显示一份博客的日期存档列表 <?php posts_nav_link(); ?> 显示较新日志链接(上一页) 和较旧日志链接(下一页) <?php bloginfo(’description’); ?> 显示博客的描述信息
其它的一些 WordPress 模板代码
/%postname%/ 显示博客的自定义永久链接 <?php the_search_query(); ?> 搜索表单的值 <?php _e(’Message’); ?> 打印输出信息 <?php wp_register(); ?> 显示注册链接 <?php wp_loginout(); ?> 显示登入/登出链接 <!–next page–> 在日志或页面中插入分页 <!–more–> 截断日志 <?php wp_meta(); ?> 显示管理员的相关控制信息 <?php timer_stop(1); ?> 显示载入页面的时间 <?php echo get_num_queries(); ?> 显示载入页面查询
1. wordpress 调用最新文章
WordPress 最新文章的调用可以使用一行很简单的模板标签 wp_get_archvies 来实现. 代码如下:
<?php get_archives(‘postbypost’, 10); ?> (显示10 篇最新更新文章) |
或者
<?php wp_get_archives(‘type=postbypost&limit=20&format=custom’); ?> |
后面这个代码显示你博客中最新的 20 篇文章,其中 format=custom 这里主要用来自定义这份文章列表的显示样式。具体的参数和使用方法你可 以参考官方的使用说明- wp_get_archvies。(fromat=custom 也可以不要,默认以 UL 列表显示文章标题。)
补充: 通过 WP 的 query_posts() 函数也能调用最新文章列表, 虽然代码会比较多一点,但可以更好的控制 Loop 的显示,比如你可以设置是否显示摘要。具体的使用方法也可以查看官方的说明。
2. wordpress 调用随机文章
<?php $rand_posts = get_posts(‘numberposts=10&orderby=rand’); foreach( $rand_posts as $post ) : ?> <!–下面是你想自定义的 Loop–> <li><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></li> <?php endforeach; ?> |
3. wordpress 调用最新留言
下面是我之前在一个 WordPress 主题中代到的最新留言代码,具体也记不得是哪个主题了。该代码直接调用数据库显示一份最新留言。其中 LIMIT 10 限制留言显示数量。绿色部份则是每条留言的输出样式。
<?php global $wpdb; $sql = “SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,30) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = ” AND post_password = ” ORDER BY comment_date_gmt DESC LIMIT 10″; $comments = $wpdb->get_results($sql); $output = $pre_HTML; foreach ($comments as $comment) { $output .= “n<li>”.strip_tags($comment->comment_author) .”:” . ” <a href=”" . get_permalink($comment->ID) . “#comment-” . $comment->comment_ID . “” title=”on ” . $comment->post_title . “”>” . strip_tags($comment->com_excerpt) .”</a></li>”; } $output .= $post_HTML; echo $output;?> |
4.wordpress 调用相关文章
在文章页显示相关文章
<?php $tags = wp_get_post_tags($post->ID); if ($tags) { $first_tag = $tags[0]->term_id; $args=array( ‘tag__in’ => array($first_tag), ‘post__not_in’ => array($post->ID), ‘showposts’=>10, ‘caller_get_posts’=>1 ); $my_query = new WP_Query($args); if( $my_query->have_posts() ) { while ($my_query->have_posts()) : $my_query->the_post(); ?> <li><a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title_attribute(); ?>”><?php the_title();?> <?php comments_number(‘ ‘,’(1)’,'(%)’); ?></a></li> <?php endwhile; } } wp_reset_query(); ?> |
5.wordpress 调用指定分类的文章
<?php $posts = get_posts( “category=4&numberposts=10″ ); ?> <?php if( $posts ) : ?> <ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?> <li> <a href=”<?php the_permalink() ?>” rel=”bookmark” title=”<?php the_title(); ?>”><?php the_title(); ?></a> </li> <?php endforeach; ?> </ul> <?php endif; ?> |
6.wordpress 去评论者链接的评论输出
<?php global $wpdb; $sql = “SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved, comment_type,comment_author_url, SUBSTRING(comment_content,1,14) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = ” AND post_password = ” ORDER BY comment_date_gmt DESC LIMIT 10″; $comments = $wpdb->get_results($sql); $output = $pre_HTML; foreach ($comments as $comment) { $output .= “\n<li>”.strip_tags($comment->comment_author) .”:” . ” <a href=\”" . get_permalink($comment->ID) . “#comment-” . $comment->comment_ID . “\”title=\”on ” . $comment->post_title . “\”>” . strip_tags($comment->com_excerpt) .”</a></li>”; } $output .= $post_HTML; echo $output;?> |
7.wordpress 调用含 gravatar 头像的评论输出
<?php global $wpdb; $sql = “SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID, comment_author, comment_date_gmt, comment_approved,comment_author_email, comment_type,comment_author_url, SUBSTRING(comment_content,1,10) AS com_excerpt FROM $wpdb->comments LEFT OUTER JOIN $wpdb->posts ON ($wpdb->comments.comment_post_ID = $wpdb->posts.ID) WHERE comment_approved = ’1′ AND comment_type = ” AND comment_author != ‘郑 永’ AND post_password = ” ORDER BY comment_date_gmt DESC LIMIT 10″; $comments = $wpdb->get_results($sql); $output = $pre_HTML; foreach ($comments as $comment) { $output .= “\n<li>”.get_avatar(get_comment_author_email(‘comment_author_email’), 18). ” <a href=\”" . get_permalink($comment->ID) . “#comment-” . $comment->comment_ID . “\”title=\”" . $comment->post_title . ” 上的评论\”>”. strip_tags($comment->comment_author) .”: “. strip_tags($comment->com_excerpt) .”</a></li>”; } $output .= $post_HTML; $output = convert_smilies($output); echo $output; ?> |
上面代码把 comment_author 的值改成你的 ID,18 是头像大小,10 是评论数量。
8.wordpress 调用网站统计大全
1、日志总数:
<?php $count_posts = wp_count_posts(); echo $published_posts = $count_posts->publish;?> |
2、草稿数目:
<?php $count_posts = wp_count_posts(); echo $draft_posts = $count_posts->draft; ?> |
3、评论总数:
<?php echo $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->comments”);?> |
4、成立时间:
<?php echo floor((time()-strtotime(“2008-8-18″))/86400); ?> |
5、标签总数:
<?php echo $count_tags = wp_count_terms(‘post_tag’); ?> |
6、页面总数:
<?php $count_pages = wp_count_posts(‘page’); echo $page_posts = $count_pages->publish; ?> |
7、分类总数:
<?php echo $count_categories = wp_count_terms(‘category’); ?> |
8、链接总数:
<?php $link = $wpdb->get_var(“SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = ‘Y’”); echo $link; ?> |
9、用户总数:
<?php $users = $wpdb->get_var(“SELECT COUNT(ID) FROM $wpdb->users”); echo $users; ?> |
10、最后更新:
<?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; ?> |
9.wordpress 判断语句
is_single()
判断是否是具体文章的页面
is_single(’2′)
判断是否是具体文章(id=2)的页面
is_single(’Beef Stew’)
判断是否是具体文章(标题判断)的页面
is_single(’beef-stew’)
判断是否是具体文章(slug 判断)的页面
comments_open()
是否留言开启
pings_open()
是否开启 ping
is_page()
是否是页面
is_page(’42′)
id 判断,即是否是 id 为 42 的页面
is_page(’About Me’)
判断标题
is_page(’about-me’)
slug 判断
is_category()
是否是分类
is_category(’6′)
id 判断,即是否是 id 为 6 的分类
is_category(’Cheeses’)
分类 title 判断
is_category(’cheeses’)
分类 slug 判断
in_category(’5′)
判断当前的文章是否属于分类 5
is_author()
将所有的作者的页面显示出来
is_author(’1337′)
显示 author number 为 1337 的页面
is_author(’Elite Hacker’)
通过昵称来显示当前作者的页面
is_author(’elite-hacker’)
下面是通过不同的判断实现以年、月、日、时间等方式来显示归档
is_date()
is_year()
is_month()
is_day()
is_time()
判断当前是否是归档页面
is_archive()
判断是否是搜索
is_search()
判断页面是否 404
is_404()
判断是否翻页,比如你当前的 blog 是 http://domain.com 显示 http://domain.com?paged=2 的时候,这个判断将返 回真,通过这个函数可以配合 is_home 来控制某些只能在首页显示的界面,
例如:
<?php if(is_single()):?>
// 这里写你想显示的内容,包括函数
<?php endif;?>
或者:
<?php if(is_home() && !is_paged() ):?>
// 这里写你想显示的内容,包括函数
<?php endif;?>
10.wordpress 非插件调用评论表情
<!–smilies–> <?php function wp_smilies() { global $wpsmiliestrans; if ( !get_option(‘use_smilies’) or (empty($wpsmiliestrans))) return; $smilies = array_unique($wpsmiliestrans); $link=”; foreach ($smilies as $key => $smile) { $file = get_bloginfo(‘wpurl’).’/wp-includes/images/smilies/’.$smile; $value = ” “.$key.” “; $img = “<img src=\”{$file}\” alt=\”{$smile}\” />”; $imglink = htmlspecialchars($img); $link .= “<a href=\”#commentform\” title=\”{$smile}\” onclick=\”document.getElementById(‘comment’).value += ‘{$value}’\”>{$img}</a> ”; } echo ‘<div>’.$link.’</div>’; } ?> <?php wp_smilies();?> <!–smilies—> |
将以上代码复制到 comments.php 中合适的位置。