后退 刷新 前进 收藏 顶部 |   知道 黑匣子 富媒体 技术服务

WordPress函数及模板代码

程序猿 WORDPRESS WordPress 函数 模板 wp... (shuke.2016-06-20 12:04)
判断页面函数
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页是否以多页显示

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’); ?> : 博客网页编码
<?php bloginfo(’description’); ?> : 博客描述
<?php wp_title(); ?> : 特定内容页(Post/Page)的标题

模板常用的PHP函数及命令
<?php get_header(); ?> : 调用Header模板
<?php get_sidebar(); ?> : 调用Sidebar模板
<?php get_footer(); ?> : 调用Footer模板
<?php the_content(); ?> : 显示内容(Post/Page)
<?php if(have_posts()) : ?> : 检查是否存在Post/Page
<?php while(have_posts()) : the_post(); ?> : 如果存在Post/Page则予以显示
<?php endwhile; ?> : While 结束
<?php endif; ?> : If 结束
<?php the_time(’字符串’) ?> : 显示时间,时间格式由“字符串”参数决定,具体参考PHP手册
<?php comments_popup_link(); ?> : 正文中的留言链接。如果使用 comments_popup_script() ,则留言会在新窗口中打开,反之,则在当前窗口打开
<?php the_title(); ?> : 内容页(Post/Page)标题
<?php the_permalink() ?> : 内容页(Post/Page) Url
<?php the_category(’, ‘) ?> : 特定内容页(Post/Page)所属Category
<?php the_author(); ?> : 作者
<?php the_ID(); ?> : 特定内容页(Post/Page) ID
<?php edit_post_link(); ?> : 如果用户已登录并具有权限,显示编辑链接
<?php get_links_list(); ?> : 显示Blogroll中的链接
<?php comments_template(); ?> : 调用留言/回复模板
<?php wp_list_pages(); ?> : 显示Page列表
<?php wp_list_categories(); ?> : 显示Categories列表
<?php next_post_link(’ %link ‘); ?> : 下一篇文章链接
<?php previous_post_link(’%link’); ?> : 上一篇文章链接
<?php get_calendar(); ?> : 日历
<?php wp_get_archives() ?> : 显示内容存档
<?php posts_nav_link(); ?> : 导航,显示上一篇/下一篇文章链接
<?php include(TEMPLATEPATH . ‘/文件名’); ?> : 嵌入其他文件,可为定制的模板或其他类型文件

其他函数
<?php _e(’Message’); ?> : 输出相应信息
<?php wp_register(); ?> : 显示注册链接
<?php wp_loginout(); ?> : 显示登录/注销链接
<!–next page–> : 将当前内容分页
<!–more–> : 将当前内容截断,以不在主页/目录页显示全部内容
<?php timer_stop(1); ?> : 网页加载时间(秒)
<?php echo get_num_queries(); ?> : 网页加载查询量
2 楼 shuke[2016-06-20 12:29]
基本页面
首页:index.html
存档页:archive.html
页面:page.html
文章页:single.html
联系页:contact.html
无边栏页:full_width.html
图片:/images/
样式表:style.css
缩略图:screenshot.png

制作-header.php

<title><?php if ( is_home() ) {
bloginfo('name'); echo " - "; bloginfo('description');
} elseif ( is_category() ) {
single_cat_title(); echo " - "; bloginfo('name');
} elseif (is_single() || is_page() ) {
single_post_title();
} elseif (is_search() ) {
echo "搜索结果"; echo " - "; bloginfo('name');
} elseif (is_404() ) {
echo '页面未找到!';
} else {
wp_title('',true);
} ?></title>
<link rel="stylesheet" href="<?php bloginfo('stylesheet_url'); ?>" type="text/css" media="screen" />
href="<?php bloginfo('template_url'); ?>/abc.css    ....
src="<?php bloginfo('template_url'); ?>/images/    ....

<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />  //自动引用通知

<h1><a href="<?php echo get_option('home'); ?>/"><?php bloginfo('name'); ?></a></h1>
<h2><?php bloginfo('description'); ?></h2>

