视觉系统厂家:Wordpress 常用代码、方法_建站空间/网站建设/虚拟主机/wordpress

来源:百度文库 编辑:九乡新闻网 时间:2024/05/01 23:23:08
【转】 Wordpress 常用代码、方法2011-04-01 14:10转载自 anziv最终编辑 anziv  

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.'
    ';

    }

    ?>