主页 > 编程资料 > WordPress >
发布时间:2015-09-26 作者:网络 阅读:179次

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代码

注: 也就是位于和之间的PHP代码


复制代码代码如下:
网站标题
日志或页面标题
WordPress主题样式表文件style.css的相对地址
WordPress博客的Pingback地址
WordPress主题文件的相对地址
博客的Wordpress版本
WordPress博客的Atom地址
WordPress博客的RSS2地址
WordPress博客的绝对地址
WordPress博客的名称
网站的HTML版本
网站的字符编码格式

WordPress 主体模板 PHP代码


复制代码代码如下:
日志内容
确认是否有日志
如果有,则显示全部日志
结束PHP函数”while”
结束PHP函数”if”
header.php文件的内容
sidebar.php文件的内容
footer.php文件的内容
显示格式为”02-19-08″的日期
显示一篇日志的留言链接
显示一篇日志或页面的标题
显示一篇日志或页面的永久链接/URL地址
显示一篇日志或页面的所属分类
显示一篇日志或页面的作者
显示一篇日志或页面的ID
显示一篇日志或页面的编辑链接
显示Blogroll中的链接
comments.php文件的内容
显示一份博客的页面列表
显示一份博客的分类列表
下一篇日志的URL地址
上一篇日志的URL地址
调用日历
显示一份博客的日期存档列表
显示较新日志链接(上一页)和较旧日志链接(下一页)
显示博客的描述信息

其它的一些Wordpress模板代码


复制代码代码如下:
/%postname%/ 显示博客的自定义永久链接
搜索表单的值
打印输出信息
显示注册链接
显示登入/登出链接
在日志或页面中插入分页
截断日志
显示管理员的相关控制信息
显示载入页面的时间
显示载入页面查询

1. wordpress调用最新文章 Wordpress最新文章的调用可以使用一行很简单的模板标签wp_get_archvies来实现. 代码如下:


复制代码代码如下:

(显示10篇最新更新文章) 或者


后面这个代码显示你博客中最新的20篇文章,其中format=custom这里主要用来自定义这份文章列表的显示样式。具体的参数和使用方法你可 以参考官方的使用说明- wp_get_archvies。(fromat=custom也可以不要,默认以UL列表显示文章标题。)

补充: 通过WP的query_posts()函数也能调用最新文章列表, 虽然代码会比较多一点,但可以更好的控制Loop的显示,比如你可以设置是否显示摘要。具体的使用方法也可以查看官方的说明。

2. wordpress调用随机文章


复制代码代码如下:
$rand_posts = get_posts('numberposts=10&orderby=rand');
foreach( $rand_posts as $post ) :
?>



  • 3. wordpress调用最新留言 下面是我之前在一个Wordpress主题中代到的最新留言代码,具体也记不得是哪个主题了。该代码直接调用数据库显示一份最新留言。其中 LIMIT 10限制留言显示数量。绿色部份则是每条留言的输出样式。


    复制代码代码如下:
    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

  • ".strip_tags($comment->comment_author)
    .":" . " ID) .
    "#comment-" . $comment->comment_ID . "" title="on " .
    $comment->post_title . "">" . strip_tags($comment->com_excerpt)
    ."
  • ";
    } $output .= $post_HTML;
    echo $output;?>

    4.wordpress调用相关文章

    在文章页显示相关文章


    复制代码代码如下:

    $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(); ?>

  • endwhile;

    }

    }

    wp_reset_query();

    ?>

    5.wordpress调用指定分类的文章


    复制代码代码如下:









    6.wordpress去评论者链接的评论输出


    复制代码代码如下:

    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

  • ".strip_tags($comment->comment_author)

    .":" . " ID) .

    "#comment-" . $comment->comment_ID . "\" title=\"on " .

    $comment->post_title . "\">" . strip_tags($comment->com_excerpt)

    ."

  • ";

    }

    $output .= $post_HTML;

    echo $output;?>

    7.wordpress调用含gravatar头像的评论输出


    复制代码代码如下:

    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

  • ".get_avatar(get_comment_author_email('comment_author_email'), 18). " ID) . "#comment-" . $comment->comment_ID . "\" title=\"" . $comment->post_title . " 上的评论\">". strip_tags($comment->comment_author) .": ". strip_tags($comment->com_excerpt) ."
  • ";

    }

    $output .= $post_HTML;

    $output = convert_smilies($output);

    echo $output;

    ?>

    上面代码把comment_author的值改成你的ID,18是头像大小,10是评论数量。

    8.wordpress调用网站统计大全


    复制代码代码如下:
    1、日志总数:

    publish;?>
    2、草稿数目:

    draft; ?>
    3、评论总数:

    get_var("SELECT COUNT(*) FROM $wpdb->comments");?>
    4、成立时间:


    5、标签总数:


    6、页面总数:

    publish; ?>
    7、分类总数:


    8、链接总数:

    get_var("SELECT COUNT(*) FROM $wpdb->links WHERE link_visible = 'Y'"); echo $link; ?>
    9、用户总数:

    get_var("SELECT COUNT(ID) FROM $wpdb->users"); echo $users; ?>
    10、最后更新:

    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来控制某些只能在首页显示的界面,
    例如:


    复制代码代码如下:

    //这里写你想显示的内容,包括函数


    或者:

    //这里写你想显示的内容,包括函数


    10.wordpress非插件同步twitter


    复制代码代码如下:

    require_once (ABSPATH . WPINC . ‘/class-feed.php’);

    $feed = new SimplePie();

    $feed->set_feed_url(‘http://feeds.feedburner.com/agting′);

    $feed->set_file_class(‘WP_SimplePie_File’);

    $feed->set_cache_duration(600);

    $feed->init();

    $feed->handle_content_type();

    $items = $feed->get_items(0,1);

    foreach($items as $item) {

    echo ‘@郑永: ‘.$item->get_description();

    }

    ?>

    代码中的agting改成你的twitter用户名,郑永改成你的名字。 另一种调用方法需要你的空间是国外主机:


    复制代码代码如下:

    // Your twitter username.

    $username = "wange1228";

    // Prefix - some text you want displayed before your latest tweet.

    // (HTML is OK, but be sure to escape quotes with backslashes: for example href=\"link.html\")

    // Suffix - some text you want display after your latest tweet. (Same rules as the prefix.)

    $suffix = "";

    $feed = "http://search.twitter.com/search.atom?q=from:" . $username . "&rpp=1";

    function parse_feed($feed) {

    $stepOne = explode("", $feed);

    $stepTwo = explode("", $stepOne[1]);

    $tweet = $stepTwo[0];

    $tweet = str_replace("<", "<", $tweet);

    $tweet = str_replace(">", ">", $tweet);

    return $tweet;

    }

    $twitterFeed = file_get_contents($feed);

    echo stripslashes($prefix) . parse_feed($twitterFeed) . stripslashes($suffix);

    ?>

    ZeroZ 总结了一下这个方法的特点:

    1、非插件!

    2、不用验证用户名和密码,也就是说你可以指定调用任何一个人的 tweet!

    3、可以自定义 tweet 信息后显示的文字,就是 $suffix = “”; 这里!

    4、只能调用最新的一条 tweet,刚好满足我的需求。

    5、大概只有国外空间才能使用!(经我验证,确实如此)

    11.wordpress 非插件调用评论表情


    复制代码代码如下:

    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 = "\"{$smile}\"";

    $imglink = htmlspecialchars($img);

    $link .= "{$img} ";

    }

    echo ''.$link.'<>';

    }

    ?>