分类
其他

WordPress 显示同分类下的上一篇、下一篇链接方法

一直有使用上下篇的链接,一直都发现默认是把全分类文章按发表的时间先后来确定链接,就是一直没有把这个修改成想要的统一分类下的文章链接,今天终于把它修改好了。

要想很好的理解这一原理,先来学习一下Wordpress的上一篇、下一篇的函数格式:

<?php previous_post_link($format, $link, $in_same_cat = false, $excluded_categories = ''); ?>
<?php next_post_link($format, $in_same_cat = false, $excluded_categories = ''); ?>
分类
日志

制作固定定位的导航栏

固定的边栏或者导航栏貌似现在很流行,特别是边栏的广告位,老是跟着你走。这几天大修了一下主题,把顶部缩到只剩导航栏的位置,固定不动,考虑到边栏内容太小,于是边栏一起修改了,比导航栏稍微复杂一点。

效果:导航栏和边栏固定,不随页面滚动。CSS关键代码:

#header{
     width:825px;     //宽度需要确定
     position:fixed;     //固定定位
     z-index:999;     //解决某些情况下固定定位的内容被其他内容遮盖,值越大,表示放的位置越“上”
}

#sidebar{
     width:162px;
     position:fixed;
     margin-right:-411px;     //配合下一条right:50%,使边栏定位在页面之内,值应为网页主题宽度的一半
     right:50%
}
分类
其他

隐藏 WordPress 首页文章的图片

因为有时候心情不愉快,可能想要隐藏 WordPress 首页文章的图片,那么怎样隐藏呢?原理很简单,在加载 WordPress 的 $content 之前使用 php 的正则表达式 preg_replace(); 将图片的 html 代码过滤掉,完毕。

代码:

<?php
     add_filter('the_content','wpi_image_content_filter',11);
     function wpi_image_content_filter($content){
          if (is_home() || is_front_page()){
               $content = preg_replace("/<img[^>]+>/i", "", $content);
          }
          return $content;
     }
?>

说明:

首先判断是否首页(可以自定义,例如分类页),如果是则将 $content; 中的 img 代码过滤掉,最后再返回 $content;,从而起到在首页过滤图片的效果。

使用方法:
将上面的代码放在主题文件的functions.php文件中正确的位置即可。

分类
其他

配合使用 Cookie 控制边栏的显示隐藏

发现很多博客都添加了边栏的显示隐藏功能,但是没有保存状态,只要一切换页面边栏又出来的,隐藏功能变得耍帅多于实用。为此我查找了一下 jQuery 的 Cookie 操作教程,使边栏隐藏状态保存到 Cookie ,切换页面照样隐藏,效果就像小博这样。

本来我使用的 jQuery 代码是五木好同志的“完美终结版”,但是使用 cookie 后会出现第一次点击无效的情况,估计是因为他使用的是 toggle 方法,toggle 就是模拟鼠标的连续单击事件,在两种状态下切换,隐藏边栏是第一状态,如果你本来就隐藏了边栏,第一次点击时还是切换到第一状态,其实状态没有改变,出现无效点击的错觉。

分类
日志

用代码打造完美的“当前位置”

之前介绍了两个显示当前位置的方式,其实就是两个不同的函数 get_the_category() 和 the_category() ,折腾出真知,单独使用两个函数都不尽人意:单独使用 get_the_category() ,如果文章属于两个分类,则文章页面只显示一个分类;单独使用 the_category() ,当某两个分类被同一篇文章“属于了”(能明白吧),那么在其中一个分类页面中同时显示两个分类,神奇。

不过不用害怕,两者结合就能完美了,精简了下,只在分类和文章页面显示,代码如下,按需修改~

<div class="localtion">
	<?php if  ( is_category() ) { ?>
		<p class="local">
		你的位置: <a href="http://ygs.im/" title="HOME">HOME</a> >> <?php $categorys = get_the_category(); $category = $categorys[0];echo(get_category_parents($category->term_id,true,' >>')); ?> 文章列表
		</p>
	<?php } ?>
	<?php if  ( is_single() ) { ?>
		<p class="local">
		你的位置: <a href="http://ygs.im/" title="HOME">HOME</a> >> <?php the_category(' & '); ?> >> <?php the_title(); ?>
		</p>
	<?php } ?>
</div>

附上以前的介绍:
在WordPress文章页显示当前位置
另一个显示WordPress当前位置的方法

分类
日志

WordPress 调用最新评论

你的模板没有评论栏目?可以使用边栏小工具添加,但是使用了边栏工具对于不同页面显示不同栏目不好控制,所以我并没有使用,又所以使用了自己添加代码的方法,代码如下:

<?php
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 = '' AND user_id != '1'
ORDER BY comment_date_gmt DESC
LIMIT 10";
$comments = $wpdb->get_results($sql);
$output = $pre_html;

foreach ($comments as $comment) {
$output .= "n<li>".strip_tags($comment->comment_author)
.":" . " <a href="" . get_permalink($comment->ID) .
"#comment-" . $comment->comment_ID . "" title="" .
$comment->post_title . "">" . strip_tags($comment->com_excerpt)
."</a></li>";
}
$output .= $post_HTML;
echo $output;
?>

其中 user_id != ‘1’ 的功能为隐藏管理员(ID=1)的评论。

分类
日志

另一个显示 WordPress 当前位置的方法

很多 WordPress 也提供了此功能,如果你的主题没有,不妨自己动手试试。
一段代码搞定。你可以将以下代码拆分放到首页、文章页面、分类页、单独页面。

请查看此篇日志 http://ygs.im/1225.html