<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有文章" href="<?php echo get_bloginfo('rss2_url'); ?>" />
<link rel="alternate" type="application/rss+xml" title="RSS 2.0 - 所有评论" href="<?php bloginfo('comments_rss2_url'); ?>" />

<?php wp_head(); ?>//有些插件需要在网页头部执行一些类如添加一些js或css的动作,要让这些插件能够正常的工作,也让你的主题有更好的兼容性,你应该添加wp_head()函数。

菜单栏:
<?php wp_list_pages('depth=1&title_li=0&sort_column=menu_order'); ?>
<li <?php if (is_home()) { echo 'class="current"';} ?>><a title="<?php bloginfo('name'); ?>" href="<?php echo get_option('home'); ?>/">主页</a></li>

刷新缓存
<?php flush(); ?>

总结
<?php get_header(); ?> 从当前主题文件夹中包含header.php文件
is_home(),is_single(),is_category()等几个条件判断标签
<?php bloginfo('stylesheet_url'); ?> 输出主题文件夹中style.css文件的路径
<?php bloginfo('pingback_url'); ?> 输出博客pingback网址
<?php bloginfo('template_url'); ?> 输出博客主题目录URL
<?php echo get_option('home'); ?> 输出你的博客首页网址
<?php bloginfo('name'); ?> 输出你的博客名称
<?php bloginfo('description'); ?> 输出博客描述
<?php wp_head(); ?> 用于包含WordPress程序输出头部信息
<?php wp_list_categories(); ?> 用于列出博客分类页
<?php wp_list_pages(); ?> 用于列出博客页面

制作-footer.php
    博客标题<?php bloginfo('name'); ?>
    wp_footer()  主题包含在主框架内


制作-sidebar.php
<?php get_sidebar(); ?> //===WordPress后台 – 外观 – 小工具

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('First_sidebar') ) : ?>
<h4>分类目录</h4>
<ul>
<?php wp_list_categories('depth=1&title_li=&orderby=id&show_count=0&hide_empty=1&child_of=0'); ?>
</ul>
<?php endif; ?>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Second_sidebar') ) : ?>
<h4>最新文章</h4>
<ul>
<?php
$posts = get_posts('numberposts=6&orderby=post_date');
foreach($posts as $post) {
setup_postdata($post);
echo '<li><a href="' . get_permalink() . '">' . get_the_title() . '</a></li>';
}
$post = $posts[0];
?>
</ul>
<?php endif; ?>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Third_sidebar') ) : ?>
<h4>标签云</h4>
<p><?php wp_tag_cloud('smallest=8&largest=22'); ?></p>
<?php endif; ?>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Fourth_sidebar') ) : ?>
<h4>文章存档</h4>
<ul>
<?php wp_get_archives('limit=10'); ?>
</ul>
<?php endif; ?>

制作-index.php
    文章标题 <h3 ><a href="<?php the_permalink(); ?>" rel="bookmark"><?php the_title(); ?></a></h3>
    标签 <?php the_tags('标签:', ', ', ''); ?>
    添加日期 <?php the_time('Y年n月j日') ?>
    评论 <?php comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭'); ?> <?php edit_post_link('编辑', ' &bull; ', ''); ?>
    添加文章内容 : 摘要<?php the_excerpt(); ?> 输出全文<?php the_content('阅读全文...'); ?> // <a href="<?php the_permalink(); ?>" class="button right">阅读全文</a>
    文章循环  <?php if (have_posts()) : while (have_posts()) : the_post(); ?>                     <?php endwhile; ?> //===
        <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
            文章html骨架
        <?php endwhile; ?>
        <?php else : ?>
            <h3 class="title"><a href="#" rel="bookmark">未找到</a></h3>
        <p>没有找到任何文章!</p>
        <?php endif; ?>
    文章分页: <p class="clearfix"><?php previous_posts_link('&lt;&lt; 查看新文章', 0); ?> <span class="float right"><?php next_posts_link('查看旧文章 &gt;&gt;', 0); ?></span></p>
    文章缩略图:<!-- Post Image -->            <img class="thumb" alt="" src="<?php bloginfo('template_url'); ?>/images/610x150.gif" />

