自定义WordPress的相关文章函数(related_posts)

今天闲来无事,看到blog的文章内容页面有点单调,
决定写一个获取当前文章相关文章的模块,
看了WordPress文档,没有现成的函数,
看来只有自己写了。

思路:
思路比较简单,就是获取当前文章的所在分类的随机文章

下面直接看代码

下面的源文章是对应所用的主题文件,不同主题有差异

funcitons.php
在公用函数的源文件加上一个自定义related_posts函数

< ?php 
// related posts
function related_posts(){
	global $post;
	$categories = get_the_category($post->ID);
	$cat_id = $categories[0]->term_id;
	$args = array( 'numberposts' => 10, 'offset'=> 1, 'orderby'=>'rand',  'category' => $cat_id );
	$myposts = get_posts( $args );
 
	$related_posts = '<div id="related-posts"><h4>Related Posts</h4><ul>';
	foreach( $myposts as $post ) {
		$related_posts .= '<li><a href="'.get_permalink($post->ID).'" title="'.$post->post_title.'">'.$post->post_title.'</a></li>';
	}
	$related_posts .= '</ul>';
	wp_reset_query(); 
	echo $related_posts;
}
 
?>
</div>

继续阅读

Drupal安装中文语言包

安装Drupal的过程很简单,就此省略
要安装中文包,你首先中文语言包。
可以在这里下载中文语言包

操作步骤:

  1. 登录Drupal后台
  2. Administer -> Site building -> Modules, 选择Content translation, 然后保存
  3. Administer -> Site building -> Translate interface -> Import 然后在Language file选择你刚下载的中文语言包,在Import into: 选择Chinese,Simplified(简体中文) 然后点击Import按钮
  4. Administer -> Site building -> Languages 在中文那一项选择 default 保存

最后就大功告成了,^_^

PS:上面提供的是6.22的语言包,语言包要对应你所安装的Drupal版本

继续阅读

WordPress通用主题下index.php文件中常用函数解释

wordpress通用主题下index.php文件中常用函数解释
下面通一个最简单的代码来说明:

<body>
<div id="header">
    <h1><a href="<?php bloginfo('url'); ?>"><?php bloginfo('name'); ?></a></h1>
    <?php bloginfo('description'); ?>
    <!--上面三个函数分别是取出BLOG的链接地址,名称,描述,要了解更多bloginfo()的参数,请看本站的“WordPress的bloginfo(), get_bloginfo()函数详解”-->
</div>
 
<div id="container">
    <?php if(have_posts()): ?><?php while(have_posts()): the_post(); ?>
    <!--have_posts()判断是否存在日志,the_post()用来显示具体日志的函数,只有在存在日志的前提下才会执行-->
        <div class="post">
            <h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
            <!--the_permalink()为具体一篇日志的链接地址,the_title()为日志的标题-->
            <div class="entry">
                <?php the_content(); ?>
                <!--the_content()为日志的内容-->
                <p class="postmetadata">
                    <?php _e("Filed under:"); ?>  
                    <?php the_category(',') ?> &#8212; 
                    <!--the_category()为日志分类,参数为多个分类的分隔符号-->
                    <?php the_tags(__('Tags: '), ', ', ' &#8212; '); ?> 
                    <!--the_tags()为日志的标签-->
                    <?php the_author() ?> @ <?php the_time() ?>  
                    <!--the_auhor()日志作者,the_time()日志发表时间-->
                    <?php edit_post_link(__('Edit This')); ?>
                    <!--edit_post_link()为日志的编辑链接,只有是管理员或作者的身份才会显示出来-->
                    <?php comments_popup_link(__('Comments (0)'), __('Comments (1)'), __('Comments (%)')); ?>
                    <!--comments_popup_link()为日志的评论-->
                </p>
            </div>
        </div>
    <?php endwhile; ?>
    <?php endif; ?>
</body>

PHP的stdClass使用

今天玩WordPress的时候,里面有一个$wpdb对象直接操作数据函数

< ?php
$myrows = $wpdb->results("SELECT * FROM `wp_users`");
//本来想取出`user_pass`的值的时候,发觉怎么也搞不出来
//然后var_dump一下的时候,发觉:
var_dump($myrows);
/*
array(1) { [0]=> object(stdClass)#3334 (10) { ["ID"]=> string(1) "1" ["user_login"]=> string(5) "admin" ["user_pass"]=> string(34) "$P$BPzv2YwVVhadSL4UarlSqoyna8ju3B." ["user_nicename"]=> string(5) "admin" ["user_email"]=> string(16) "cjinle@gmail.com" ["user_url"]=> string(0) "" ["user_registered"]=> string(19) "2010-05-31 06:57:58" ["user_activation_key"]=> string(0) "" ["user_status"]=> string(1) "0" ["display_name"]=> string(5) "admin" } }
我晕,原来是二维数组,其中第一个还是对象stdClass
stdClass是什么东东呀?手册完全没有,GOOGLE了一下,发觉要这样才能取值出来:
*/
$myrows[0]->user_pass;
 
?>

继续阅读