【问题标题】:splitting same category post for different styling - wordpress将相同类别的帖子拆分为不同的样式 - wordpress
【发布时间】:2012-07-13 05:56:41
【问题描述】:

目前我正在为我的客户制作自定义主题,但我不是这方面的专家。我的问题是如何为同一类别的帖子制作不同的风格。目前在我的主题中

为第一篇文章开始新查询

<?php query_posts('showposts=1&cat=videos&offset=0'); if (have_posts()) : ?><?php      while (have_posts()) : the_post(); ?>
<div class="first-news">
<h2><a href="<?php the_permalink() ?><?php the_title(); ?></a></h2>
<?php if( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('video-thumb');?</a><?php} ?> 
<?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,8); ?>
</div>
<?php endwhile; else: endif; ?> 

然后再次使用另一个 div 和样式对剩余 4 个帖子开始相同的查询

<?php query_posts('showposts=4&cat=videos&offset=1'); if (have_posts()) : ?><?php while (have_posts()) : the_post(); ?>
<div class="second-news">
<h3><a href="<?php the_permalink() ?><?php the_title(); ?></a></h3>
<?php if( has_post_thumbnail() ) { ?>
<a href="<?php the_permalink(); ?>"><?php the_post_thumbnail('news-thumb'); ?></a><?php } ?> 
<?php $excerpt = get_the_excerpt(); echo string_limit_words($excerpt,8); ?>
</div>
<?php endwhile; else: endif; ?> 

这工作完美,这是正确的吗?我认为可能有一个很好的解决方案,它只查询一次帖子并从同一类别中获取所需数量的不同风格的帖子。 我想要的是下图。

【问题讨论】:

    标签: wordpress post styles categories


    【解决方案1】:

    您应该使用 wordpress 中的category template

    在加载您的页面之前,wordpress 会查找是否存在特定模板,例如来自上面链接的页面。

       1. category-slug.php
       2. category-ID.php
       3. category.php
       4. archive.php
       5. index.php 
    

    【讨论】:

    • 我知道类别模板,我已经在我的主题上使用它,我认为这与我的问题无关。我应该有更具体的。抱歉误解了我的问题
    【解决方案2】:

    为了在 WordPress 3.1+ 中激活“帖子格式”,您需要打开主题的 functions.php 文件并粘贴以下代码:

    add_theme_support( 'post-formats', array( 'aside', 'gallery' ) );
    

    注意:除此之外,图库并不是唯一可用的帖子格式。可用的帖子格式列表如下:

    aside – 典型风格的博客格式。

    chat – 聊天记录。

    gallery – 图片库。

    link – 指向另一个站点的链接。

    图像 - 单个图像。

    quote - 引用。

    status – 简短的状态更新,通常限制为 140 个字符。类似于 Twitter 状态更新。

    视频 - 单个视频。

    有关帖子格式的完整列表,请参阅 WordPress Codex。 添加此代码后,您将在您看到发布的右侧列中的帖子写入面板中看到一个新字段。

    在撰写帖子后,您可以更改格式并点击发布。这将允许您以预先设置的格式显示您的帖子。

    编辑您的帖子循环。

    假设在您的情况下,视频类别的帖子格式为视频

    我们将使用条件标签:has_post_format()

    if ( has_post_format( 'video' ) {
    
      // Blog Category format
    
    } 
    else 
    {
    
       // Normal Formate
    
    }
    

    我希望这会对你有所帮助。 More Info...

    【讨论】:

    • 阿杰是我想要的吗?我只想用不同的风格来设计相同类别的帖子。例如:视频类别的第一个帖子显示“这种风格”,接下来的四个帖子“那个风格”。我认为这是一个简单的问题。我只是想知道有什么好的解决方案而不是两次调用同一类别,例如:像 .样式可以通过css完成
    • @Kanu 这是正确的解决方案,按类别名称或 id 格式化帖子就像 hack,通过使用此方法为您想要的类别选择帖子格式并格式化。
    • 感谢 Ajay,但我完全糊涂了。你能为上面的代码做一个例子吗?如果我使用在我的问题中指定的相同代码(并且它对我来说非常有用),它会在 mysql / 服务器上增加额外的负载吗?该网站包含超过 25 个类别,数十个子类别并获得了不错的流量。这让我很困扰。
    • 还有其他人来帮助我吗?看看我关于我的问题的代码,这样使用可以吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-25
    • 1970-01-01
    • 2011-07-29
    相关资源
    最近更新 更多