制作-single.php[单文章页]
    文章标题<h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
    文章标签 <?php the_tags('标签:', ', ', ''); ?>
    日期 <?php the_time('Y年n月j日') ?>
    评论数 <?php comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭'); ?>
    编辑按钮 <?php comments_popup_link('0 条评论', '1 条评论', '% 条评论', '', '评论已关闭'); ?><?php edit_post_link('编辑', ' &bull; ', ''); ?>
    文章内容 <?php the_content(); ?>
    返回博客首页和发表评论按钮 <a href="<?php echo get_option('home'); ?>"  >&lt;&lt; 返回首页</a>
                                            <a href="#commentform" class="button float right" >发表评论</a>
         <?php if (have_posts()) : the_post(); update_post_caches($posts); ?>
        <?php the_content(); ?>
        <?php else : ?><div class="errorbox">没有文章!</div>
        <?php endif; ?>

制作comments.php [评论模块]
    <?php comments_template(); ?>
    不让恶意用户直接打开评论文件,请在comments.php头部添加以下代码:
    <?php
    if (isset($_SERVER['SCRIPT_FILENAME']) && 'comments.php' == basename($_SERVER['SCRIPT_FILENAME']))
        die ('Please do not load this page directly. Thanks!');
    ?>
    [评论模块]:
 <?php
    if (!empty($post->post_password) && $_COOKIE['wp-postpass_' . COOKIEHASH] != $post->post_password) {
        // if there's a password
        // and it doesn't match the cookie
    ?>
    <li class="decmt-box">
        <p><a href="#addcomment">请输入密码再查看评论内容.</a></p>
    </li>
    <?php
        } else if ( !comments_open() ) {
    ?>
    <li class="decmt-box">
        <p><a href="#addcomment">评论功能已经关闭!</a></p>
    </li>
    <?php
        } else if ( !have_comments() ) {
    ?>
    <li class="decmt-box">
        <p><a href="#addcomment">还没有任何评论,你来说两句吧</a></p>
    </li>
    <?php
        } else {
            wp_list_comments('type=comment&callback=aurelius_comment');
        }
    ?>
    以下代码所用到的WordPress函数及相应的说明:
    get_avatar($comment, 48)    获取评论者的gravatar头像,尺寸为48 * 48
    comment_reply_link()    回复留言的链接
    get_comment_author_link    用于获取评论者博客地址
    get_comment_time    获取评论发布时间
    edit_comment_link    管理员修改评论的链接
    comment_text()    输出评论内容   <?php if ( !comments_open() ) :
// If registration required and not logged in.
elseif ( get_option('comment_registration') && !is_user_logged_in() ) :
?>
<p>你必须 <a href="<?php echo wp_login_url( get_permalink() ); ?>">登录</a> 才能发表评论.</p>
<?php else : ?>
<!-- Comment Form -->
<form id="commentform" name="commentform" action="<?php echo get_option('siteurl'); ?>/wp-comments-post.php" method="post">
<h3>发表评论</h3>
<div class="hr dotted clearfix"> </div>
<ul>
<?php if ( !is_user_logged_in() ) : ?>
<li class="clearfix">
<label for="name">昵称</label>
<input type="text" name="author" id="author" value="<?php echo $comment_author; ?>" size="23" tabindex="1" />
</li>
<li class="clearfix">
<label for="email">电子邮件</label>
<input type="text" name="email" id="email" value="<?php echo $comment_author_email; ?>" size="23" tabindex="2" />
</li>
<li class="clearfix">
<label for="email">网址(选填)</label>
<input type="text" name="url" id="url" value="<?php echo $comment_author_url; ?>" size="23" tabindex="3" />
</li>
<?php else : ?>
<li class="clearfix">您已登录:<a href="<?php echo get_option('siteurl'); ?>/wp-admin/profile.php"><?php echo $user_identity; ?></a>. <a href="<?php echo wp_logout_url(get_permalink()); ?>" title="退出登录">退出 »</a></li>
<?php endif; ?>
<li class="clearfix">
<label for="message">评论内容</label>
<textarea id="message comment" name="comment" tabindex="4" rows="3" cols="40"></textarea>
</li>
<li class="clearfix">
<!-- Add Comment Button -->
<a href="javascript:void(0);" onClick="Javascript:document.forms['commentform'].submit()" class="button medium black right">发表评论</a> </li>
</ul>
<?php comment_id_fields(); ?>
<?php do_action('comment_form', $post->ID); ?>
</form>
<?php endif; ?>
            函数名称    函数功能
            is_user_logged_in    判断用户是否登录
            wp_login_url    博客登录地址
            get_comment_author_link    用于获取评论者博客地址
            $comment_author    读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写用户名
            $comment_author_email    读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写Email
            $comment_author_url    读取cookie,如果该用户之前已经发表过评论则自动帮助用户填写博客地址
            do_action(‘comment_form’, $post->ID);     该函数为某些插件预留
            wp_logout_url    退出登录的链接

