WordPress模板基本文件style.css 样式表文件
<?php bloginfo( ' stylesheet_url' ) ; ?> 利 用bloginfo( ' stylesheet_url' )来实现调用
确定它的调用位置。style.css中包含了整个主题的主要的Css样式表index.php 主页文件style.css和index.php是最为核心的两个文件 由这两个文件Wordpress系统即可检测出新theme的存在index.php中主要定义了主页中间显示博客的显示模块。在twentyten中通过使用loop.php来实现博文的数据库交互。
在其中可以定义wordpress的具体loop循环用来获取存取的文章评论 附件等内容。
具体的loop流程如下 以twentyten中loop为模板
1 先获取文章分页信息 若大于1显示分页链接 <?php if( $wp_query->max_num_pages > 1 ) : ?>
2判断是否有文章若没有显示提示信息。 have_posts()
3开始loop过程通过while ( have_posts() ) : the_post() ;来不断的进行有无posts的判断知道没有了文章为止
在这个过程中同时判定了该posts中有访问密码和附件的判断并定义了显示格式single.php 日志单页文件
用来实现单页面显示文章的页面确定了文章的显示格式在这个页面中也可是使用loop来判断有多少个commentpage.php 页面文件
定义wordpress中自定义的页面的格式 同时也可以自己来定义这个模板archvie.php 分类和日期存档页文件
按照一定的格式来组织并将文章给分类searchform.php 搜索表单文件search.php 搜索页面文件comments.php 留言区域文件(包括留言列表和留言框)
显示评论的页面。大致流程是
1使用post_password_required()先判断是否有密码要求
2使用have_comments()判断是否有评论存在
3使用get_comment_pages_count()获取分页信息并显示出分页链接
4 调 用 wp_list_comments( array( 'callback' =>' twentyten_comment' ) )实现评论的显示//具体实现方式待查
5最后调用了一个comment_form() ; //待查 too
404.php 404错误页面
定义404错误信息的页面header.php 网页头部文件sidebar.php 网页侧边栏文件footer.php 网页底部文件
这三个php分别对应显示页面的上的三个部分实现方式大致相同可以灵活的进行改变
从Wordpress的主题机制来说这些个模板文件是存在优先级差别的也可以认为是重要性不同。它们的优先级顺序是index.php -> single.php -> page.php -> archive.php -> search.php -> 404.php。这样当不存在后边的页面时 WP会自动调用前面的页面直至调用index.php。比如当程序调用页面页page.php时
如果page.php模板文件不存在那么程序会尝试调用前面的文件single.php。而如果single.php也不存在那么就
会调用最终的index.php来显示页面页。可见index.php属于“垫底儿”的缺省页面它的重要性是最高的。
可能在header中用到函数 对应的sidebar跟footer也差不多
<?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’ ) ; ?>网站的字符编码格式
可能在index.php中用到的函数
<?php the_content() ; ?> 日志内容
<?php if(have_posts() ) : ?>确认是否有日志
<?php while(have_posts() ) : the_post() ; ?>如果有则显示全部日志
<?php endwhi le; ?>结束PHP函数”whi le”
<?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限制留言显示数量。绿色部份则是每条留言的输出样式。
<?phpglobal $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 = ” ANDpost_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= ” <?phpthe_title_attribute() ; ?>” ><?php the_title() ;?><?php comments_number( ‘ ‘ , ’(1) ’ , ' (%) ’ ) ; ?></a></li>
<?phpendwhile;
}
}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= ” <?phpthe_title() ; ?>” ><?php the_title() ; ?></a>
</li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
6.wordpress去评论者链接的评论输出
<?phpglobal $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 = ” ANDpost_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头像的评论输出
<?phpglobal $wpdb;
$sql= “SELECT DISTINCT ID, post_title, post_password, comment_ID, comment_post_ID,comment_author, comment_date_gmt, comment_approved,comment_author_emai l,comment_type,comment_author_url, SUBSTRING(comment_content, 1, 10) AS com_excerptFROM $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= ” ORDERBY 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
vpsdime怎么样?vpsdime是2013年注册的国外VPS主机商,实际上他还有一系列的其他域名站点如Winity.io, Backupsy,Cloudive, Virtora等等,母公司“Nodisto IT”相对来说还是很靠谱了的商家。VPSDime主要提供各种高配低价VPS套餐,其中Linux VPS和存储VPS基于OpenVZ架构,高级VPS基于KVM。VPSDime在上个季度的Low...
无忧云怎么样?无忧云是一家成立于2017年的老牌商家旗下的服务器销售品牌,现由深圳市云上无忧网络科技有限公司运营,是正规持证IDC/ISP/IRCS商家,主要销售国内、中国香港、国外服务器产品,线路有腾讯云国外线路、自营香港CN2线路等,都是中国大陆直连线路,非常适合免备案建站业务需求和各种负载较高的项目,同时国内服务器也有多个BGP以及高防节点,目前商家开启了夏日清凉补贴活动,商家的机器还是非常...
进入6月,各大网络平台都开启了618促销,腾讯云目前也正在开展618云上Go活动,上海/北京/广州/成都/香港/新加坡/硅谷等多个地区云服务器及轻量服务器秒杀,最低年付95元起,参与活动的产品还包括短信包、CDN流量包、MySQL数据库、云存储(标准存储)、直播/点播流量包等等,本轮秒杀活动每天5场,一直持续到7月中旬,感兴趣的朋友可以关注本页。活动页面:https://cloud.tencent...