money's blog

wordpress页面如何调用分类特定文章

栏目:简单代码      10 views      尚无回复

昨天给Goeshare换主题的时候,遇到了很多问题,最难缠的是首页内容显示的问题。因为原来的那个主题首页的左侧显示了太多的文章,而且不是最新发布,中间的栏目显示的却是跟左边页面的一样。我不停地抱怨这个主题的作者,为什么不搞好一点呢?没办法,自己要硬着头皮去改一下了。

在没有多少php技术的情况下我唯有的办法就是自己不断尝试和依靠网上的资源,还有就是咨询身边懂技术的朋友。首先是解决左边文章不是显示最新发布的文章而且显示的文章数目太多的问题,我是这样改的:

首先找到home.php文件,把class标签下的以下代码修改,源代码是这样

<div class="featured">
                <?php $recent = new WP_Query("cat=1&showposts=10"); while($recent->have_posts()) : $recent->the_post();?>
                <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                <?php the_content(__(’Read the story &raquo;’));?><div style="clear:both;"></div>
                <?php endwhile; ?>
            </div>
           

经过我的不断尝试,还有那么一点的C语言的基础,发现原来

("cat=1&showposts=10");

是这里出问题,cat=1应该改为cat=0,就可以显示最新文章,而showposts顾名思义是显示的文章,改为3,就显示3篇文章,完成后的代码是这样子:

<div class="featured">
                <?php $recent = new WP_Query("cat=0&showposts=3"); while($recent->have_posts()) : $recent->the_post();?>
                <h2><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></h2>
                <?php the_content(__(’Read the story &raquo;’));?><div style="clear:both;"></div>
                <?php endwhile; ?>
            </div>

第一个问题就解决了,接下来是解决第二个问题,如题所示,如何调用分类的文章到首页呢?这个是我经过网上资源的帮助和朋友的提示,最终完成,我是这样修改的,首先找到homepageright的ID,然后找到其下属的class为thumb的属性,修改正式开始:

原来的代码:

<div class="thumb">
            <h2>Featured Category #1</h2>
           
                <?php $recent = new WP_Query("cat=1&showposts=3"); while($recent->have_posts()) : $recent->the_post();?>
                <?php if( get_post_meta($post->ID, "Thumbnail", true) ): ?>
                    <img style="float:left;margin:0px 5px 10px 0px;" src="<?php echo get_post_meta($post->ID, "Thumbnail", true); ?>" alt="alt text" />
                <?php else: ?>
                    <img style="float:left;margin:0px 5px 10px 0px;"  src="<?php bloginfo(’template_url’); ?>/images/thumbnail.jpg" alt="Default Thumbnail" />
                <?php endif; ?>               
                <b><a href="<?php the_permalink() ?>" rel="bookmark"><?php the_title(); ?></a></b>
                <?php the_content_limit(100, ""); ?>
               
                <div style="border-bottom:1px dotted #C0C0C0; margin-bottom:10px; padding:0px 0px 10px 0px; clear:both;"></div>
               
                <?php endwhile; ?>
               
            </div>

这段代码我有一部分还看得懂,所以我会发现这里所显示的内容是显示cat=1的内容,跟原来左边页面的显示一样,是原来的左边,就是我修改左边代码前的的内容。都是显示昨天的文章,所以要改,要改为显示分类的文章,这段的代码在网上找到的,但是后来自己试用的时候发现不成功,经过咨询朋友,他说是网上那段代码符号出错,把 英文的引号打成是中文的引号,这个细节是很重要,要细心点,修改后的代码是这样:

<div class="thumb">
            <h2>Tech display</h2>
<?php $posts = get_posts( "category=13&numberposts=2" ); ?>
<?php if( $posts ) : ?>
<ul><?php foreach( $posts as $post ) : setup_postdata( $post ); ?>      
    <li>
        <a href="<?php the_permalink() ?>" rel="bookmark" title="<?php the_title(); ?>"><?php the_title(); ?></a>
        <?php the_content_limit(130, ""); ?>
        <div style="border-bottom:1px dotted #C0C0C0; margin-bottom:10px; padding:0px 0px 10px 0px; clear:both;"></div>       
    </li>
    <?php endforeach; ?>
</ul>
<?php endif; ?>
               
            </div>

因为没要原来主题中的那些小图片,所以就这样。还有就是说明一下, "category=13&numberposts=2" )这个括号里面的代码是重点关注,category=13说明id=13的分类,至于分类的ID如何查看,很容易,就直接看该分类的地址,比如goeshare的tech display的地址是:http://www.goeshare.com/?cat=13,所以tech display的ID就是13,至于numberposts,顾名思义就是显示的文章


标签:

转载注明:转自money's blog

本站遵循:署名-非商业性使用-禁止演绎 3.0 共享协议

收藏分享: QQ书签 / 百度收藏 / Google书签 / 收藏到鲜果 / Digg / Del.icio.us



发表回复


XHTML: 您可以使用如下代码:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>