制作page.php
    标题 <?php the_title(); ?>
    内容 <?php the_content(); ?>
    评论框  <?php comments_template(); ?>
    查询语句  <?php if (have_posts()) : the_post(); update_post_caches($posts); ?>

制作无边栏页面full_width.php
        <?php
        /*
        Template Name: Page without sidebar
        */
        ?>
3 楼 shuke[2016-07-08 15:06]

WordPress分类目录调用函数例子:

<?php wp_list_cats("sort_column=ID&hide_empty=0&optioncount=1");?>

该函数表示:分类目录按ID排列,不显示没有文章的分类,显示分类目录下的文章数量


wp_list_cats函数参数如下:


sort_column

默认值为ID,可选ID 或 name,分别表示按 ID 值或分类名称排序

sort_order

默认值为asc,可选asc 或 desc,分别表示排序递增或递减

list

默认值为1,可选 0 或 1,设定是否按序显示,将会在分类上加上<ul> <li>标签

optiondates

默认值为0,可选 0 或 1,设定是否显示每个分类下最新发表文章的发表日期

optioncount

默认值为0,可选 0 或 1,设定是否显示分类下的文章数

hide_empty

默认值为1,可选 0 或 1,设定是否隐藏无文章的分类目录

use_desc_for_title

默认值为1,可选 0 或 1,设定分类链接的title是否显示为分类说明,如<a title=”分类说明” href=”…>

children

默认值为1,可选 0 或 1,设定是否显示子分类

hierarchical

默认值为1,可选 0 或 1,设定子分类是否以层级方式显示

child_of

无默认值,设定只显示某项分类(ID)的子分类,child_of=分类ID值,有设定此项目的话,hide_empty要设为0

exclude

无默认值,设定不要显示的分类ID,可设置多个分类,如 exclude=ID1,ID2,ID3,…..

feed

无默认值,设定分类 RSS 的显示文字,如 feed=RSS,如果这个项目有设定的话,分类之後将会显示分类Feed的链接

feed_image

无默认值,设定分类 RSS 的图片路径,如 feed=images/rss.gif,如果同时有设定 feed_image 与 feed,则将以 feed_image 为主

提醒:通常0是表示‘否定’,1是表示‘肯定’。

4 楼 shuke[2016-07-21 10:23]
wordpress调用当前分类栏目名称代码
分类名称与链接
<?php the_category(); ?>
分类页面调用当前分类名称
<?php single_cat_title(); ?>
文章页调用当前文章所属分类名称
<?php
foreach((get_the_category()) as $category)
{echo $category->cat_name;}
?>
<?php
$category = get_the_category();
echo $category[0]->cat_name;
?>
<?php
 $thiscat 
= get_category($cat); echo 
$thiscat ->name;
?>
调用分类名称别名
if(is_category()) {
$cat = get_query_var('cat');
$yourcat = get_category($cat);
echo "该分类别名为" . $yourcat->slug;
}


进度:100% 返回程序猿

解决织梦图集中上传图片时跳出302错误

图片新热点

导航


目录


    站内搜索
    首页 | W3C | ME