wordpress技巧-文章底部添加同分类的最新文章两个方法

摘要

今天在修改自己小博客的主题的时候,突然想到增加这个功能,于是顺便自己写个这样的教程吧!【PS:貌似这种教程别处也有哈!】…

今天在修改自己小博客的主题的时候,突然想到增加这个功能,于是顺便自己写个这样的教程吧!【PS:貌似这种教程别处也有哈!】

先说第一个方法,就是两段代码的方法,比较普通!如下:

首先,在当前主题的文章模板,也就是 single.php

找个适当的位置,添加以下代码【用谷歌浏览器查看元素定位要加哪个DIV后面,就加后面】

<h4>您可能还会对这些文章感兴趣!</h4>
<ol>
<?php
$post_num = 5;  //这里的5代表同分类下最新的五篇文章啦!
global $post;
$tmp_post = $post;
$tags = ''; $i = 0;
if ( get_the_tags( $post->ID ) ) {
foreach ( get_the_tags( $post->ID ) as $tag ) $tags .= $tag->name . ',';
$tags = strtr(rtrim($tags, ','), ' ', '-');
$myposts = get_posts('numberposts='.$post_num.'&tag='.$tags.'&exclude='.$post->ID);
foreach($myposts as $post) {
setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>"><?php echo cut_str($post->post_title,54); ?></a></li>
<?php
$i += 1;
}
}
if ( $i < $post_num ) {
$post = $tmp_post; setup_postdata($post);
$cats = ''; $post_num -= $i;
foreach ( get_the_category( $post->ID ) as $cat ) $cats .= $cat->cat_ID . ',';
$cats = strtr(rtrim($cats, ','), ' ', '-');
$myposts = get_posts('numberposts='.$post_num.'&category='.$cats.'&exclude='.$post->ID);
foreach($myposts as $post) {
setup_postdata($post);
?>
<li><a href="<?php the_permalink(); ?>"><?php echo cut_str($post->post_title,54); ?></a></li>
<?php
}
}
$post = $tmp_post; setup_postdata($post);
?>
</ol>

然后,我们在函数模板,也就是functions.php,在函数中添加以下函数,反正那里有很多函数,都是有//注释文字开头的,看看是不是函数的地方,然后在那个函数上面或者那个函数和下一个函数之间添加,这个,要自己掌握的,以前我也不懂,添加如下函数:

//标题文字截断
function cut_str($src_str,$cut_length)
{
$return_str='';
$i=0;
$n=0;
$str_length=strlen($src_str);
while (($n<$cut_length) && ($i<=$str_length))
{
$tmp_str=substr($src_str,$i,1);
$ascnum=ord($tmp_str);
if ($ascnum>=224)
{
$return_str=$return_str.substr($src_str,$i,3);
$i=$i+3;
$n=$n+2;
}
elseif ($ascnum>=192)
{
$return_str=$return_str.substr($src_str,$i,2);
$i=$i+2;
$n=$n+2;
}
elseif ($ascnum>=65 && $ascnum<=90)
{
$return_str=$return_str.substr($src_str,$i,1);
$i=$i+1;
$n=$n+2;
}
else
{
$return_str=$return_str.substr($src_str,$i,1);
$i=$i+1;
$n=$n+1;
}
}
if ($i<$str_length)
{
$return_str = $return_str . '';
}
if (get_post_status() == 'private')
{
$return_str = $return_str . '(private)';
}
return $return_str;
}

然后保存这两个文件并且覆盖源文件即可,记得用编辑器,不要用记事本哈!如果用记事本就用UTF8另存为的方法!也可以在后台编辑啦!

上面说的是简单样式的,还有一种和上面差不多,只不过可定义样式,下面我提供两个PHP文件,这两个文件从知更鸟的主题提取的,本来有三个,我删了一个,并删了一段代码,不需要嘛,大家觉得需要的自己去鸟哥主题提取就是!

然后方法和上面差不多,先添加模板函数,就是//标题文字截断 下面那段代码!然后在文章模板函数添加下面一段代码!一样是用谷歌定位下位置放置!

<?php if (get_option('swt_related') == 'Hide') { ?>
<?php { echo ''; } ?>
<?php } else { include(TEMPLATEPATH . '/includes/related_a.php'); } ?>

大家看到这段代码有个绿色的一个路径下的文件,代表调用这个文件【其实我也不懂代码啊,我照搬运的!】,然后把附件里面的includes下面的文件扔进去当前使用主题的includes文件夹里面

然后,打开查看这两个文件的div,自己添加样式即可!注意这两个文件如果主题有同名文件的话,自己进行修改文件名,并且修改相应文件代码里的文件名!

两个文件,懂代码的人自己看着修改,其中related.php里面的代码和上面第一个代码一样的,自己修改下数字!

PS:PHP新手写的教程。老鸟自觉灰过吧!不要吐槽哈!哈哈!

PS:以上代码参考自知更鸟主题!

下载地址:115网盘下载

您可以选择一种方式赞助本站

支付宝扫一扫赞助

微信钱包扫描赞助

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

图片 表情