近期主题修改笔记
1、首页不显示某分类的文章
先看代码(注意去掉<? 和php 之间的空格)
<? php
$cat_id=-123;//the category ID
$limit = get_option(‘posts_per_page’);
$paged = (get_query_var(‘paged’)) ? get_query_var(‘paged’) : 1;
query_posts(‘cat=’ . $cat_id . ‘&showposts=’ . $limit . ‘&paged=’ . $paged);
$wp_query->is_archive = true; $wp_query->is_home = false;
? >
将这段代码放在模板index.php里面的<? php get_header(); ?>后面<? php if (have_posts()) : ? >的前面的位置段,就可以了。首页就不会显示这个分类下的文章。代码中的$cat_id,它的值是-123,表示的是除开123分类的其他所有分类,当然,这个分类id也是可以叠加的,用逗号隔开。
2、DIY个性首页文章
目的:首页输出最新一篇文章的全文或< !–more–>标签之前内容,第二篇以及以后内容输出纯摘要。
打开你的index.php或home.php,找到:
< ?php if(have_posts()) : while(have_posts()) : the_post(); ? >
在这一句的前面加上代码:
< ?php $postcnt= 1; ?>
然后找到
< ?php the_content(); ?>
把它修改为
< ?php if($postcnt== 1) : ?><BR>< ?php the_content(); ?><BR>// 这里还可以放一个广告,效果很好的位置.<BR>< ?php else : ?><BR>< ?php the_excerpt(); ?><BR>< ?php endif; $postcnt++; ? >
3、添加“原生嵌套评论 Ajax 提交”功能
在 header.php 中找到:
〈?php if ( is_singular() ) wp_enqueue_script( ‘comment-reply’ ); ?〉
修改为:
〈?php if ( is_singular() ){ ?>
〈script type=”text/javascript” src=”http://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js”>〈/script>
〈script type=”text/javascript” src=”〈?php bloginfo(‘template_directory’); ?>/comments-ajax.js”>〈/script>
〈?php } ?>
comments-ajax.js 及 comments-ajax.php 放在主题文件夹内。comments-ajax.js 及 comments-ajax.php下载
4、获取指定分类下的标签
有时需要获得某分类下的全部tag
function get_category_tags($args) {
global $wpdb;
$tags = $wpdb->get_results
(”
SELECT DISTINCT terms2.term_id as tag_id, terms2.name as tag_name, null as tag_link
FROM
wp_posts as p1
LEFT JOIN wp_term_relationships as r1 ON p1.ID = r1.object_ID
LEFT JOIN wp_term_taxonomy as t1 ON r1.term_taxonomy_id = t1.term_taxonomy_id
LEFT JOIN wp_terms as terms1 ON t1.term_id = terms1.term_id,wp_posts as p2
LEFT JOIN wp_term_relationships as r2 ON p2.ID = r2.object_ID
LEFT JOIN wp_term_taxonomy as t2 ON r2.term_taxonomy_id = t2.term_taxonomy_id
LEFT JOIN wp_terms as terms2 ON t2.term_id = terms2.term_id
WHERE
t1.taxonomy = ‘category’ AND p1.post_status = ‘publish’ AND terms1.term_id IN (”.$args['categories'].”) AND
t2.taxonomy = ‘post_tag’ AND p2.post_status = ‘publish’
AND p1.ID = p2.ID
ORDER by tag_name
“);
$count = 0;
foreach ($tags as $tag) {
$tags[$count]->tag_link = get_tag_link($tag->tag_id);
$count++;
}
return $tags;
}
在模板中使用这个函数:
$args = array(’categories’ => ‘12,13,14′);
$tags = get_category_tags($args);
5、无插件调用最新文章的例表(20代表要调用的文章数)
< ?php wp_get_archives(‘type=postbypost&limit=20′); ? >
6、按分类显示每个分类的最新文章
代码如下:(其中的1,3,4,5,6,7是你要显示的分类ID号)
<?php $display_categories = array(1,3,4,5,6,7); foreach ($display_categories as $category) { ?>
< div>
< ?php query_posts(“showposts=5&cat=$category”); $wp_query->is_category = false; $wp_query->is_archive = false; $wp_query->is_home = true; ? >
<h3><span><a href=”<?php echo get_category_link($category);?>”>» 查看更多</a></span>< ?php single_cat_title(); ?></h3>
<ul>
< ?php if (have_posts()) : ?>
< ?php while (have_posts()) : the_post(); ?>
<li><a href=”<?php the_permalink() ?>”><?php the_title(); ?></a></li>
< ?php endwhile; ?>
< ?php else : ?><p>此分类暂无内容</p>
< ?php endif; ?>
</ul>
</div>
< ?php } ?>


我用了“1.首页不显示某分类的文章”方法修改,文章显示顺序出现问题。
为什么显示出来的文章变成以最老的文章排在前面了。
请博主解决下!谢谢
这些代码是不是都可以在任何一个主题上面使用呢?
通用,可用在任何一个主题上。